![]() |
| écran de présentation |
D'après LES ENVAHISSEURS 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 |
Une multitude de robots envahisseurs s'apprête à vous attaquer. Heureusement, votre panoplie d'armes est très étendue, car vous aurez besoin d'un outil de guerre spécifique pour détruire chaque catégorie de robots.
Chaque robot sera présenté à l'écran par un symbole. Appuyez rapidement sur la touche correspondante et vérifiez combien d'envahisseurs vous avez réussi à éliminer. Attention : dans certains cas, vous devez également utiliser la touche SHIFT.
Certains robots sont les plus dangereux : U (Horrible), V (Sans-merci), W (Scorpion) et X (tête-en-fer). Vous est-il possible de modifier le programme pour que la destruction d'un "super-robot" vous rapporte 100 points au lieu de 10 ?
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.
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 ---
' --- un listing pour FreeBASIC pour ---
' --- RETROGICIEL - LES ENVAHISSEURS ---
' --- Initialisation du mode écran ---
SCREEN 12
' --- Lancement du générateur de nombres aléatoires ---
RANDOMIZE
' --- Déclaration des variables ---
DIM kscore AS INTEGER = 0
DIM kcolonne AS INTEGER = 0
DIM kligne AS INTEGER = 0
DIM krobot AS STRING = ""
DIM ksaisie AS STRING = ""
' --- Entrée de la boucle principale ---
DO
' --- Initialisation d'une partie ---
CLS
LOCATE 1 , 32
PRINT "LES ENVAHISSEURS"
SLEEP ( 3000 )
kscore = 0
' --- Boucle des 25 envahisseurs ---
FOR kenvahisseur AS INTEGER = 1 TO 25
' --- Initialisation du type et de la position ---
kcolonne = INT ( ( RND * 30 ) ) + 25
kligne = INT ( ( RND * 9 ) ) + 5
krobot = CHR ( 65 + INT ( ( RND * 26 ) ) )
ksaisie = ""
' --- Affichage de l'envahisseur ---
LOCATE kligne , kcolonne
PRINT krobot
SLEEP ( 1650 )
' --- Analyse le choix de lettre du joueur ---
ksaisie = INKEY
IF UCASE ( ksaisie ) = krobot THEN
LOCATE 18 , 34
PRINT "UN DE MOINS"
kscore = kscore + 1
ELSE
LOCATE 18 , 37
PRINT "MANQUE"
END IF
' --- Effacement de l'envahisseur ---
LOCATE kligne , kcolonne
PRINT " "
' --- Pause entre deux d'envahisseurs ---
SLEEP ( 500 , 1 )
' --- Effacement de l'analyse du tir ---
LOCATE 18 , 30
PRINT STRING ( 20 , " " )
NEXT
' --- Affichage du score obtenu ---
LOCATE 18 , 28
PRINT "VOUS TOTALISEZ " + STR ( kscore ) + " POINTS."
SLEEP ( 1500 )
' --- Recommencer ou quitter du jeu ---
LOCATE 20 , 21
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