Dual-Impact est le premier VRAI wargame disponible sur fx-Casio et c'est une création originale de Romain GUY (retenez mon nom ptits gars...) et fait tout de même 4 ko !.
La page de présentation est explicite quand aux touches disponibles. Un petit mot quand même à propos des modes de jeu. Le mode ARCADE est le mode par défaut: les tirs ne sont pas affectés par les distances, de même que le pourcentage de réussite aux tirs et les unités les plus faibles voient leurs chances de réussites (faiblement) augmenter.
Au fait, le but est d'éliminer toutes les unités adverses...
- L'interface:
La zone de jeu est divisée en 5 rangées verticales et 10 horizontales.
A gauche et en dessous se trouvent les IP (Info-Panels):
- Celui de gauche affiche:
- le nombre d'unités de chaque joueurs sous "UN:"
- les points de mouvement de l'unité sélectionnée (M) sous "XP:"
- les points de force (vie et tir) de l'unité sélectionnée (L) sous "M="
- Celui du bas affiche:
- les messages (partie gauche)
- les pourcentages de réussites (après chaque combat)
- le bouton quitter
Vous pouvez quitter le jeu à tout instant (phase de placement, de sélection ou de mouvement/combat) en cliquant sur le bouton en bas à droite.
- Les différentes phases:
Il y en a 3:
- la première concerne le placement. Il vous suffit de cliquer sur une case pour y placer une unité. Le joueur 1 doit placer ses unités dans la partie gauche et le joueur 2 dans la partie droite. Cette phase ne fait pas partie du jeu lui-même.
- la seconde concerne la sélection. Cliquez simplement sur une case contenant une de vos unités.
- la dernière concerne le déplacement/combat. Si vous sélectionnez une case vide, votre unité se déplace, si la case contient un ennemi, il y a combat.
- Les unités:
Elles sont de 4 types différents, définies par 2 caractéristiques et chaque joueur en a 5 à sa disposition. Les unités du joueur 1 sont nommées de 1 à 5 et celles du joueur 2 de A à E. Plus le numéro ou la lettre est élévé, plus l'unité est puissante (proportion inverse pour sa capacité de mouvement).
- Type 1, 2 ou A, B: Unité légère, possède 5 points de mouvements mais seulement 2 de force.
- Type 3 ou C: Unité polyvalente, possède 3 points de mouvements et 3 de force.
- Type 4 ou D: Unité puissante, possède 3 points de mouvements et 4 de force.
- Type 5 ou E: Unité surpuissante, possède 1 points de mouvement et 5 de force.
- Le déplacement:
Il vous suffit de cliquer sur une case située à une distance inférieure ou égale à M (voir Interface/IP Gauche). Si la distance est supérieure, l'unité ne bougera pas et vous devrez choisir une autre case.
- Le combat:
Pour engager un combat, cliquez sur une unité ennemie. La gestion des distances est la même que pour les déplacements.
- Les pourcentages:
En combat chaque unité possède un certain pourcentage de chances pour toucher l'adversaire:
- si les deux unités sont de forces égales, celui-ci est de 50%
- si l'attaquant est plus fort (L), le pourcentage est de 100-10L%
- si l'attaquant est plus faible (L), le pourcentage est de 10L+M%
En mode ADVANCED, on retranche 2 fois la distance au pourcentage.
Une unité est touchée si le nombre pris au hasard entre 0 et 100 est inférieur au pourcentage.
Ce pourcentage s'affiche dans l'IP du bas après le combat.
- Les dégâts:
- on retranche simplement L de l'unité sélectionnée à L de l'ennemi.
- en mode ADVANCED et si l'attaquant est plus fort que le défenseur, on diminue les dégâts d'une valeur égale à la distance.
- Les messages:
Quelques mots maintenant à propos des différents messages qui peuvent apparaître dans l'IP du bas:
- P1 POSITIONS: au joueur 1 de placer ses unités
- P2 POSITIONS: au joueur 2 de placer ses unités
- P1 ON LEFT: vous avez tenté de placer une unité du joueur 1 dans la partie droite
- P2 ON RIGHT: vous avez tenté de placer une unité du joueur 2 dans la partie gauche
- CLICK ON AREA !: vous avez cliqué en dehors de la zone de jeu
- P1 TURN: vous avez tenté, durant la phase de sélection, de sélectionnez une unité du joueur 1
- P2 TURN: vous avez tenté, durant la phase de sélection, de sélectionnez une unité du joueur 2
- UNIT x SELECTED: l'unité x a été selectionnée
- NOTHING HERE !: vous avez cliqué une case vide durant la phase de sélection
- UNAVAILABLE: vous avez cliqué une de vos unités durant la phase déplacement/combat
- TOO FAR: vous avez cliqué une case trop éloignée de l'unité sélectionnée durant la phase déplacement/combat
- MOVE COMPLETE: le déplacement s'est bien effectué
- HIT !: l'ennemi a été touché
- MISS: vous avez manqué l'adversaire
- DESTROYED: l'ennemi a été détruit
// D-IMPACT
// Taille: 3800 octets
// Auteur: Romain GUY
// The 1st Wargame on Fx ever !
ATTENTION:
-> correspond à la flèche de mise en mémoire
=> au then du menu goto
<> à différent de
* à multiplié
/ à divisé
ne confondez pas 0 (zéro) et O (la lettre)
Tapez les lignes jusqu'à atteindre le signe de fin de ligne (la flèche)
Comptez bien les espaces dans les Text x,y,s
0->A~Z:ViewWindow 0,126,0,0,62,0:AxesOff:CoordOff
Text 1,29,"**DUAL IMPACT**"
F-Line 28,56,97,56
Text 10,25,,"(C)1998 ROMAIN GUY"
Text 26,43,"GAME TYPE:"
Text 32,51,"ARCADE"
Text 44,39,"G->GAME TYPE"
Text 50,39,"EXE TO BEGIN"
Text 56,39,"EXIT TO QUIT"
Text 1,1,""
1->Q
While Z=0
Getkey=31=>Goto S
Getkey=47=>Goto X
If Getkey=75:Then If Q=1:Then 2->Q:Text 32,47,"ADVANCED":Else 1->Q:
Text 32,47," ARCADE ":IfEnd:Text 1,1,"":IfEnd
WhileEnd
Lbl S
Cls
For 62->I To 12 Step -10
For 0->J To 100 Step 10
Plot J,I
Next
Next
PxlOn 51,101
Horizontal 11
Horizontal 0
Vertical 101
Vertical 126
F-Line 101,62,126,62
F-Line 0,11,0,0
F-Line 2,11,2,0
F-Line 73,11,73,0
F-Line 75,11,75,0
F-Line 103,11,103,0
F-Line 124,11,124,0
F-Line 101,52,126,52
Text 4,110,"D-I"
Text 14,110,"UN:"
Text 21,105,"P1= 5"
Text 27,105,"P2= 5"
Text 34,110,"XP:"
Text 40,105,"M="
Text 46,105,"L="
Text 56,86,"/100"
F-Line 112,7,115,4
F-Line 115,7,112,4
F-Line 110,9,117,9
F-Line 117,9,117,2
F-Line 117,2,110,2
F-Line 110,2,110,9
Identity 5->Mat E
Augment(Mat E,Mat E)->Mat E
Fill (0,Mat E
[[2,2,3,4,5,2,2,3,4,5]]->Mat F
50->V:37->W
For 1->I To 10
If I>5:Then Text 56,5,"P2 POSITIONS":Else Text 56,5,"P1 POSITIONS":IfEnd
Lbl R
Text 1,1,""
V->X:W->Y
I=6=>50->X
I=6=>37->Y
Plot X,Y
X->V:Y->W
X>=110=>X<=117=>Y<=9=>Y>=2=>Goto X
X>100 Or Y<12=>Goto R
1+Int (X/10->A
6-Int ((Y-2)/10->B
Mat E[B,A]<>0=>Goto R
If A>5 And I<6:Then Text 56,5,"P1 ON LEFT ":Goto R:IfEnd
If A<6 And I>5:Then Text 56,5,"P2 ON RIGHT ":Goto R:IfEnd
I->Mat E[B,A]
B*10-6->B:A*10-5->A
I<6=>Text B,A,I
If I>5:Then I=6=>Text B,A,"A":I=7=>Text B,A,"B":I=8=>Text B,A,"C":I=9=>Text B,A,"D":I=10=>Text B,A,"E":IfEnd
Next
Text 56,5,"LET'S PLAY..."
5->E~F:1->P:50->V:37->W
Lbl 0
Text 1,1,""
V->X:W->Y
Plot X,Y
X->V:Y->W
Text 56,5," "
// 16 espaces
V->X:W->Y
X>=110=>X<=117=>Y<=9=>Y>=2=>Goto X
If X>100 Or Y<12:Then Text 56,5,"CLICK ON AREA !":Goto 0:IfEnd
Int (X/10->A
Int ((Y-2)/10->B
A+1->D:6-B->C
If Mat E[C,D]>5 And P=1:Then Text 56,5,"P1 TURN":Goto 0:IfEnd
If Mat E[C,D]<6 And P=2:Then Text 56,5,"P2 TURN":Goto 0:IfEnd
If Mat E[C,D]=0:Then Text 56,5,"NOTHING HERE !":Goto 0:IfEnd
Text 56,5,"UNIT"
Mat E[C,D]->I
I<6=>Text 56,25,I
If I>5:Then I=6=>Text 56,25,"A":I=7=>Text 56,25,"B":I=8=>Text 56,25,"C":I=9=>Text 56,25,"D":I=10=>Text 56,25,"E":IfEnd
Text 56,31,"SELECTED"
Mat F[1,I]->L
Text 46,117,L
I=1 Or I=2 Or I=6 Or I=7=>5->M
I=3 Or I=4 Or I=8 Or I=9=>3->M
I=5 Or I=10=>1->M
Text 40,117,M
C->G:D->H
A*10->A:B*10->B
F-Line A+1,B+3,A+9,B+3
F-Line A+9,B+3,A+9,B+11
F-Line A+9,B+11,A+1,B+11
F-Line A+1,B+11,A+1,B+3
A->T:62-B->S
Lbl 1
Text 1,1,""
V->X:W->Y
Plot X,Y
X->V:Y->W
Text 56,5," "
// 16 espaces
V->X:W->Y
X>=110=>X<=117=>Y<=9=>Y>=2=>Goto X
If X>100 Or Y<12:Then Text 56,5,"CLICK ON AREA !":Goto 0:IfEnd
Int (X/10->A
Int ((Y-2)/10->B
A+1->D:6-B->C
If (P=1 And Mat E[C,D]<6 And Mat E[C,D]<0) Or (P=2 And Mat E[C,D]>5 And Mat E[C,D]<11) Or X>100 And Y<12:Then Text 56,5,"UNAVAILABLE":Goto 1:IfEnd
Int (sqr(Abs (C-G)²+Abs (D-H)²))->Z
If Z>M:Then Text 56,5,"TOO FAR":Goto 1:IfEnd
(A+1)*10-5->A:(6-B)*10-6->B:T=0=>1->T
If Mat E[C,D]=0:Then 0->Mat E[G,H]:I->Mat E[C,D]:Text S-7,T," ":Text S-10,T," ":If I<6:Then Text B,A,I:Else I=6=>Text B,A,"A":I=7=>Text B,A,"B":I=8=>Text B,A,"C":I=9=>Text B,A,"D":I=10=>Text B,A,"E":IfEnd:Text 56,5,"MOVE COMPLETE":Goto N:IfEnd
Mat E[C,D]->U
If Mat E[C,D]<>0:Then Mat F[1,U]->K:L=K=>50->O:L<K=>L*10+M->K:L>K=>100-10*L->O:Q=2=>0-2Z->O:If O>=10:Then Text 56,78,O:Else Text 56,82,O:IfEnd:If Int(100Ran#)<O:Then Text 56,5,"HIT !":K-L->Mat F[1,U]:Q=2 And L>K=>Mat F[1,U]+Z->Mat F[1,U]:If Mat F[1,U]<=0:Then Text 56,5,"DESTROYED":Text B,A," ":Mat E[C,D]<6 And Mat E[C,D]>0=>Dsz E:Mat E[C,D]>5=>Dsz F:0->Mat E[C,D]:Text 21,121,E:Text 27,121,F:IfEnd:Else Text 56,5,"MISS":IfEnd:Text S-7,T," ":Text S-10,T," ":If I<6 Then Text S-8,T+5,I:Else I=6=>Text S-8,T+5,"A":I=7=>Text S-8,T+5,"B":I=8=>Text S-8,T+5,"C":I=9=>Text S-8,T+5,"D":I=10=>Text S-8,T+5,"E":IfEnd:IfEnd
Lbl N
E=0=>2-P
F=0=>1->P
E=0 Or F=0=>Goto W
If P=2:Then 1->P:Else 2->P:IfEnd
Goto 0
Lbl X
Cls
Text 1,1,"DUAL-IMPACT"
Text 7,1,"THE 1ST WARGAME EVER ON FX"
Text 14,1,"(C)1998 ROMAIN GUY"
Text 25,1,"WWW.CHEZ.COM/POWERTEAM"
ViewWindow -6.3,6.3,1,-3.1,3.1,1:AxesOn:ClrText:Stop
Lbl W
Cls
Text 2,25,"AND THE WINNER IS..."
F-Line 53,46,73,46
F-Line 53,46,63,31
F-Line 73,46,63,31
Text 20,61,"P"
Text 20,65,P
F-Line 60,35,60,29
F-Line 66,35,66,29
F-Line 58,29,68,29
F-Line 58,29,58,24
F-Line 68,29,68,24
F-Line 55,24,71,24
F-Line 55,24,55,20
F-Line 55,20,71,20
F-Line 71,20,71,24
F-Line 53,20,73,20
F-Line 57,20,57,8
F-Line 59,20,59,8
F-Line 69,20,69,8
F-Line 67,20,67,8
F-Line 53,8,73,8
F-Line 53,8,53,6
F-Line 53,6,73,6
F-Line 73,6,73,8
For 0->I To 62 Step 2
Horizontal I
Next
For 61->I To 1 Step -1
Horizontal I
Next
Goto X