Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Projet avec super drawstat...
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Projet avec super drawstat...

Posté le 27/09/2016 18:20

Bonjour,
Voilà déjà 1an que je programme sur Casio et je décide aujourd'hui de m'attaquer au mode graphique. Le seul problème c'est que je n'ai aucune idée de comment créer un moteur de déplacement en drawstat.
HELP me !!!


Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

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.
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

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.
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

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
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

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.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Citer : Posté le 28/07/2017 15:14 | #


Prog"~SPRITE"
{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→X:1→Y
{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

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

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