![]() |
| écran de présentation |
D'après LES BLINDES ATTAQUENT de D. ISAAMAN et J. TYLER.
dans "des programmes pour votre micro - Battle games"
publié en 1982 écrit en Sinclair BASIC pour ZX 81
![]() |
| caractéristiques de la version originale |
Nous sommes en 2582, les peuples de la Terre sont en guerre contre les robots. Sous vos ordres, une brigade de blindés a été envoyée en plein désert pour détruire la vieille forteresse en ruine où se cache la dernière base importante des forces robots. Il ne vous reste plus que 5 missiles à bord de votre tank : ne gaspillez plus vos munitions, ajustez au mieux la direction et la hausse de votre canon à chaque tir. L'ordinateur vous demande de lui communiquer l'angle de tir compris entre -90° (extrême gauche) et +90° (extrême droite) ainsi que la hausse du tir, de 0 (au sol) à 90 (au zénith), qui détermine la distance au point d'impact. Avez-vous les nerfs assez solides pour accomplir cette mission ?
A la suite du listing complet pour le ZX 81, vous trouverez les modifications nécessaires pour l'utiliser sur les machines suivantes : VIC, PET, BBC, ACORM, TRS 80, APPLE et ZX SPECTRUM.
![]() |
| une adaptation classique en FreeBASIC |
contient une présentation et une adaptation en Python
un listing pour FreeBASIC et Python optimisées pour LINUX
une version exécutable pour Linux et pour Windows
' --- Origine Nerd propose pour ---
' --- un listing en FreeBASIC pour ---
' --- RETROGICIEL - LES BLINDES ATTAQUENT ---
' --- Initialisation du mode écran ---
SCREEN 12
' --- Lancement du générateur de nombres aléatoires ---
RANDOMIZE
' --- Déclaration des variables ---
DIM ksaisie AS STRING = ""
' --- Entrée de la boucle principale ---
DO
' --- Initialisation des variables ---
DIM kdirection AS INTEGER = 0
DIM khausse AS DOUBLE = 0
DIM kangle AS INTEGER = ( INT ( RND * 181 ) - 90 )
DIM kdistance AS DOUBLE = RND
ksaisie = ""
' --- Présentation ---
CLS
PRINT "LES BLINDES ATTAQUENT"
' --- boucle des essais du joueur ---
FOR kessais AS INTEGER = 1 TO 5
PRINT ""
PRINT "MISSILE " ; kessais ; " SUR 5 ..."
INPUT "ENTREZ LA DIRECTION (-90 A 90 ) ? " , kdirection
INPUT "ENTREZ LA HAUSSE ( 0 A 90 ) ? " , khausse
khausse = SIN ( 2 * ( khausse / 180 * 3.1416 ) )
IF ABS ( kangle - kdirection ) < 2 AND ABS ( kdistance - khausse ) < .05 THEN
ksaisie = "correcte"
EXIT FOR
ELSE
PRINT "MISSILE ENVOYE " ;
IF ( kdirection < kangle ) THEN ksaisie = "GAUCHE," ELSE ksaisie = "DROITE,"
PRINT "TROP A " ; ksaisie ;
IF ( khausse < kdistance ) THEN ksaisie = "PRET." ELSE ksaisie = "LOIN."
PRINT " ET TROP " ; ksaisie
END If
NEXT
' --- Test et affchage du résultat des essais ---
PRINT ""
IF ksaisie = "correcte" THEN
PRINT "BOOOUUUMMM"
PRINT "VOUS AVEZ FAIT MOUCHE"
ELSE
PRINT "MALHEUR - VOUS AVEZ ECHOUE"
PRINT "ALLEZ CACHER VOTRE HONTE"
END IF
PRINT ""
' --- 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 ---




Aucun commentaire:
Enregistrer un commentaire