Author Topic: réutiliser GDB ?  (Read 9527 times)

0 Members and 1 Guest are viewing this topic.

Offline trotithuthur

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 17
  • Rating: +3/-0
    • View Profile
réutiliser GDB ?
« on: September 18, 2011, 05:33:10 am »
Bonjour à tous, un nouveau problème vient à moi... Est-il possible de supprimer (ou changer...) un pointeur statique? Par exemple (le problème):

Code: [Select]
:If A=1
:[...]->GDB1
:End
:If A=2
:[......]->GDB1
:End

(Les [...] représente des codes hexa corrects)
Le problème est que lors de la compilation, j'obtiens une erreur Dupplicate sur le 2eme GDB...
Comment parer cela? A part stocker le 2eme code dans GDB2 etc...
« Last Edit: September 18, 2011, 05:36:50 am by trotithuthur »

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: réutiliser GDB ?
« Reply #1 on: September 18, 2011, 07:46:56 am »
Est-il possible de supprimer (ou changer...) un pointeur statique?
Mots-clés dans la question: pointeur statique.
C'est un pointeur statique, pas une variable. Donc, non, ton code est inconcevable.

Pourrais tu développer un peu plus ce que tu veux, pour trouver une solution plus adaptée ?
Genre donner l'hex code présent dans chaque [] et dire ce que tu veux en faire, par exemple (sprite,...).
« Last Edit: September 18, 2011, 07:48:26 am by Hayleia »
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline trotithuthur

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 17
  • Rating: +3/-0
    • View Profile
Re: réutiliser GDB ?
« Reply #2 on: September 18, 2011, 08:12:04 am »
Désolé, en fait, il s'agit de code pour des map, et donc par exemple A est le numéro du niveau,et chaque niveau une map différente, mais je crois avoir parer le problème, en utilisantdes fonctions, je réécris l'affichage de la map un GDB= 1 niveau, et j'appelle la fonction dans la partie déplacement du personnage par exemple.
Je ne sais pas si j'ai été assez clair... :/
En gros (très gros...):
Code: [Select]
:Repeat getkey(15)
:code déplacement
:If A=1
:sub(N1)
:End
:If A=2
:sub(N2)
:End
:End
:Lbl N1
:[...]->GDB1
:sub(AFF)
:Return
:Lbl N2
:[...]->GDB2
:sub(AFF)
:Return
:Lbl AFF
:code affichage map
:Return

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: réutiliser GDB ?
« Reply #3 on: September 18, 2011, 08:16:56 am »
Problème: la routine AFF, comment elle sait avec quel pointeur elle doit afficher ?
Est-ce que tous les hex codes que tu mets dans tes GDB font la même taille ? Si oui, quelle taille ?
« Last Edit: September 18, 2011, 08:18:43 am by Hayleia »
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline trotithuthur

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 17
  • Rating: +3/-0
    • View Profile
Re: réutiliser GDB ?
« Reply #4 on: September 18, 2011, 08:33:39 am »
Oui il font tous la meme taille, exemple:

Code: [Select]
[000000000000]->GDBX
[011011000110]
[011010111100]
[011100011100]
[011011111110]
[011111111110]
[011111111110]
[000000000000]
Mais je pense en effet au probleme de la fonction aff... je pense que je vais mettre ce code dans les fonctions N1... Parce que le pointeur à besoin d'être connu... donc bon, sinon on peut blinder la fonction AFF de conditions, mais ça revient au même, une fonction d'affichage différente pour chaque GDB...

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: réutiliser GDB ?
« Reply #5 on: September 18, 2011, 09:57:45 am »
Oui il font tous la meme taille
:w00t:
Solution simple:

mets ceci au debut de ton code (en remplaçant les corneries que j'ai mises par les vraies données de tes niveaux).

.level1
[000000000000]->GDB1
[011011000110]
[011010111100]
[011100011100]
[011011111110]
[011111111110]
[011111111110]
[000000000000]
.level2
[000000000000]
[011011000110]
[011010111100]
[011100011100]
[011011111110]
[011111111110]
[011111111110]
[000000000000]
.etc


Puis affecte le numero du niveau à une variable, par exemple N.
Au début, N=0 et tu es au niveau 1.
Puis tu passes au niveau suivant avec N++. Donc N=1 et tu es au niveau 2.
En fait, N=niveau-1.

Pour la routine AFF, fait en fonction du pointeur N*48+GDB1.
Si je sais compter, cela devrait marcher.
« Last Edit: September 18, 2011, 09:58:11 am by Hayleia »
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline trotithuthur

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 17
  • Rating: +3/-0
    • View Profile
Re: réutiliser GDB ?
« Reply #6 on: September 18, 2011, 10:09:07 am »
Merci! Effectivement j'avais penser à un truc comme ça, pour le choix de la 'partie' du GDB, je mettais GDB1+8, etc... x)
Tu es sur du 48? Je mettrai plutôt 96...?
EDIT:j'ai du me gourer ailleurs, mais j'obtiens la bonne map avec 48, et 96...  ::)
RE-EDIT: tu as raison,c'est bien 48, au temps pour moi, donc merci, ça marche parfaitement :)
« Last Edit: September 18, 2011, 10:15:57 am by trotithuthur »

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: réutiliser GDB ?
« Reply #7 on: September 18, 2011, 10:17:42 am »
Tu es sur du 48? Je mettrai plutôt 96...?
RE-EDIT: tu as raison,c'est bien 48, au temps pour moi, donc merci, ça marche parfaitement :)
C'est 48 et pas 96 car pour faire un nombre en hexa, il faut 2 chiffres. Donc tu as compté 96 chiffres mais il y a 48 nombres ;)
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline trotithuthur

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 17
  • Rating: +3/-0
    • View Profile
Re: réutiliser GDB ?
« Reply #8 on: September 18, 2011, 10:23:18 am »
Oui voilà 8*16, divisé par 2 :)
Encore merci ;)

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: réutiliser GDB ?
« Reply #9 on: September 18, 2011, 10:29:07 am »
De rien :) moi aussi j' ai dû poser des questions un jour, donc j'aime bien rendre la pareille.
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline Wellen

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 118
  • Rating: +7/-2
    • View Profile
Re: réutiliser GDB ?
« Reply #10 on: September 19, 2011, 02:45:47 pm »
*bump*

Et si les codes hexa ne sont pas tous de la même taille ?
-/...././/--./.-/--/.
I'm french, so please feel free to correct my bad english, it'd help me a lot ;)
Spoiler For Feat. Loulou54:
Spoiler For Projects:
Spoiler For Axe:
Ti-Lock : Lock your calc before turning it off               [XXXXXXXX--] 80%
Spoiler For Ti-Basic:
Spoiler For Soko-Ti, a sokoban game in Ti-Basic:

Spoiler For Memory:

Downloads here.

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: réutiliser GDB ?
« Reply #11 on: September 20, 2011, 10:43:21 am »
Dans ce cas, tu es dans la m peux faire ceci

[code hex 1]→GDB1
[code hex 2]→GDB2
[code hex 3]→GDB3
.etc
{GDB1,GDB2,GDB3,etc}→Str1


et le pointeur au debut du niveau se trouve à {Str1+N}, c'est-à-dire que pour accéder au premier octet du niveau actuel, tu fais {{Str1+N}}, et pour accéder au second octet du niveau actuel, {{Str1+N}+1}.
Cela devrait fonctionner théoriquement.
Crédits: Ceci m'a été inspiré par Aichi, pas tout à fait dans ces circonstances mais quand même.

En fait, tu stockes tous les pointeurs GDB à partir de Str1
« Last Edit: September 20, 2011, 10:44:17 am by Hayleia »
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline Wellen

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 118
  • Rating: +7/-2
    • View Profile
Re: réutiliser GDB ?
« Reply #12 on: September 20, 2011, 12:21:18 pm »
Dans ce cas, tu es dans la m
:w00t:

Merci, je teste dès que j'en arrive à la partie-là de mon programme, je donnerai des nouvelles.
-/...././/--./.-/--/.
I'm french, so please feel free to correct my bad english, it'd help me a lot ;)
Spoiler For Feat. Loulou54:
Spoiler For Projects:
Spoiler For Axe:
Ti-Lock : Lock your calc before turning it off               [XXXXXXXX--] 80%
Spoiler For Ti-Basic:
Spoiler For Soko-Ti, a sokoban game in Ti-Basic:

Spoiler For Memory:

Downloads here.

Offline noelthebest

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 283
  • Rating: +20/-0
  • Worldwide Combos
    • View Profile
    • Worldwide Combos
Re: réutiliser GDB ?
« Reply #13 on: October 08, 2011, 07:49:19 am »
Ça sent le zContest ! :rire mechant:

Offline Wellen

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 118
  • Rating: +7/-2
    • View Profile
Re: réutiliser GDB ?
« Reply #14 on: October 08, 2011, 09:07:58 am »
Ça sent surtout le nécropost O.O

Oui, c'est pour stocker les niveaux de Lost :)
-/...././/--./.-/--/.
I'm french, so please feel free to correct my bad english, it'd help me a lot ;)
Spoiler For Feat. Loulou54:
Spoiler For Projects:
Spoiler For Axe:
Ti-Lock : Lock your calc before turning it off               [XXXXXXXX--] 80%
Spoiler For Ti-Basic:
Spoiler For Soko-Ti, a sokoban game in Ti-Basic:

Spoiler For Memory:

Downloads here.