Page 1 of 1

[Grammer] Grayscale Ghristmas Game

Unread postPosted: 29 Nov 2012, 14:18
by Persalteas
EDIT: version en cours: Télécharger

Image

__________________________________________________________________________

Bonjour tout le monde !

Vous avez remarqué que je suis pas passé sur TI-Planet depuis 4 jours, c'est parce que je programmais :P

Je vous ai donc pondu un petit jeu tout gris, en moins de 2500 octets, s'il vous plait, dont la moitié sera peut-être même dans la mémoire archive, même.

En gros, c'est super beau, et méga-léger. Enfin, bien entendu, Wabbitemu s'escrime a ralentir le screen et l'affubler de niveaux de gris repoussants.

Image

En gros, vous êtes un père Noël, dormant tranquillement dans son traineau porté par la souple démarche bondissante de Rudolph, (oui, sur une vraie 83+ la démarche est souple, sur wabbitemu tout de suite moins...), et votre jeu préféré est de bombarder les gens d'en dessous avec des paquets.

Vous avez 200 paquets à distribuer, et il faut pas rater de maison, sinon vous perdez des points.
Je n'ai pas mis le jeu complet a disposition du public (puisque je vais le présenter au concours de Noël d'espace-TI), mais ça vous fait une petite preview, au cas où vous ayez des idées de trucs à rajouter, parce c'est vite lassant en fait, de pondre des cadeaux.

Télécharger une preview de NOYEL

(Vous avez bien sur besoin de l'appli Grammer pour le lancer, et si vous voulez comprendre le code, je vous conseille d'activer les hooks...)

prgmNOYEL
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Select all
:.0:"Grammer Noyel !
:If 5/3≠1
:Then
:ClrDraw
:Text(0,0,"Please install Grammer
:Text(7,0,"to run this program.
:Return
:End
:AsmPrgmFDCB24DEC9
:ClrDraw
:Text(0,0,"loading...
:DispGraph
:π9872→Z
:π9340→Y
:Lbl "N","ZCH→a
:Lbl "O","ZCH→b
:Lbl "Y","ZCH→c
:Lbl "E","ZCH→d
:Lbl "L","ZCH→e
:Send(6,"DNOYEL→M
:Lbl "T1","ZCH→p
:Lbl "T2","ZCH→q
:Lbl "B","ZCH→r
:Lbl "C","ZCH→s
:Lbl "A","ZCH→w
:Lbl "H1","ZCH→x
:Lbl "H2","ZCH→y
:Lbl "H3","ZCH→z
:Lbl "F→F
:.MENU
:Disp 'Y
:Disp °Z
:ClrDrawZ
:ClrDraw
:Shade(27
:Lbl "CH","ZCH→A
:prgmA
:solve(1,Y,Z,768
:Fill(0
:Line(31,35,19,33,0
:For(C,1,5
:If C=1
:a→B
:If C=2
:b→B
:If C=3
:c→B
:If C=4
:d→B
:If C=5
:e→B
:For(A,1,7
:2*C -1→K
:Pt-On(10,B,A,K,2,13,Z
:DispGraph
:If A≠7
:Pt-On(10,B,A,K,2,13,Z
:prgmF
:End
:End
:Output(2
:Disp Z
:Text(56,10,"start / stats / quit
:Disp Y
:Disp °Z
:0→K
:r→C
:Return→R
:getKey→G
:If K=0
:Then
:randInt(3,88→A
:randInt(0,15→B
:End
:If K=0  or K=7
:Pt-On(10,C,B,A,1,8,Z
:If K=7
:‾9→K
:K+1→K
:prgmF
:If G=15  or G=50  or G=49
:Goto Lbl "Q
:If G=51
:prgmLbl "STAT
:If G=99
:Goto Lbl "MENU
:If G<52
:Goto R
:ClrDrawZ
:Fill(0
:p→C
:q→D
:0→K →J
:M[0,0,0,0,0,0
:2→V
:Shade(30
:Horizontal 56,0
:
:
:Return→R
:getKey→G
:K+1→K
:If K=1  or K=5
:Pt-On(10,C,2,3,5,16,Z
:If K=6  or K=10
:Pt-On(10,D,2,3,5,16,Z
:If K=10
:0→K
:If J=0  and randInt(0,2
:Then
:0→H
:randInt(1,5
:If =1
:x→H
:If =2
:y→H
:If =3
:z→H
:If =4
:Pt-On(10,w,40,11,,16
:If H
:Then
:Pt-On(10,H,40,10,2,16
:M+5 [1
:End
:End
:DispGraph
:Tangent(V,2
:J+V→J
:Vertical 95
:Vertical 94
:Horizontal 56,0
:Pxl-Off(randInt(56,65),randInt(94,97
:DispGraph
:If J≥16
:Then
:solve(1,M+1,M,5
:M+5 [0
:0→J
:End
:If G=15
:Goto Lbl "MENU
:Goto R
:
:.Q
:ClrDraw
:ClrDrawZ
:DispGraph
:ClrHome
:Stop
:.F
:DispGraph
:Fill(23,0,35,4,4,18
:End
:.STAT
:Disp Y
:ClrDraw
:Text(0,0,"BC
:DispGraph
:!Pause If getKey=15
:99→G
:End


prgmZCH (data)
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Select all
:.CH
:Line(24,0,25,46,3
:Line('25,0,69,0,0
:Line(6,24,10,81,3
:Line('5,27,88,27
:Line(15,33,22,64,3
:Line(4,54,11,88,3
:Line('5,63,91,63,0
:Line(30,33,20,34,3
:Line(23,33,22,48,3
:Line('24,53,28,53
:Line('66,53,70,53
:Line('28,52,66,52
:Line('11,23,17,23
:Line('78,23,84,23
:Line('17,22,24,22
:Line('69,22,78,22
:Circle(29,13,3
:Circle(29,26,3
:Circle(29,41,3
:Circle(29,54,3
:Circle(29,67,3
:Circle(29,79,3
:End
:.A
:08081C3E1C7F3E7EFF7EFF7EFF3C1818
:.C
:004428FE92FE
:.N
:08101C181E181D18391C391C389C389C18581878183808100000
:.O
:07E008101008300C700E700E700E700E700E300C1008081007E0
:.E
:0FC03FF06018E000F000FC00F800F000E00860103FF00FC00000
:.Y
:700C380C3C181F380FF8007000F001E003C007003C00F0000000
:.L
:38003C003C001C001C001C001800180018E01FF81FFC38060000
:.B
:10101028C7281010
:.T1
:0E0000028A1F0000012414800000C82780000070048FFFFF28371003FFC479EFFC01AE7080001E1073403F6020F0471C80A 0BFFA0083A08004005C6080090060107FFE0080102044010020FFF8030000
:.T2
:0E000001541F00000288148000005027800000B0048FF8008837100FF10479EF800F3870807FFFC0734001F040F0471A008 0BFFA3400808004340280800922FD407FFE0280C02044010040FFF8010020
:.H1
:000000C000C00FF010C8200440028001FFFF400440044C044C04403440344034
:.H2
:03003FFC20042524200425542004FC54820481148084FF14820482749A549A54
:.H3
:0000019803D807F80E781DB83C3C7FFE20043FFC35543FFC20042FF428942894

Re: [Grammer] Grayscale Ghristmas Game

Unread postPosted: 17 Dec 2012, 00:49
by Xeda E.
Hehe, les graphismes sont spectaculaires o.o Je devrais télécharger le programme pour que je puisse l'optimiser pendant mes vacances.

Re: [Grammer] Grayscale Ghristmas Game

Unread postPosted: 17 Dec 2012, 07:50
by Persalteas
Il a beaucoup évolué depuis, je publierai la version définitive le 21/12/12, après le concours Espace-TI.

Re: [Grammer] Grayscale Ghristmas Game

Unread postPosted: 17 Dec 2012, 15:37
by Xeda E.
Ah, d'accord, merci :D

Re: [Grammer] Grayscale Ghristmas Game

Unread postPosted: 17 Dec 2012, 16:05
by Persalteas
Donc mise à Jour :)

(Fait avec TokenIDE :D )

Code: Select all
.0:Return
->a
pi9872->Z
pi9340->Y
MakeVar(6,"UNOYEL->M
2+FindVar("UNY->w+16->s+138->r+8->p+80->q+80->x+32->y+32->z+32->b+1->c+1->d+1->e
Lbl "F->F
SetBuf('Y
SetBuf(^^oZ
ClrDrawZ
ClrDraw
Contrast(27
Rect(24,0,25,46,3
Rect('25,0,69,0,0
Rect(6,24,10,81,3
Rect('5,27,88,27
Rect(15,33,22,64,3
Rect(4,54,11,88,3
Rect('5,63,91,63,0
Rect(30,33,20,34,3
Rect(23,33,22,48,3
Rect('24,53,28,53
Rect('66,53,70,53
Rect('28,52,66,52
Rect('11,23,17,23
Rect('78,23,84,23
Rect('17,22,24,22
Rect('69,22,78,22
Circle(29,13,3
Circle(29,26,3
Circle(29,41,3
Circle(29,54,3
Circle(29,67,3
Circle(29,79,3
Misc(1,Y,Z,768
Fill(0
Rect(31,35,19,33,0
For(C,1,5
C*26 +FindVar("UNY->B
For(A,1,7
2*C -1->K
Tile(2,B,A,K,2,13,Z
DispGraph
If A!=7
Tile(2,B,A,K,2,13,Z
call F
End
End
SetFont 2
SetBuf(Z
Text(56,10,"start / quit / stats
SetBuf(Y
SetBuf(^^oZ
0->K
9->V
Return->R
getKey->G
call Lbl "BRILL
call F
If G=15  or G=51
Goto Lbl "Q
If G=50  or G=49
call Lbl "STAT
If G=99
Goto a
If G<52
Goto R
ClrDrawZ
Fill(0
M[0,0,0,0,0,0
2->V
0->W->I->J->K->U
~1->O
100->H
Contrast(30
Horizontal 56,0
Return->R
getKey->G
If O
Then
SetBuf('Z
Rect(0,0,35,15,0
Text(0,0,"Done:
Text('+6,0,I
Text(+6,0,"Fails:
Text('+6,0,J
Text(+6,0,"ToDrop:
Text('+6,0,H
SetBuf('Y
End
K+1->K
If K=1  or K=5
Tile(2,p,2,3,5,16,Z
If K=6  and G=14
Then
Inv(O->O
ClrDrawZ
End
If K=6  or K=10
Tile(2,q,2,3,5,16,Z
If K=10
0->K
If U=0  and randInt(0,2
Then
0->h
randInt(1,5
If =1
x->h
If =2
y->h
If =3
z->h
If =4
Tile(2,w,40,11,,16
If h
Then
Tile(2,h,40,10,2,16
M+5 [1
End
End
DispGraph
For(C,1,V
ShiftBuf(1,2
U+1->U
Vertical 95
End
Horizontal 56,0
Pxl-Off(randInt(56,65),randInt(94,97
DispGraph
If U>=16
Then
If (M
J+1->J
Misc(1,M+1,M,5
M+5 [0
0->U
End
If G=9  and !W
Then
H-1->H
1->W
0->theta
Tile(5,s,20,3
End
If W
Then
For(C,1,V+1
Rect(0,20,20,30,11
Horizontal 20
theta+1->theta
End
End
If theta>=19
Then
If !(M+1
J+1->J
If (M+1
Then
I+1->I
M+1 [0
End
0->W->theta
End
If !H  and !W  or G=15
Goto Lbl "E
Goto R
.E
0->S
If I>J
Then
I-2*J ->S
End
call Lbl "BUF1
Text(12,17,"Well Done !
Text(24,20,"Score:
Text('^^oS
call Lbl "BUF2
100-H->H
b[H+(b
c[I+(c
d[J+(d
If S>(e
e[S
call Lbl "STAT
Goto a
.Q
ClrDraw
ClrDrawZ
DispGraph
DelVar "UNOYEL
ClrHome
Stop
.F
DispGraph
Fill(23,0,35,4,4,18
End
.STAT
call Lbl "BUF1
Text(12,17,"Statistics
Text(36,12,"Total Drops:
Text('^^oGetInc(b
Text(29,12,"Total okays:
Text('^^oGetInc(b
Text(22,12,"Total fails:
Text('^^oGetInc(b
Text(43,12,"High Score:
Text('^^oGetInc(b
call Lbl "BUF2
99->G
End
.BRILL
If !K
Then
randInt(3,88->A
randInt(0,15->B
End
If !K  or K=7
Tile(2,r,B,A,1,8,Z
If K=7
~V->K
K+1->K
End
.BUF1
ClrDrawZ
Fill(0
For(90
Pxl-Off(randInt(3,63),randInt(3,93
End
SetBuf('Z
Rect(11,8,44,76,6
Rect(10,7,44,76,6
Rect('20,19,60,19
End
.BUF2
SetBuf('Y
0->K+1->V
For(C,1,10
For(U,1,53
Tile(2,s,U,C
call Lbl "BRILL
DispGraph
If getKey=15
Then
53->U
10->C
End
If U!=53
Tile(2,s,U,C
U+3->U
End
End
Repeat getKey=15
call Lbl "BRILL
DispGraph
End
End


Il est possible de cacher/afficher le texte sur l'écran qui gène la vue en gardant [^] appuyée une seconde.

Le score affiche parfois une valeur excentrique, et je ne sais pas pourquoi non plus. c'est étrange.
blop.gif

Re: [Grammer] Grayscale Ghristmas Game

Unread postPosted: 19 Dec 2012, 17:44
by Persalteas
J'ai mis à jour, ceci sera la version que je rendrai au concours. (FASTER SPEED !)

Mais je vais continuer à l'améliorer, notamment avec ces sprites et ce XOR.

Image