![]() |
écran de présentation |
dans "des programmes pour votre micro - Battle games"
publié en 1982 écrit en Sinclair BASIC pour ZX 81
![]() |
| une adaptation classique en FreeBASIC |
' --- Origine Nerd propose ---
' --- un listing en FreeBASIC pour ---
' --- RETROGICIEL - LE COMBAT AERIEN ---
' --- Initialisation du mode écran ---
SCREEN 12
' --- Lancement du générateur de nombres aléatoires ---
RANDOMIZE
' --- Déclaration des variables ---
DIM kdistance AS INTEgER = 0
DIM kvitesse AS INTEgER = 0
DIM ksaisie AS STRING = ""
' --- Entrée de la boucle principale ---
DO
' --- Initialisation des variables ---
kvitesse = INT ( RND * 11 ) - 5
kdistance = -INT ( RND * 3 ) + 1
' --- Boucle du déroulement jeu ---
DO
' --- Affichage du titre, de la position et de la vitesse ---
CLS
PRINT "COMBAT AERIEN"
PRINT ""
IF kdistance < 0 THEN PRINT "VOUS ETES DERRIERE LUI " ; kdistance
IF kdistance > 0 THEN PRINT "VOUS ETES DEVANT LUI " ; kdistance
IF kdistance = 0 THEN PRINT "VOUS ETES EN POSITION DE TIR"
IF kvitesse > 0 THEN PRINT "VOTRE VITESSE EST TROP ELEVEE " ; kvitesse
IF kvitesse < 0 THEN PRINT "VOTRE VITESSE EST TROP FAIBLE " ; kvitesse
IF kvitesse = 0 THEN PRINT "VOTRE VITESSE EST CONVENABLE"
' --- Teste la touche appuyée ---
ksaisie = INKEY
IF UCASE ( ksaisie ) = "A" AND kvitesse < 5 THEN kvitesse = kvitesse + 1
IF UCASE ( ksaisie ) = "R" AND kvitesse > -5 THEN kvitesse = kvitesse - 1
IF UCASE ( ksaisie ) = "F" AND kdistance = 0 THEN ksaisie = "TIR"
IF UCASE ( ksaisie ) = "F" AND ABS ( kdistance ) > 1 THEN PRINT "VOUS L'AVEZ JUSTE EFFLEURE"
' --- Vide le tampon du clavier ---
DO : LOOP UNTIL ( INKEY = "" )
' --- Pausse inconditionnelle ---
SLEEP ( 500 , 1 )
' --- Actualisation et controle de la distance ---
kdistance = kdistance + kvitesse
IF ABS ( kdistance ) > 20 THEN ksaisie = "LOIN"
LOOP UNTIL ( ksaisie = "TIR" OR ksaisie = "LOIN" )
' --- Analyse de la fin de pertie ---
IF ksaisie = "LOIN" THEN PRINT "VOUS L'AVEZ PERDU DE VUE"
IF ksaisie = "TIR" THEN IF RND > .7 THEN PRINT "VOUS ETES TOUCHE" ELSE PRINT "VOUS L'AVEZ ABATTU !"
SLEEP ( 500 , 1 )
' --- Recommencer ou quitter du jeu ---
PRINT "R pour recommencer ou Q pour Quitter"
ksaisie = INPUT ( 1 )
LOOP UNTIL ( ksaisie = "q" OR ksaisie = "Q" )
' --- Programme : JFB ---
' --- Septembre 2023 ---
' --- Fin ---
![]() |
| une adaptation modernisée en Python |




Aucun commentaire:
Enregistrer un commentaire