Posté le 27/09/2016 18:20
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 246 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 27/07/2017 20:08 | #
Tu définis un nombre pour chaque cas, par exemple 0 = vide, 1 = mur simple, 2 = pnj, 3 = case où est le joueur.
Dans ce cas, quand tu déplaces le sprite, il te suffit de regarder si le point de la matrice est à 0, si ce n'est pas le cas tu ne déplaces pas le joueur.
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 27/07/2017 20:10 | #
Oui mais justement, j'ai besoin de déplacer une variable dans la matrice, celle du joueur.
Citer : Posté le 28/07/2017 09:10 | #
Tu déplaces pas de variables. Ça n'a pas de sens.
Tu as deux variables A et B qui correspondent aux coordonnées de ton personnage. A c'est x et B c'est y. Quand tu veux aller à droite, tu vérifies si la valeur dans la matrice aux coordonnées (A+1;B) est égale à 0. Si c'est 0 c'est que la case à droite ne contient rien donc tu te déplaces en faisant A+1->A.
De même pour aller en bas tu vérifies en (A;B-1)
Et contrairement à ce que tu dis Zezombye au dessus, tu n’enregistres pas la position du joueur dans la matrice, tu utilises les deux variables A et B
Citer : Posté le 28/07/2017 09:15 | #
J'ajoute que c'est probablement évident pour Ninestars, mais utiliser X et Y est une mauvaise idée car ces deux variables sont régulièrement modifiées par les fonctions de dessin, notablement Plot* et Line.
Citer : Posté le 28/07/2017 15:14 | #
{6,12→Dim Mat M
2→Mat M[2,9
1→X:6→Y:1→A:45→B
BG-None
S-WindMan
Lbl 1
ViewWindow 1,127,0,1,63,0,A,B,1
1→Mat M[Y,X
Do:Prog "~PNJ"
Do:Getkey→G
G-Plot
Graph(X,Y)=(List 1[T],List 2[T])
LpWhile Not G
If G=38 And List 1[T]>10
Then 0→Mat M[Y,X
X-1→X
Mat M[Y,X≠Mat M[2,9⇒List 1-10→List 1
92→A:137→B:Goto 1
IfEnd
If G=27 And List 1[T]<107
Then 0→Mat M[Y,X
X+1→X
Mat M[Y,X=0⇒List 1+10→List 1
46→A:91→B:Goto 1
IfEnd
If G=37 And List 2[T]>10
Then 0→Mat M[Y,X
Y+1→Y
Mat M[Y,X≠Mat M[2,9⇒List 2-10→List 2Ù
1→A:45→B:Goto 1
IfEnd
If G=28 And List 2[T]<53
Then 0→Mat M[Y,X
Y-1→Y
Mat M[Y,X≠Mat M[2,9⇒List 2+10→List 2
138→A:178→B:Goto 1
IfEnd
LpWhile G≠47
J'ai une erreur de dimension pour les matrices.
Pourtant celui là marche :
{6,12→Dim Mat M
Do:GetKey→G
1→Mat M[Y,X
If G=27
Then 0→Mat M[Y,X
X+1→X:IfEnd
If G=28
Then 0→Mat M[Y,X
Y-1→Y:IfEnd
If G=38
Then 0→Mat M[Y,X
X-1→X:IfEnd
If G=37
Then 0→Mat M[Y,X
Y+1→Y:IfEnd
LpWhile Not Ans