30

Ouais, effectivement, c'est pas malwink
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

31

oué mais ça fait des tests ... sad enfin.

y'a des ElseIf en C ?????

le fantome suit le joueur


Oui mais comment ?? on a vu des méthodes d'aléatoire un peu + poussé (post 17), mais pour la suivie pure ??? erf ... FlashZ ???????????????????? gringrin
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

32

évidement qu'il y a des else if en C grin (avec un espace entre 'else' et 'if')
Sinon mon truc du post 17 c nul, à revoir à fond, mais c'était pr l'idée...

Les mouvements genre pathfinding et tout je sais pas faire...
Je sais pas si tu as essayé Gun Battle 3... Si tu l'as jamais vu, d/l-le tu va voir les déplacements des CPUs...
J'ai honte... grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

33

J'ai trouvé qq algo de PACMAN sur internet smile, je vais voir un peu ...
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

34

c'est pas bête, ce que tu as proposé, Bob 64...
Mais là où tu vas galérer, Pim89, c'est comme tu l'as dit pour que le fantôme te suive à la trace...
À moins d'enregistrer tes 5 ou 6 derniers déplacements et de faire en sorte que le fantôme suive ce chemin (la même technique que pour nibbles
).

35

Ouuuuuula... Ça risque d'être chaud à mettre en oeuvre une mémorisation du chemin pr que les ennemis te suivent...
Soit tu admet qu'a courte distance, le chemin a de fortes chances d'être une ligne droite, soit... t'as plus qu'a chercher une solution wink
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

36

je te promets que c'est super simple, en BASIC, j'avais fait un serpent comme ça et il était fluide....(par rapport à tous les autres nibbles auxquels j'avais joué qui étaient en BASIC)

37

Oué bah moi aussi j'en ai fait des nibble basic rapides d'abord tongue

Nan le problème c pas à la mémorisation, mais c'est plutot comment est-ce que les ennemis vont se déplacer par rapport à ton tracé ? Enfin c faisable mais c chaud !
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

38

Je viens de penser à un algo : (il ne marche que si les niveaux sont des matrices)
[i][3]// D'abord : (pour stocker les coordonnées du perso)[/3][/i]
[b][12]int[/12][/b] LignesCases[[4]5[/4]]=[7]{[/7]y,y,y,y,y[7]};[/7]  [i][3]// On initialise les tableau avec les valeurs de la[/3][/i]
[b][12]int[/12][/b] ColCases[[4]5[/4]]=[7]{[/7][4]0[/4],[4]0[/4],[4]0[/4],[4]0[/4],[4]0[/4][7]};[/7] [i][3]// position initiale du perso[/3][/i]

[i][3]// Ensuite, dans la routine de mouvement, à chaque
// mouvement du perso, on enregistre ses coordonnées[/3][/i]
memmove[b][6]([/6][/b]LignesCases+[4]1[/4],LignesCases,[4]4[/4]*[b][12]sizeof[/12][6]([/6][12]int[/12][6]))[/6][/b][7];[/7]
memmove[b][6]([/6][/b]ColCases+[4]1[/4],ColCases,[4]4[/4]*[b][12]sizeof[/12][6]([/6][12]int[/12][6]))[/6][/b][7];[/7]
LignesCases[[4]0[/4]]=yy[7];[/7]
ColCases[[4]0[/4]]=xx[7];[/7]
Niveau[LignesCases[[4]4[/4]],ColCases[[4]4[/4]]]=[4]0[/4][7];[/7] [i][3]// On remet à zéro : le perso est trop loin
// Puis on enregistre, sur le niveau, à l'ancienne position su heros
// une valeur qui nous servira plus tard[/3][/i]
Niveau[yy,xx]=[4]10[/4][7];[/7] [i][3]// 10 si le perso regarde en haut, sinon, autre chose (tjs plus grand que 10)

// Puis là où on s'occupe des méchants :[/3][/i]

[b][12]if[/12][6]([/6][/b]Niveau[yMechant,xMechant]>[4]9[/4][b][6]) [/6][/b] [i][3]// On regarde si le perso vient de passer là où est le méchant[/3][/i]
[7]{[/7]
 [b][12]if[/12][6]([/6][/b]Niveau[yMechant,xMechant==[4]10[/4][b][6])[/6][/b]  [i][3]// Le perso était dirigé vers le haut[/3][/i]
  dirMechant=1[7];[/7]  [i][3]// Le méchant se dirigre vers le haut
  // Et ainsi de suite, pour chaque direction[/3][/i]
[7]}[/7]


Voilà, je ne sais pas si mon algo est clair, ni s'il marche....
[edit]Edité par jackiechan91 le 13-03-2002 à 23:03:08[/edit]
J'ai corrigé quelques fautes...
[edit]Edité par jackiechan91 le 14-03-2002 à 19:35:48[/edit]

39

Bah alors ????

40

Niuf ? Ce soir, là g pas le temps de regarder tsss
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

41

mais vous n'avez jamais joué à PacMan ou quoi ???

il te manque des crochets, jackie dans ton code...

Bon, vous voulez que je réexplique ? en général, le fantôme ne peut se déplacer que dans une direction. Sur cette direction il va aller vers toi. Sinon, il essaie en montant ou descendant d'une case autour de ta position - ça marche aussi pour gauche/droite -. S'il peut se rapprocher, il se rapproche de la même manière.

Lorsqu'il peut aller dans plusieurs directions non rectilignes, il faut qu'il prenne le chemin aléatoirement allant vers toi : il ne reste qu'au plus 3 directions. Ensuite, le fantôme essaie de se rapprocher au mieux.
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

42

grrrr pim? AU LIEU DE SANS CESSE POSER LES MM QUESTIONS, fais un essai !
avatar
納 豆パワー!
I becamed a natto!!!1!one!

43

J'ai fait un exemple de prog utilisant l'algo du post 38 :
cliquez ici pour le télécharger et ici pour voir la source.

Inutile de cliquer sur les liens, ils ne corrspondent pas à ce qui est décrit.
[edit]Edité par jackiechan91 le 16-03-2002 à 15:13:06[/edit]

44

liquid >> essais de quoi ?? si j'ai pas d'algo .... grin

FlashZ m'a un peu expliqué, et C la méthode que bob avait dit je crois :

Si le fantome en en dessous du perso, il remonte, si il est + à gauche que le perso, il va à droite, ect.

Donc des test de position dans la mat + collision. Par exemple, si le fantome doit aller à droite mais que droite == mur, il va falloir monter ou descendre ou faire demi tour (si haut et bas == mur aussi).
Donc des test tout le temps. Bon, je sens qu'on va aboutir à un truc qui sera bien là. winkwink
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

45

C la méthode que bob avait dit je crois
> oui

Mais si t'ajoute les déplacements en fonction de la distance au perso, ça va devenir déjà + interessant !
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

46

Je sais pas trop. Ca risque d'être trop long. Il faut limiter 2 types de mouvements :

-Aléatoire pur si le perso est trop loin
-En direction du perso (avec des test de position par rapport à lui)

Dans le cas n°2, il va falloir aussi inclure :

if(perso + à droite)
if(droite == mur)
test si il est + en haut ou + en bas;
tenter un mouvement en fonction de ces positions
else
revient en arrière.

là ça semble déjà + juste.
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

47

au fait, avec mon algo (dont vous n'arrêtez pas de parler, d'ailleurs), on n'a pas besoin de faire des calculs de distance....
J'ai l'impression que mon post 43 est passé inaperçu...
OK, le méchant se déplace très mal (il change de direction tous les 4 cycles, et s'il rencontre la bordure de l'écran, il ne change même pas de direction), mais c'est juste pour le principe de l'algo qui permet au heros d'être suivi par le méchant.
[edit]Edité par jackiechan91 le 15-03-2002 à 21:57:36[/edit]

48

jackie >> nan nan, j'y ai fait gaffe, j'ai testé ton exemple mais j'ai pas pu regarder tes sources (le liens bloquait confus). Ta méthode est bonne, mais j'ai trop de fantomes à gerer, et en plus la solution de Bob semblait + simple. De plus, FlashZ lui aussi l'a utilisé, et ça donnait super bien , donc je pense que je vais essayer de partir sur celle là. Mais je n'exclue pas la tienne, qui sait, si je décide de rajouter un autre type d'IA ect ....

Mais c'est vrai que quand on a le fantome au cul (avec ta méthode), c'est bien foutu, car il ne te lache plus !! wink
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

49

Oué justement c le seul défaut : faudrait pvoir s'en défaire...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

50

L'autre défaut C que si t'es trop loin du perso, le fantome fait n'importe quoi (même s'il tente de te suivre). Par contre de près C nickel. Aussi, faut voir pour les collisions ... avec des murs ça sera peut-être pas pareil (à moins que le fontome suive exactement le PACMAN, là C'est bon, car si le PACMAN passe, le fantome aussi).

Aussi autre piti problème, c'est qu'à force de suivre à la trace, le fantome sera trop rapidemment distancé, et ne sera pas intelligent (ex : au lieu d'aller tout droit sur le perso car ils sont sur la même ligne, il fera les 50000 détours qu'à fait le perso lui même).


mais je crois que j'ai mal compris :

en fait ton algo Jackie : permet au fantome de suivre le PACMAN à la trace ou calcule d'autre truc ?????
concretement ???
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

51

On peut facilement améliorer l'algo de jackie en faisant que le fantome te "lache" au bout d'un moment
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

52

Non non, si C un peu dur à le semer, c'est mieux. Ce qu'il faut (si on décide de reprendre son algo), c'est de l'améliorer quand justement le fantome est loin de toi, car là y'a encore qq trucs qui foirrent.
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

53

Bon g encore un vieux truc à moi qui va pê servir : ICI

Essaye de provoquer un monstre puis de fuir (Ctrl + les fleches pour taper et les coups spéciaux)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

54

j'min cruste:

J'ai programmé un pacman :Gobman (disponible ds les archives)
En fait y a deux fantomes qui se déplacent dans la direction du joueur avec en plus un coeff aleatoire (pour pas qui restent bloqué) .

c'est un prog basic qui se trouvait sur les archives de Ti-FR.
[edit]Edité par Mr-Spock le 16-03-2002 à 19:20:47[/edit]

55

archives de où ???

C'était programmé en quoi ?
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

56

T'as essayé mon truc d'ennemis qui te suis et qui te lache au bout d'un moment ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

57

Mon exemple, c'était simplement pour illustrer l'algo qui permet au fantôme de te suivre... c'est clair que le reste des mouvements est vraiment nul...
à moins que le fontome suive exactement le PACMAN, là C'est bon, car si le PACMAN passe, le fantome aussi>OUI, Le fantôme suit exactement le même chemin que le pacman.

Par contre, je ne sais pas comment faire pour qu'il te lâche au bout d'un moment...
[edit]Edité par jackiechan91 le 15-03-2002 à 22:01:06[/edit]

58

Post 53 roll
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

59

Ouin !!!!! le peu que j'ai fais plante. j'ai juste fait la gestion de la map + déplacement du perso + bouffage des balles.

Mais ça plante parfois au moment de quitter. En fait, j'ai l'impression que :

vu que j'utilise des boucles for pour le déplacement case par case, dès qu'on appuis sur ESC alors que le prog était en passage entre 2 for() ça plante, mais si je me débrouille pour prendre le bon moment, tout va bien, je quitte sans bug. Comment faire pour quitter au bon moment, pas entre 2 passages ???? confus

2 secondes, je vais mettre mes sources pour mieux comprendre. wink
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

60

Edit : j'ai tout viré car je vais tout refaire (sources). Pas la peine d'encombrer les pages avec du code inutile.
[edit]Edité par Pim89 le 15-03-2002 à 22:18:07[/edit]
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^