[AXE] Sniper (Jeu de tire.)
3 participants
Page 1 sur 1
[AXE] Sniper (Jeu de tire.)
Bonjour, grâce à l'Axe Parser j'avance à grands pas dans l'ASM pour créer des applications. Aujourd'hui je vous présente ma deuxième application un peu plus poussée que la première: un jeu de tire. Vous êtes un sniper et devez tuer le plus de ☺ en un temps limité. Le problème c'est que vous ne voyez pas au delà du réel viseur et devez les trouver en vous déplaçant.
Les plus:
- Jeu rapide contrairement à un jeu en TI-BASIC grâce aux nouvelles fonctions que propose l'ASM. (Notament le rectangle.)
- Des niveaux de gris au niveau du titre.
- Du son lors d'un tire. (A condition d'avoir le matériel necéssaire.)
Les moins:
- Pas de record. (Tan que je n'arrive pas à créer une AppVar c'est pour cela qu'il s'agit d'une version beta.)
Touches:
[CLEAR]: Quitter l'application.
[2ND]: Tirer.
Flèches: Se déplacer sur l'écran.
Téléchargement:
- Sniper (Version Beta.)
- Source
Source:
Image:
[Vous devez être inscrit et connecté pour voir cette image]
(Ne pas faire attention à l'écriture dans l'affichage du score c'est un bug de l'émulateur.)
Plus tard je compte créer un pack comme PuzzPack avec trois autres jeux.
PS: Vive Axe Parser.
Les plus:
- Jeu rapide contrairement à un jeu en TI-BASIC grâce aux nouvelles fonctions que propose l'ASM. (Notament le rectangle.)
- Des niveaux de gris au niveau du titre.
- Du son lors d'un tire. (A condition d'avoir le matériel necéssaire.)
Les moins:
- Pas de record. (Tan que je n'arrive pas à créer une AppVar c'est pour cela qu'il s'agit d'une version beta.)
Touches:
[CLEAR]: Quitter l'application.
[2ND]: Tirer.
Flèches: Se déplacer sur l'écran.
Téléchargement:
- Sniper (Version Beta.)
- Source
Source:
- Source du jeu Sniper en langage Axe Parser:
- Code:
.Sniper
[C1800100010001AA→Pic1
[07030101010101AB→Pic2
[010001000180C1FF→Pic3
[01010101010307FF→Pic4
[3C42A581A599423C→Pic5
Lbl 0
ClrDraw
[Pic2→GDB2
conj(GDB2,L6,768
For(A,0,95
Pxl-Off(A,63
End
StorePic
[Pic1→GDB1
conj(GDB1,L6,765
For(A,0,95
Pxl-Off(A,63
End
Repeat getKey(9)
DispGraph r
If getKey(15)
Return
End
End
ClrDraw
0→A
999→B
40→C
24→D
Lbl 1
16+(rand^73→E
E+8→E
16+(rand^41→F
F+8→F
Lbl 2
B-1→B
If B>1000
Goto 4
End
ClrDraw
Pt-On(C,D,Pic1
Pt-On(C+8,D,Pic2
Pt-On(C,D+8,Pic3
Pt-On(C+8,D+8,Pic4
Pt-On(E,F,Pic5
ref(0,0,C+16,D
ref(C+16,0,95,D+16
ref(C,D+16,95,63
ref(0,D,C,63
DispGraph
If getKey(54)
Goto 3
End
If getKey(15)
Return
End
If getKey(3)
C+1→C
End
If C>79
79→C
End
If getKey(2)
C-1→C
End
If C<2
2→C
End
If getKey(1)
D+1→D
End
If D>47
47→D
End
If getKey(4)
D-1→D
End
If D<2
2→D
End
Goto 2
Lbl 3
SinReg 300,10000
0→G
If E-7<C
G+1→G
End
If E>C
G+1→G
End
If F-7<D
G+1→G
End
If F>D
G+1→G
End
If G=4
A+1→A
Goto 1
End
Goto 2
Lbl 4
ClrDraw
Pt-On(E,F,Pic5
DispGraph
Pause 1200
ClrHome
Fix 3
Output(0,0," Sniper
Fix 2
Output(0,3,"Score:
Output(11,3,A►Dec
Output(0,4,"Record:
Output(11,4,"99999
Repeat getKey(9)
If getKey(15)
Return
End
End
Goto 0
Image:
[Vous devez être inscrit et connecté pour voir cette image]
(Ne pas faire attention à l'écriture dans l'affichage du score c'est un bug de l'émulateur.)
Plus tard je compte créer un pack comme PuzzPack avec trois autres jeux.
PS: Vive Axe Parser.
Dernière édition par Alexis le Ven 31 Déc - 17:27, édité 4 fois
Re: [AXE] Sniper (Jeu de tire.)
C'est toi qui l'a créé ?
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [AXE] Sniper (Jeu de tire.)
J'ai hâte de voir à quoi ça ressemble.
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [AXE] Sniper (Jeu de tire.)
Pas mal!
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [AXE] Sniper (Jeu de tire.)
Pas mal!
C'est un peu lourd d'utiliser 5 tile pour le viseur, autant en faire qu'une et se débrouiller avec des rotations pour les autres (commande rotC( et roCC( je croit), ou sinon il faudrait mettre une plus grande sprite pour l’émoticône (en fonction des niveaux de difficultés?) et même les varier. Mais la encore utilise un seul pointeur et fait des math sur le pointeur.
Dans le Lbl 1 je n'ai pas compris pourquoi tu n'inclue pas le F+8=>F et le E+8=>E dans la ligne d'au dessus de chacune. (24+rand(41)
Les output(X,Y,"montexte peuvent être mis dans des datas également (puis utilisez via un pointeur), ça permettra de réutiliser le texte plusieurs fois (en cas de sous menu).
Et puis perso, les goto un peut partout :/, c'est pas très lisible. Il faudrait utiliser les fonctions sub(Lbl), c'est juste une question d'organisation (mais tu te rendra compte très rapidement de l'utilité)
Ou sinon je ne sais pas depuis combien de temps tu apprend l'Axe Parser, mais si tu a fait ce code de A à Z sans utilisez de code trouvés ailleurs ou d'utilitaire quelconque.. respect =)
C'est un peu lourd d'utiliser 5 tile pour le viseur, autant en faire qu'une et se débrouiller avec des rotations pour les autres (commande rotC( et roCC( je croit), ou sinon il faudrait mettre une plus grande sprite pour l’émoticône (en fonction des niveaux de difficultés?) et même les varier. Mais la encore utilise un seul pointeur et fait des math sur le pointeur.
Dans le Lbl 1 je n'ai pas compris pourquoi tu n'inclue pas le F+8=>F et le E+8=>E dans la ligne d'au dessus de chacune. (24+rand(41)
Les output(X,Y,"montexte peuvent être mis dans des datas également (puis utilisez via un pointeur), ça permettra de réutiliser le texte plusieurs fois (en cas de sous menu).
Et puis perso, les goto un peut partout :/, c'est pas très lisible. Il faudrait utiliser les fonctions sub(Lbl), c'est juste une question d'organisation (mais tu te rendra compte très rapidement de l'utilité)
Ou sinon je ne sais pas depuis combien de temps tu apprend l'Axe Parser, mais si tu a fait ce code de A à Z sans utilisez de code trouvés ailleurs ou d'utilitaire quelconque.. respect =)
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Re: [AXE] Sniper (Jeu de tire.)
kindermoumoute a écrit:Pas mal!
C'est un peu lourd d'utiliser 5 tile pour le viseur, autant en faire qu'une et se débrouiller avec des rotations pour les autres (commande rotC( et roCC( je croit), ou sinon il faudrait mettre une plus grande sprite pour l’émoticône (en fonction des niveaux de difficultés?) et même les varier. Mais la encore utilise un seul pointeur et fait des math sur le pointeur.
Dans le Lbl 1 je n'ai pas compris pourquoi tu n'inclue pas le F+8=>F et le E+8=>E dans la ligne d'au dessus de chacune. (24+rand(41)
Les output(X,Y,"montexte peuvent être mis dans des datas également (puis utilisez via un pointeur), ça permettra de réutiliser le texte plusieurs fois (en cas de sous menu).
Et puis perso, les goto un peut partout :/, c'est pas très lisible. Il faudrait utiliser les fonctions sub(Lbl), c'est juste une question d'organisation (mais tu te rendra compte très rapidement de l'utilité)
Ou sinon je ne sais pas depuis combien de temps tu apprend l'Axe Parser, mais si tu a fait ce code de A à Z sans utilisez de code trouvés ailleurs ou d'utilitaire quelconque.. respect =)
Merci, c'est une bonne idée d'utiliser des :D différents mais après on sort des 8x8 des sprites et il en faudrait plusieurs.
Comment fonctionnent les fonctions "rotC(" et "roCC(" ?
J'ai aussi l'intention de varier la tête des :D quand je saurait manier le nombre aléatoire. (Ce qui est a peu près le cas.)
Je ne les mettais pas car quand je faisais 8+24+rand(41→F le sprite sortait des fois de l'écran même en réduisant le maximum du nombre alétoire.
Pour le texte c'est à dire le mettre dans des chaînes ? Si c'est le cas je pense que je vais le faire car il y aura plusieurs jeux dans le pack que je compte faire.
Ok pour les "sub(".
J'ai commencé l'Axe Parser samedi dernier et je me suis servi notament de mes connaissances en TI-BASIC et de la liste des fonctions sans m'inspirer d'autres sources.
Re: [AXE] Sniper (Jeu de tire.)
Tu a fait les sprites de tête? (c'est très instructif).
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Re: [AXE] Sniper (Jeu de tire.)
Quoi ?
Sinon tu sais comment mettre le blanc d'un sprite par dessus le noir du décors ? (C'est pour un autre jeu.)
Sinon tu sais comment mettre le blanc d'un sprite par dessus le noir du décors ? (C'est pour un autre jeu.)
Re: [AXE] Sniper (Jeu de tire.)
Alexis a écrit:Quoi ?
Sinon tu sais comment mettre le blanc d'un sprite par dessus le noir du décors ? (C'est pour un autre jeu.)
euh?? pas comprit reformule ta question :/
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Re: [AXE] Sniper (Jeu de tire.)
Tu vois par exemple si je prend un fond tout noir et un sprite avec que du blanc, si j'affiche le sprite je vois que du noir, le blanc ne s'affiche pas devant le noir, tu sais comment y remédier ?
Re: [AXE] Sniper (Jeu de tire.)
Je croit que la commande que tu cherche est Pt-Change(.
Cette commande est très pratique quand on a un curseur ou une sprite changeante notamment pour du grayscale :
Cela ne laisse aucune trace, et on peut améliorer encore plus le code :
Mais dans ton cas :
EDIT : Au début de ton code :
GDB2=>DispGraph revient à dire conj(GDB2,L6,768.
C'est plus simple à comprendre.
Cette commande est très pratique quand on a un curseur ou une sprite changeante notamment pour du grayscale :
- Code:
Pt-Change(X,Y,Pic1)
Pt-Change(X,Y,Pic1+8)r
DispGraphr
Pt-Change(X,Y,Pic1)
Pt-Change(X,Y,Pic1+8)r
Cela ne laisse aucune trace, et on peut améliorer encore plus le code :
- Code:
sub(PIC)
DispGraphr
sub(PIC)
...
Lbl PIC
Pt-Change(X,Y,Pic1)
Pt-Change(X,Y,Pic1+8)r
Return
Mais dans ton cas :
- Code:
sub(PIC)
DispGraph
sub(PIC)
...
Lbl PIC
Pt-Change(X,Y,Pic1)
Return
EDIT : Au début de ton code :
GDB2=>DispGraph revient à dire conj(GDB2,L6,768.
C'est plus simple à comprendre.
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Re: [AXE] Sniper (Jeu de tire.)
Merci. J'ai fini le jeu, il ne me reste plus que l'appvar pour stoker le score, je vais faire des recherches sur Omnimaga pour savoir comment faire.
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|