Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 854
Réponses : 7
Type : discussion
Etat : réponses autorisées

Mode 2 joueur

Programaths le 25/06/2011 à 18:37
Bonjour, je bloque vraiment beaucoup sur quelque chose !!

dans un jeu, il y a un joueur qui joue, puis quand il a fini l'autre joueur joue

Mais je veux que ça soit sur le même programme !
ça a l'aire très simple mais je n'y arrive pas... je bloque ! c'est terrible...
tilo1996 le 25/06/2011 à 19:15
Je dirai que tu stockes tes variables de joueurs independamment et dans le prog tu met une variable egale ou a 0 ou a 1
Un truc du genre:

Code

Lbl 1
If M=0:Then
P->A
Q->B
Etc
End
If M=1:Then
N->A
O->B
Etc
End
While 1
Ton code de jeu qui utilise A et B
End
If M=1:0->M
If M=0:1->M
Goto1


N et O representent le joueur 1(il peut y en avoir d'autre :p)
P et Q le joueur 2...

Mais n'ayant pas fait de prog de ce genre, je sais pas si ça peut marcher....
Sangohan38 le 25/06/2011 à 19:52
L'autre façon que j'utilise c'est d'utiliser -1 et 1 comme sa lorsque l'on teste les conditions, il suffit de mettre une valeur absolue pour vérifier la condition indépendamment du joueur.

Sangohan38
linkakro le 25/06/2011 à 20:52
Tu fais ça pour chaque variable ? Pas mal du tout ! bigmouth.gif

----

Sinon il y a aussi ce plan en utilisant des listes pour les variables qui dépendent du joueur.
Mais surtout on peut l'adapter à divers nombres de joueurs. Quand il y a peu de joueurs, il peut être plus simple d'utiliser des If plutôt que la formule qui suit.

Soit un prog à N=2 variables et 2 joueurs.
{variable1_joueur1,variable2_joueur1,variable1_joueur2,variable2_joueur2}
Code
N->dim(L1   // après la dimmension faudra la remplir

1->J
Lbl 0
L1(NJ-N+1->A
L1(NJ-N+2->B      // 1 et 2 les numéros des variables
...
A->L1(NJ-N+1
B->L1(NJ-N+2
3-J->J            // ici J vaut 1 ou 2 mais c'est plus compliqué à 3ou+ joueurs
Goto 0


PS : un sujet d'aide serait mieux dans la partie aide, même si je me tais d'habitude sur ce point
Programaths le 26/06/2011 à 22:02
j'ai réussi a prendre ces lignes d'un morpion :

Code

1ü ( ) J
Lbl P
Texte(10,50,"JOUEUR: ",J
0ü ( ) T
Repeat T
codeTouch(ü ( ) T
End
If T=45
Goto MP
If T=105
Goto PP


Lbl PP
If J=2
Goto CE

text(10,10,"player 1 joue
Goto TS

Lbl CE
text(20,10,"player 1 joue
Lbl TS
J-(J=2)+(J=1ü ( ) J
Goto P



Le "J-(J=2)+(J=1üJ" étant la ligne que change tout :p merci pour vos réponses
calcugeek le 27/06/2011 à 10:55
Sinon c'est aussi possible d'utiliser la division euclidienne pour déterminer le joueur. Par exemple pour un nombre N de joueurs et un joueur P qu'on cherche à determiner :

Code

debut du prog
input"NBRE DE JOUEURS",N
0->P
...
while ou lbl ou for enfin une boucle quoi
...
P-Nent(P/N)+1->P
output(4,4,"JOUEUR
output4,11,P
output(6,6,"A TOI!
...
end
sandro le 27/06/2011 à 16:54
Dans le tout premier programme proposé, il serrait plus simple de faire :
Code
Lbl 1
If M=0:Then
P->A
Q->B
Etc
End
If M=1:Then
N->A
O->B
Etc
End
While 1
Ton code de jeu qui utilise A et B
End
non(M->M
Goto1


Sandro
tilo1996 le 27/06/2011 à 20:21
En effet, je n'avais pas pensé a utiliser non( mais oui sa optimise le programme