Pong sur le PIC de XGS (8 / 36 étapes)

Étape 8: Constructions de jeu - jeu de logique - Intelligence artificielle (IA)

À ce stade, toute la logique jusqu'à présent peut être transformé en un jeu complet de deux joueurs. Toutefois, il serait bien permettre un mode solo (et être un exercice de programmation intéressant). L’IA n’a pas besoin d’être infaillible mais agir intelligemment suffisamment pour donner au joueur un défi de rester divertissant. Le problème actuel réside dans la définition d’agir intelligemment.

Se référant à la défini précédemment, soit (b,x, b,y) être de la balle emplacement actuel et (p,x, p,y) désigne l’emplacement de la palette du lecteur de l’ordinateur. Le code de détection de collision se chargera du calcul des collisions, mais l’AI doit déplacer la palette de telle manière que la pagaie générera une collision avec le ballon. Par conséquent, inquiéter bx et px serait étrangère. En raison de la simplicité de Pong, il y a peu de cas à analyser.

Supposons py > by. Que cela signifie en réalité en ce qui concerne l’écran de jeu ? Le coin supérieur gauche de la raquette est inférieur à l’angle supérieur gauche de la balle sur l’écran. Le problème suivant est en définissant la stratégie optimale pour le lecteur d’ordinateur. En général, la meilleure stratégie pour le lecteur d’ordinateur est analogue à la stratégie du joueur humain. La meilleure façon de combler la distance verticale entre la bille et la pagaie doit gravir la pagaie, ou décrémenter py.

Logiquement, il y a un cas de gauche à gérer : quand py < = by. Dans l’écran de jeu, cette affaire va se passer si et seulement si l’emplacement de la pagaie est supérieur ou niveau avec l’emplacement de la balle. Ces deux cas pour l’IA l’autre miroir dans non seulement les qualités géométriques, mais aussi leur solution. En tant que joueur, la stratégie optimale dans cette situation consiste à déplacer la raquette vers le bas, ou incrémenter py.

L’algorithme peut maintenant plus intuitivement décrites. En ce qui concerne les coordonnées y de l’emplacement, si la balle est au-dessus de la palette, puis la pagaie se déplace vers le haut. L’inverse est aussi bien. Mais est-ce la stratégie optimale ? Quelque chose de caché se trouve basée sur des définitions arbitraires créées précédemment afin de permettre des algorithmes graphiques faciles. Tous les emplacements ont été définies pour être le coin supérieur gauche de l’objet. Par conséquent, l’algorithme actuel rend la tentative d’aligner à gauche-coins supérieurs de la raquette et la balle. Pas nécessairement une mauvaise stratégie, mais il ne peut pas donner au joueur une apparence d’intelligence.

La logique est bonne, mais les points de comparaison ne sont pas le meilleur choix. N’importe quel joueur humain implicitement essaie de maximiser la quantité de points de collision entre la balle et la raquette. Le meilleur emplacement sur la pagaie pour le ballon d’entrer en collision avec est en fait assez intuitif : le centre. Laissant la quantité maximale d’espace paddle sur les deux côtés d’une balle de collision permet une très bonne tolérance lors de la lecture. Pour ajuster l’algorithme, il suffit de comparer les milieux de la boule et pagaie pour donner l’AI l’apparence d’un joueur plus intelligent. En laissant h être la hauteur de la palette, puis (p,x, p,y + h/2) donne le centre de la raquette. Ce calcul fonctionne de manière similaire pour le bal.

Articles Liés

Comment faire la meilleure Table de Beer Pong sur le campus

Comment faire la meilleure Table de Beer Pong sur le campus

Êtes-vous fatigué de jouer pong bière boiteux pli des tables ?  Ou peut-être fatigué de prendre vos amis porte les gonds, chaque fois que vous voulez jouer ?  Vous êtes-vous déjà demandé comment ils construisent toute la bière fraîche, tables de ping
Nulle part de Beer Pong sur roues

Nulle part de Beer Pong sur roues

nous aimons jouer pong bière alors j'ai créé ma propre version pour prendre n'importe où. Il peut être pris à part et stockées, et c'est sur roues. Le projet nécessite de couture et m'a pris environ 2 heures. Camping cet été va être un souffle lorsqu
Pong sur Arduino esplora !

Pong sur Arduino esplora !

Hey tout le mondeL'Arduino Esplora est un microcontrôleur incroyable utilisant le grand 32u4 Atmega avec intégré usb serial ainsi que de nombreux grands capteurs tels que :-Capteur-Capteur-Accéléromètre 3 axes-Joystick-Slider-RGB LED-BuzzerMaintenant
Comment mettre le texte sur un pic

Comment mettre le texte sur un pic

il s'agit d'un instructables sur comment mettre le texte sur une image. Je vais faire des choses en utilisant ce lapin heureux (très très ennuyeux)alors Amusez-vous.Étape 1: Les choses dont vous aurez besoin Chose que vous aurez besoin:PC ou ordinate
Bob l’éponge sur le mur

Bob l’éponge sur le mur

J'ai voulu une murale spéciale pour notre fille, quand j'ai enlevé un morceau de mousse à la salle d'artisanat, je suis venu avec une idée sympa de verryÉtape 1: mousse de rembourrage j'ai coupé dans la pièce de mousse le corps de Bob l'EpongeÉtape 2
PIC 12F675 programmeur/OscCal restauration/testeur

PIC 12F675 programmeur/OscCal restauration/testeur

Un de mes circuits que je construis assez souvent (20-40 à la fois), utilise un PIC 12F675. J'ai eu les problèmes suivants :Les conseils que je fais, n'a pas les capacités de programmation en circuit. C'est pour permettre une mise en page du Conseil
Ping Pong Gun

Ping Pong Gun

il s'agit d'un très amusant moyen de jouer au paintball sans toute la peinture. Ces armes sont faciles à faire et nécessite peu de matériel.Étape 1: Les matériaux Vous avez besoin :1-1/2 pouces ABS pipe (d'environ 18 pouces de long)-bouteille d'eau d
Amusez-vous avec PIC Assembly - Episode 22

Amusez-vous avec PIC Assembly - Episode 22

Le dicton est que « la nécessité est la mère de l'invention ». En réalité, cependant, il y a beaucoup de « mères » de l'invention. Mon préféré est « paresse » mais parfois trucs obtient inventé juste parce que c'est un plaisir au défi de comprendre u
Comment peindre une pépinière sur le thème de star/nuit-ciel qui durera jusqu’au lycée.

Comment peindre une pépinière sur le thème de star/nuit-ciel qui durera jusqu’au lycée.

Avant j'ai même eu des enfants, j'ai commencé à peindre ma chambre d'hôtes dans un thème de star/nuit-ciel parce que je suis vraiment, vraiment, vraiment noix pour l'espace et toutes les choses liées à la star. Comme la « all-I-ever-wanted-to-be-was-
Comment faire pour s’accrocher à une palette de ping-pong

Comment faire pour s’accrocher à une palette de ping-pong

Ping pong est un sport étonnant qui exige une coordination oculo-manuelle précise et des réflexes. Il faut habileté à frapper la balle et même plus de compétences de frapper la balle sur la table. Compétences de base à connaître sont pouvant servir l
Éponge + méthode de chlorure ferrique--Etch PCB en une Minute !

Éponge + méthode de chlorure ferrique--Etch PCB en une Minute !

Dans ce Instructable, je vais vous montrer Comment etch un circuit avec environ une cuillère à soupe de chlorure ferrique solution de gravure et une éponge carrée de 2 pouces. Vous serez surpris comme le cuivre exposé sur le circuit imprimé disparaît
Clignoter une LED avec langage assembleur & un PIC

Clignoter une LED avec langage assembleur & un PIC

pour énoncer l'évidence aveuglante, il y a beaucoup de saveurs du microcontrôleur dans le monde.  Il y a d'innombrables applications pour eux aussi.  Ce Instructable couvrira les étapes nécessaires à clignoter une LED en utilisant un microcontrôleur
Comprendre l’ICSP pour les microcontrôleurs PIC

Comprendre l’ICSP pour les microcontrôleurs PIC

programmation de microcontrôleurs n'est pas difficile. Construire un programmeur rend un grand premier projet électronique. L'objectif de cette instructable est d'expliquer la méthode simple « in circuit serial programming » utilisée avec PICs de Mic
Starry Night argile polymère plat porte-éponge

Starry Night argile polymère plat porte-éponge

j'étais fatigué de mon porte-éponge en plastique moche.  J'ai lu que l'argile polymère cuite est assez résistant à l'eau, et gens ont fait des scultpures en plein air avec lui.  Je décide donc d'utiliser l'argile polymère pour rendre le porte-éponge.