Author Topic: [Axe parser] aide  (Read 81552 times)

0 Members and 1 Guest are viewing this topic.

Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: [Axe parser] aide
« Reply #30 on: May 27, 2010, 11:37:03 am »
théoriquement, quand on fait dans une boucle :
clrdraw
pt-on
dispgraph
l'image est censé apparaître tout le temps et le clrdraw passer inaperçu
seulement voilà, l'image clignote quand le pt-on est toujours le même
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%

SirCmpwn

  • Guest
Re: [Axe parser] aide
« Reply #31 on: May 27, 2010, 11:42:05 am »
Hmm, c'est assez bizarre. Pourriez-vous poster le code source complet?
Essayez aussi DiagnosticOff au début de votre programme.

[Traduit de l'anglais, je m'excuse pour les erreurs]

Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: [Axe parser] aide
« Reply #32 on: May 27, 2010, 12:00:56 pm »
Voilà le code, pour l'instant c'est vraiment pas beau a voir, mais n'hésitez pas à me donner des conseil ;)

Spoiler For Spoiler:
Code: [Select]
:.AXEWA
:[0000000000000000→Pic0
:[788CD4D4864B613E→Pic1
:.IMAGE NORMAL GAUCHE
:[1E312B2B61D2867C→Pic4
:.IMAGE NORMAL DROITE
:[78DCD484CA62211F→Pic2
:.IMAGE HAUT GAUCHE
:[1E3B2B21534684F8→Pic5
:.IMAGE HAUT DROITE
:[00788CD4D785493E→Pic3
:.IMAGE BAS GAUCHE
:[001E312BEBA1927C→Pic6
:.IMAGE BAS DROITE
:0→D→S+1→I+39→X+16→Y
:Repeat getKey(15)
: ClrDraw
: 1+I→I
: If I=5
: 1→I
:End
:If I=1 or (I=3
: Pt-Off(A,B,Pic0
:If S
: Pt-On(X,Y,Pic1)
:Else
:Pt-On(X,Y,Pic4
:End
:End
:If getKey(2) or getKey(3)
:If I=2
:If S
: Pt-On(X,Y,Pic2
:Else
:Pt-On(X,Y,Pic5
:End
:End
:If I=4
:If S
: Pt-On(X,Y,Pic3
:Else
:Pt-On(X,Y,Pic6
:End
:End
:End
:DispGraph
:Pause 100
:X→A
:Y→B
:If getKey(2) and (X>0
: X-1→X
:1→S
:End
:If getKey(3) and (X<88
: X+1→X
:0→S
:End
:End
« Last Edit: May 27, 2010, 12:02:41 pm by kindermoumoute »
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%

SirCmpwn

  • Guest
Re: [Axe parser] aide
« Reply #33 on: May 27, 2010, 12:05:40 pm »
Je pense que votre problème est ici:
Code: [Select]
:If I=1 or (I=3
: Pt-Off(A,B,Pic0
Pourquoi utilisez-vous Pt-Off (?

[Traduit de l'anglais, je m'excuse pour les erreurs]
« Last Edit: May 27, 2010, 12:06:41 pm by Mr_Coding_Knight »

Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: [Axe parser] aide
« Reply #34 on: May 27, 2010, 12:36:31 pm »
Je l'ai enlevé (j'essayais de faire un pt-off à la place de clrdraw) et cela rend le même résultat :/
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: [Axe parser] aide
« Reply #35 on: May 27, 2010, 01:32:37 pm »
Je vais loader ça dans SourceCoder et puis Wabbitemu pour voir d'ou vient le problème

EDIT: Bon je vois le problème (je crois):

J'ignore comment le corriger, mais ton animation de sprite continue même quand tu ne bouges pas, ce qui fait que quand ça arrive sur l'image haut/bas, rien n'est affiché parce que la touche gauche ou droite doit être enfoncé pour que le sprite haut et bas s'affiche. En gros, quand la flèche gauche et droite ne sont pas pressées, le worm s'affiche seulement quand I=1 ou I=3, ce qui explique le clignotement.
« Last Edit: May 27, 2010, 02:03:12 pm by DJ Omnimaga »

Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: [Axe parser] aide
« Reply #36 on: May 27, 2010, 03:17:00 pm »
Bon, j'ai résolu le problème, mais la j'en ai un nouveau :p, c'est pas tellement un problème.. mais j'aimerais que l'on m'explique :
Quand je fait marcher mon worm vers le coté droit et le coté gauche, il est bloqué par le mur, quand je saute vers le coté droit, il est bloqué par le mur, quand je saute vers le coté droit, il ressort de l'autre coté!
Est ce que en dessous de 0 (pixel parlant) il compte +XXX (grand nombre positif)?
Spoiler For Spoiler:
Code: [Select]
:.AXEWA
:[0000000000000000→Pic0
:[788CD4D4864B613E→Pic1
:.IMAGE NORMALGAUCHE
:[1E312B2B61D2867C→Pic4
:.IMAGE NORMALDROITE
:[78DCD484CA62211F→Pic2
:.IMAGE HAUTGAUCHE
:[1E3B2B21534684F8→Pic5
:.IMAGE HAUTDROITE
:[00788CD4D785493E→Pic3
:.IMAGE BASGAUCHE
:[001E312BEBA1927C→Pic6
:.IMAGE BASDROITE
:0→D
:0→S
:1→I
:2→T
:18→E
:44→X
:56→Y
:Repeat getKey(15)
: If E≥0 and (E≤17
: sub(J
:Else
: 1+I→I
: If I=5
: 1→I
:End
:End
:If I=1 or (I=3
:If S
: Pt-On(X,Y,Pic1)
:Else
:Pt-On(X,Y,Pic4
:End
:End
:If D=1
:If I=2
:If S
: Pt-On(X,Y,Pic2
:Else
:Pt-On(X,Y,Pic5
:End
:End
:If I=4
:If S
: Pt-On(X,Y,Pic3
:Else
:Pt-On(X,Y,Pic6
:End
:End
:0→D
:End
:DispGraph
:Pause 150
:If getKey
: sub(G
:End
:If T=0 or (T=1
: ClrDraw
:T+1→T
:End
:End
:
:Lbl J
:If E=0
: 4→I
:End
:If E=1
: 1→I
:End
:If E=2
: 2→I
:End
:If E≥3 and (E≤7
: Y-1→Y
:If S
: X-1→X
:Else
:X+1→X
:End
:End
:If E=8 or (E=9
:If S
: X-1→X
:Else
:X+1→X
:End
:End
:If E≥10 and (E≤14
: Y+1→Y
:If S
: X-1→X
:Else
:X+1→X
:End
:End
:If E=15
: 2→I
:End
:If E=16
: 1→I
:End
:If E=17
: 4→I
:End
:E+1→E
:Return
:
:Lbl G
:Return!If getKey(2) or getKey(3) or getKey(9)
:If getKey(2) or getKey(3)
: 1→D
:If getKey(2)
: X-1→X
:1→S
:End
:If getKey(3)
: X+1→X
:0→S
:End
:End
:If getKey(9)
: 0→E
:End
:If X=0
: 1→X
:End
:If X>88
: 88→X
:End
:0→T
:Return
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: [Axe parser] aide
« Reply #37 on: May 27, 2010, 04:33:11 pm »
That's really nice!  Great job! ;D

C'est vraiment gentil! Beau travail! ;D

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: [Axe parser] aide
« Reply #38 on: May 27, 2010, 11:03:15 pm »
en dessous de 0, c'est 65535, 65534, 65533. Les nombres peuvent être entre 0 et 65535. Mais quand tu dépasse 65535 ça retourne à 0 et di tu vas en dessous de 0 ça retourne à 65535.

Si tu veux vérifier si ton worm essaie de sortir de l'écran par la gauche, il faut faire If X=65535:0->X au lieu de If X<0:0->X

Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: [Axe parser] aide
« Reply #39 on: May 28, 2010, 08:07:05 am »
merci pour l'astuce x)

EDIT : est ce que l'on peut stocker plus de 10 images 8x8? (par exemple en utilisant GDB (j'ai rien comprit en faite à quoi cela servait))
et est ce que c'est possible de faire tourner une image? (par cran de 45° par exemple?)
« Last Edit: May 28, 2010, 08:44:38 am by kindermoumoute »
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%

Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: [Axe parser] aide
« Reply #40 on: May 28, 2010, 11:19:37 am »
Nouveau problème!
J'ai lut et relut mon code.. à aucun endroit je n'ai manqué ou rajouté un End, et il me sort une erreur Block 98%
Spoiler For Spoiler:
Code: [Select]
:.AXEWA
:[0000000000000000→Pic0
:[788CD4D4864B613E→Pic1
:.IMAGE NORMALGAUCHE
:[1E312B2B61D2867C→Pic4
:.IMAGE NORMALDROITE
:[78DCD484CA62211F→Pic2
:.IMAGE HAUTGAUCHE
:[1E3B2B21534684F8→Pic5
:.IMAGE HAUTDROITE
:[00788CD4D785493E→Pic3
:.IMAGE BASGAUCHE
:[001E312BEBA1927C→Pic6
:.IMAGE BASDROITE
:0→S→Θ
:1→I→D
:2→T
:18→E
:20→F
:44→X
:56→Y
:Repeat getKey(15)
: If (E≥0 and (E≤17)) or (F≥0 and (F≤19))
: If F≥0 and (F≤19
: sub(K
:Else
: sub(J
:End
:Else
:sub(I
:End
:If I=1 or (I=3
:If S
: Pt-On(X,Y,Pic1)
:Else
:Pt-On(X,Y,Pic4
:End
:End
:!If D
: sub(D
:End
:DispGraph
:Pause 150
:If getKey
: sub(G
:End
:If T=0 or (T=1
: ClrDraw
:T+1→T
:End
:End
:
:Lbl I
:1+I→I
:If I=5
: 1→I
:Return
:
:Lbl D
:If I=2
:If S
: Pt-On(X,Y,Pic2
:Else
:Pt-On(X,Y,Pic5
:End
:End
:If I=4
:If S
: Pt-On(X,Y,Pic3
:Else
:Pt-On(X,Y,Pic6
:End
:End
:1→D
:Return
:
:Lbl J
:If E=0 or (E=17
: 4→I
:End
:If E=1 or (E=16
: 1→I
:End
:If E=2 or (E=15
: 2→I
:End
:If E≥3 and (E≤14
:If S
: X-1→X
:Else
:X+1→X
:End
:End
:If E≥3 and (E≤7
: Y-1→Y
:End
:If E≥10 and (E≤14
: Y+1→Y
:End
:E+1→E
:sub(V
:Return
:
:Lbl K
:If F=0 or (F=19
: 4→I
:End
:If F=1 or (F=18
: 1→I
:End
:If F=2 or (F=17
: 2→I
:End
:If F=4 or (F=6) or (F=8) or (F=10) or (F=12) or (F=14) or (F=16)
:If S
: X+1→X
:Else
:X-1→X
:End
:End
:If F≥3 and (F≤9
: Y-1→Y
:End
:If F≥10 and (F≤16
: Y+1→Y
:End
:F+1→F
:sub(V
:Return
:
:Lbl G
:Return!If getKey(2) or getKey(3) or getKey(9)
:If E=18 or (F=20
:If getKey(2) or getKey(3)
:If getKey(2)
: X-1→X
:1→S
:End
:If getKey(3)
: X+1→X
:0→S
:End
:End
:If getKey(9)
: Repeat Θ≥1
: If getKey(9)
: 2→Θ
:End
:Z+1→Z
:Pause 10
:If Z=50
: 1→Θ
:End
:End
:If Θ=2
: 0→F
:Else
:If E=18
: 0→E
:End
:0→Θ
:End
:End
:End
:sub(V
:Return
:
:Lbl V                                 .Il
:If X≤65535 and (X>65000               .l'indique
: 0→X                          .dans
:End                                  .cette                    .O_o
:If X>88 and (X<100                   .zone
: 88→X                         .environ
:End                                   .(jusqu'ici :p)
:0→T
:0→D
:Return


Ai-je trop de End??
« Last Edit: May 28, 2010, 11:24:37 am by kindermoumoute »
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: [Axe parser] aide
« Reply #41 on: May 28, 2010, 02:08:56 pm »
Je ne sais pas si c'est le problème, mais manqueraut-il un End ici?

Code: [Select]
:
:Lbl I
:1+I→I
:If I=5
: 1→I
:Return
:
Pour répondre à ton autre question, il est impossible de faire tourner des sprites à présent, surtout pas autre chose que 90°. Et il est possible de stocker un nombre infini d'images tant que tu as de la mémoire pour faire tourner le jeu:

[0000000000000000->Pic1
[00000FFFFFF00000
FFFFFFFFFFFFFFFF
F0F0F0F0F0F0F0F0]

(bon c'est pas très joli comme sprite mais c'est juste une exemple ;D)

Pour afficher le Sprite 2, tu ferais Pt-On(X,Y,Pic1+8), pour le sprite 3, Pt-On(X,Y,Pic1+16), etc

Tu peux en mettre autant que tu veux en bas.

Il est même possible d'afficher une partie du premier sprite et une partie du 2eme sprite en même temps par exemple en faisant Pt-On(X,Y,Pic1+3).

Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: [Axe parser] aide
« Reply #42 on: May 28, 2010, 02:24:09 pm »
Je ne sais pas si c'est le problème, mais manqueraut-il un End ici?

Code: [Select]
:
:Lbl I
:1+I→I
:If I=5
: 1→I
:Return
:
:o pas facile à voir (la fatigue surement  ??? )


Ou sinon pour les stripe je ne savait pas, c'était surement indiqué dans l'aide ^^.
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: [Axe parser] aide
« Reply #43 on: May 28, 2010, 02:38:55 pm »
C'est compréhensible car le code est très long ^^. Disons que des fois j'avais des prog de 15 Ko en BASIC et c'était assez pénible quand j'oubliait un End dans le milieu ;D

Pour les sprites, je ne sais pas si c'est dans la liste de commandes, mais je crois que c'est expliqué dans les pointeurs/addresses et la liste d'optimisation dans la doc. Pour la version finale d'Axe il serait bien que la communauté se mette ensemble pour faire des exemples d'utilisation de chaque commandes Axe pour les inclure avec la doc

Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: [Axe parser] aide
« Reply #44 on: May 31, 2010, 03:32:04 am »
Juste une petite question.. est ce que pour les image au lieu de mettre pic1+8, Pic1+16..etc on pourrait mettre Pic1+X?
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%