Petit Computer France
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -34%
-34% LG OLED55B3 – TV OLED 4K 55″ 2023 ...
Voir le deal
919 €

[Tutoriel]DATA

5 participants

Aller en bas

[Tutoriel]DATA Empty [Tutoriel]DATA

Message par Adriendu92 Mer 6 Aoû - 20:34

Bienvenue dans mon Tutoriel sur les DATA

1) Qu'est ce que DATA  confused ?

DATA sert a Charger des Données dans des variables que vous définissez par Exemple dans un Pokémon vous chargez la vie du Pokémon 0 et 1 mais pas de tous les Pokémon du jeux (ça serait trop long  Shocked !)

2)Comment utilisez DATA  confused ?
0)Barez cette ligne  lol! 
1)D'adord définissez un Label  
2)Inserez Vos DATA avec des , pour lséparer les variables
3)utilisez Restore @Label
4)Faites READ var1,var2,etc.... (note:vous pouvez mettre des strings et des variables dans DATA mais n'oubliez pas les "" !)
5)Codez lol! 

UTILISATION
Code:
@label
data 1,45
data "Nom"

Restore @label
Read Vie,Experience,Nom$

3)Exemple

Imaginons un RPG vous demandez la classe du joueur et vous voulez chargez ces stats
Code:
'Vous demandez
if class=0 then restore @Archer
if class=1 then restore @Barbare
if class=2 then restore @Guerrier

Read Vie,ATK,DEF

@Archer
Data 50,30,60
@Barbare
Data 100,80,50
@Guerrier
Data 120,90,10

(Si vous n'utilisez les Data vous auriez du utilisez Beaucoup affraid  de if)


Voila c'est tout pour ce tuto n'hésitez pas à poser des questions et/ou à me corriger cherry


Dernière édition par Adriendu92 le Jeu 7 Aoû - 11:09, édité 2 fois
Adriendu92
Adriendu92

Messages : 165
Date d'inscription : 07/12/2013
Age : 23
Localisation : Colombes

http://www.ptc-qr-code.sitew.fr/

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par RayTro Jeu 7 Aoû - 0:09

Je me sers des DATAs notamment pour stocker des maps pour mes jeux, pour les coder rapidement et ainsi remplir aussi vite la matrice ( DIM var(x,y) ) Wink
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par Adriendu92 Jeu 7 Aoû - 10:37

Adriendu92
Adriendu92

Messages : 165
Date d'inscription : 07/12/2013
Age : 23
Localisation : Colombes

http://www.ptc-qr-code.sitew.fr/

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par fenixelf Mer 27 Aoû - 14:48

Ah, d'acc, c'est en gros un raccourcis pour déclarer des variables :

sans data :

A=1
B=3
C=9
D=4

avec data :

data 1,3,9,4
read A,B,C,D

pratique !

PS RayTro :
je savais pas qu'on pouvait mettre une virgule dans la déclaration avec DIM, merci ça va aussi m'être utile !
fenixelf
fenixelf

Messages : 229
Date d'inscription : 08/03/2014
Age : 24
Localisation : Île de France - La ville du bois

http://www.fenixelf-drawing.fr

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par Adriendu92 Dim 31 Aoû - 14:28

en fait c'est quoi un DIM ? Tu pourrais faire un tuto dessus ?
Adriendu92
Adriendu92

Messages : 165
Date d'inscription : 07/12/2013
Age : 23
Localisation : Colombes

http://www.ptc-qr-code.sitew.fr/

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par J8B Jeu 30 Oct - 4:45

DIM te permet de créer un groupe de variable de 1 à 2 dimensions, ça tu l'as compris.
Alors imagine que tu es besoin de 100 variables pour stocker un ID de background aux coordonnées X,Y.
T'as pas trop envie de les taper toutes au stylet, tu te jeteras par la fenêtre prise par une folie de tapotage excessif d'un écran tactile (maladie toujours pas reconnu qui fait des millions de victimes).
C'est pour ça que tu as la merveilleuse commandes DIM.

Tu prépares donc tes 100 variables soit un groupe de 10 variables à 2 dimensions (car 10*10=100)
DIM COORD(10,10)

Ensuite toutes les 100 valeurs des ID de background, tu les places dans un DATA que tu feras lire avec READ
Ce qui donne par exemple:
DIM COORD(10,10)
RESTORE @IDBG
FOR Y=0 TO 9
FOR X=0 TO 9
READ COORD(X,Y)
NEXT
NEXT
@IDBG
DATA 1,2,.......,100

Ainsi ta santé mentale et vitale est sauve, et tu pourras continuer à profiter du plus grand plaisir de la vie, un bon petit chocolat chaud (remède non reconnu contre l'envie de meurtre qui sauve des millards de vies sans que personne n'en sache rien)
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par Adriendu92 Jeu 30 Oct - 9:08

Super grâce à ce tuto Je ne vais pas me suicider et j'ai compris une nouvelle chose !!
Adriendu92
Adriendu92

Messages : 165
Date d'inscription : 07/12/2013
Age : 23
Localisation : Colombes

http://www.ptc-qr-code.sitew.fr/

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par CounterClockWize Ven 4 Sep - 2:00

J8B p'tain comment t'es un chef! Je vais essayer de faire un board hexagonal en m'inspirant de ta technique avec un data(x,y)!
Ouai j'ai ressorti ma DS, comme j'ai le temps!!!

Là où ça va être coton ce sera pour avoir un chevauchement des alvéoles et ensuite définir les zones tactiles... si j'utilise des sprites sic!

Pour info avec GLINE le plus petit hexagone "régulier" que l'on peut obtenir fait 6 de coté, 10 de hauteur d'une base à une autre soit 5 d'une base jusqu'au centre et la distance d'un angle en passant par le centre jusqu'a l'angle opposé fait 12.
Comme les triangles rec il y a le 3/4/5, Pour les hexagones "régulier" il y a celui de 6 de coté ( soit: un rectangle de 10 sur 6,et 4 triangles qui font chacun 3/5/6).
Si ça peut aidé ceux qui se demandent!!

Pour les sprits c'est plus galère il y a un décalage à cause de la place disponible on ne peut pas occuper tous l'espace disponible ( dimension %2), on ne peut faire au mieux que des hexa irrégulier!

Slt a vous!
CounterClockWize
CounterClockWize

Messages : 72
Date d'inscription : 23/08/2013

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par J8B Ven 4 Sep - 3:14

Cela a l'air vachement difficile, j'espère que tu t'en sortiras.
Je suppose que tu essayes de faire un truc comme ça: Hexello
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par CounterClockWize Ven 4 Sep - 10:30

Pas Vraiment, mais c'est vrai que j'essaie depuis un bout de temps de décortiquer le programme hexello pour en tirer un max d'info pour faire une grille hexagonal.

Le but sera de faire une map en grille hexagonal avec du scrolling pour un jeu de stratégie type Civilisation V. Sauf que ce sera une Squad contre une autre...

A vrai dire hier soir j'ai essayer de générer une map avec ta méthode Data(x,y) et je sais pas où j'ai merdé mais ça n'a pas fait ce que je voulais. Je pense que c'est parce que tu utilise des sprites alors qu moi j'utilise un autre data avec déjà des X,Y pour définir les coordonées d'une cellule/Alvéole puis Gline... surement une réutilisation des même variables qui ne lui plait pas! C'est pas grave je vais faire autrement , peut être changer l'architecture avec goto ou gosub aussi... A voir!

Ta technique en tout cas pourrais me permettre de gérer le décalage des cellules... sans faire comme dans hexello ( dont je pige pas trop le systeme).

D'ailleurs hexello est bien compact, cela nous apprends au moins comment on peut faire cela, les endroit où la becanne accepte qu'il n'y ai pas d'espace... Si tu as jeté un oeil sur ce programme en édit tu auras vu que l'auteur à écrasés ses donnés au max et qu'il n'y a pas ou très peu de 'commentaires. Enfin voila!
CounterClockWize
CounterClockWize

Messages : 72
Date d'inscription : 23/08/2013

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par CounterClockWize Ven 4 Sep - 12:30

En gros là j'ai un data qui me sert pour définir la nature d'une alvéole ( traçage et couleurs) comme si j'éditais un/des sprite(s) aux dimensions personnalisées.

Ton système de data qui me permettrait de choisir le type d'alvéole si j'en ai plusieurs ( Alvtype1,alvtype2... comme tu le ferais pour choisir ton sprite) pour ensuite les affectés à des coordonnées X,Y sur la matrice de l'écran.
Mais voilà,
Dans ton exemple:
DIM COORD(10,10)
RESTORE @IDBG
FOR Y=0 TO 9
FOR X=0 TO 9
READ COORD(X,Y)--' Ses coordonnées lues sont celles dans le tableau COORD(Xdu10,Ydu10), si j'ai bien compris)!
'---Alors comment les affectés à des coordonnés X,Y "sur la matrice de l'écran" ensuite?
'--- dans ton exemple les sprites ne le sont pas automatiquement? Si? Non?
'--- je pige plus trop!
NEXT
NEXT
@IDBG
DATA 1,2,.......,100

Je suppose qu'ensuite viens une commande pour l'affichage, les sprites se succèdent?
Les sprites sont cote à cote...dessus doussous, pas trop de problème je pense pour des sprites car il n'y a pas à ce soucier réellement de leur positions?!


Enfin bref!

CounterClockWize
CounterClockWize

Messages : 72
Date d'inscription : 23/08/2013

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par J8B Ven 4 Sep - 20:57

Dans mon exemple, COORD(X,Y) contient l'identifiant du sprite (ou background ou autre) et X,Y sont les coordonnées de l'écran.
Ensuite tu utilises une commande d'affichage en fonction de X,Y
Ex: BGPUT 0,X,Y,COORD(X,Y),0,0,0
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par CounterClockWize Ven 4 Sep - 22:27

OK merci J8B pour la clarification! Wink
CounterClockWize
CounterClockWize

Messages : 72
Date d'inscription : 23/08/2013

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par CounterClockWize Sam 21 Nov - 1:54

Slt!
Je ne sais pas dans quoi poster mais je pense que ça tient plus du "Data" donc:

Je cherche à faire en sorte que quand j'utilise l'écran tactile les valeurs (tchx et tchy) soient "comparées" aux valeurs x et y dans un fichier data et donc que mes tchx et tchy prennent les valeurs la plus proches! Et d'utiliser une petite formule de recherche avec une sorte de restriction/tolérance: du genre   tchx=valeur, lecture des données data les plus proche équivalentes à +qlqc - qlqc de la valeur du tchx  .... then valeur du tchx = valeur du data.

Voyez vous?
J'ignore si il y a une procédure  pour faire ce que je voudrais!
Quelqu'un aurait une idée?
Ou peut être quelqu'un saurait comment rechercher une information dans du data de façon plus complexe!?

*J'insiste sur le fait que c'est pour cliquer sur des cellules ( très petites et nombreuses) d'un "tableau non carré" d'où la recherche d'une autre methode que celle habituel, donc ceci explique cela... de plus le tableau subira du scrolling par la suite.
CounterClockWize
CounterClockWize

Messages : 72
Date d'inscription : 23/08/2013

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par J8B Sam 21 Nov - 16:43

A froid, je te dirai qu'il faut penser que tchx et tchy sont des variables systèmes et donc on ne peut pas changer leurs valeurs autrement qu'en touchant l'écran tactile.
Ceci dit, tant qu'on n'utilise pas la commande RESTORE, les valeurs du DATA ne retourne pas au début lorsqu'on les assigne avec READ
Ex:
Code:
ACLD:CLEAR
@DATAQ
DATA 1,2,3,4,5

READ T
?T
'la valeur T affichée sera 1

@BOUCLE
IF BTRIG()==16 THEN WAIT1:GOSUB @LIRE
GOTO @BOUCLE

@LIRE
READ T
?T
RETURN
'La valeur T changera quand on appuiera sur le bouton A jusqu'à un OUT of DATA
Pour économiser des variables, c'est pas mal. Peut-être que ça te donnera une piste, j'y réfléchirai un peu plus plus tard.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par CounterClockWize Dim 22 Nov - 3:22

Slt J8B,
Oui effectivement ce sont des variables système...
J'ai commencé un code hier après avoir posté mon message:

TX=tchX: TY=tchY

Restore @coor
For J=0 to 418 read sx,sy
If TX=<sx+6 and  TX=>sx-6 then TX=sx
If TY=<sy+5 and TY=>sy-5 then TY=sy
If TX=sx and TY=sy then goto @affi
next

@affi
....

Cela ne semble pas fonctionner ( peut être juste pour le moment à cause de mon incertitude sur la syntaxe et de petit truc à revoir...), je vais faire d'autres essaies du même genre! Mais à par cette technique je ne voie pas!!!

Sais tu si on peut chercher dans un data sans commencer par le début directement? par exempe:  à partir des 10 premiers prendre de deux en deux 5 fois, puis aller plus loin de 20 et prendre de Trois en trois 2 fois.... pourquoi pas revenir en arrière...??? ( je me doute que les seuls contraintes sont celle des for/next/step pour lire.le data, non?)

En tout cas merci pour ton aide et ta piste, je ne savais pas pour le "sans restore", ça va m'être utile de le savoir je pense ( mais peut être pas immédiatement pour ce que je cherche à faire avec l'écran tactile)!
CounterClockWize
CounterClockWize

Messages : 72
Date d'inscription : 23/08/2013

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par J8B Dim 22 Nov - 17:45

A bien y réfléchir je me demande si tu as vraiment besoin de comparer avec des DATA.
Les données sur ton DATA sont des coordonnées de points qui suivent une certaine logique,
les points sur les X sont tous à distance équivalente les uns des autres, même chose pour l'axe Y.
Tu as du scrolling, donc l'origine de départ changera appelons les XO,YO.
Pour savoir quel point tu touches, il faut ajouter l'origine à TCHX et TCHY soit
TX=TCHX+XO:TY=TCHY+YO
Imaginons que tes points sur l'axe X sont rangés par intervalle de 40 pixels
IF TX%40<20 THEN TX=FLOOR(TX/40)*40
IF TX>19 THEN TX=(FLOOR(TX/40)+1)*40
Voilà on fait la même chose pour les Y avec peut-être une valeur d'intervalle différente.
Mais je pense aussi, vu que c'est pas un tableau carré, que tu auras une valeur décalage à ajouter en fonction d'un axe (par exemple une valeur décalage pour les X en fonction de l'axe Y)
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]DATA Empty Re: [Tutoriel]DATA

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum