Bonsoir,
Je vous présente la deuxième partie de la série sur l'intelligence artificielle pour les jeux vidéo : Partie 2 : Perceptions et Pathfinding
Envoyé par Synopsis
Bonsoir,
Je vous présente la deuxième partie de la série sur l'intelligence artificielle pour les jeux vidéo : Partie 2 : Perceptions et Pathfinding
Envoyé par Synopsis
Vous avez envie de contribuer au sein du Club Developpez.com ?
Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, ...etc.
Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.
Bonjour,
Je suis tombé par hasard sur cet article.
L'article est plutôt pas mal rédigé. Par contre dans un article traitant des jeux vidéos il faut absolument appliquer les bonnes pratiques de coding.
Dans l'exemple de code on peut voir ^^ :
ect. ect. ect.[/SIZE][/SIZE]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Unchecked[0].s.x = sx; Unchecked[0].s.y = sy; Unchecked[0].d = abs(sx - gx) + abs(sy - gy); Unchecked[0].p.x = -1; Unchecked[0].p.y = -1; Unchecked[0].used = 1; Unchecked[0].steps = 0; ... /*tile to the left*/ if((Unchecked[u].s.x - 1) >= 0)/*first, make sure we're on the map*/ { if((IsInList(Unchecked,Unchecked[u].s.x - 1,Unchecked[u].s.y,NULL) == 0)&&(IsInList(Checked,Unchecked[u].s.x - 1,Unchecked[u].s.y,NULL) == 0)) /*make sure we don't repeat a search*/ { if(TileValid(Unchecked[u].s.x - 1,Unchecked[u].s.y,team)) NewtoList(Unchecked,Unchecked[u].s.x - 1,Unchecked[u].s.y, Unchecked[u].s.x, Unchecked[u].s.y, abs((Unchecked[u].s.x - 1) - gx) + abs(Unchecked[u].s.y - gy), Unchecked[u].steps + 1); } }
Pour une question de persfs, dans les exemples, il faut absolument passer par une référence intermédiaire :
ect. ect. ect.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $my_object = Unchecked[0]; $my_object.s.y = sy; $my_object.d = abs(sx - gx) + abs(sy - gy); $my_object.p.x = -1; $my_object.p.y = -1; $my_object.used = 1; $my_object.steps = 0; if(($my_object.s.x - 1) >= 0)/*first, make sure we're on the map*/
Non.
Le code est clairement du C, les références n'existent pas.
Et toi tu nous proposes... du mauvais PHP en guise de "mieux" !?!? T'as peur de rien..
C'est en plus 800% inutile ici puisque c'est une variable accédée directement, le compilateur saura très bien l'optimiser. Une référence c'est utile quand tu dois récupérer un objet via des méthodes. Pour une variable dans le même scope, c'est juste un sucre syntaxique.
Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
Un peu de programmation réseau ?
Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager