dimanche 10 septembre 2023

OPERATION ROBOTS POUR ZX 81

écran de présentation

D'après OPERATION ROBOTS 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. Un de leurs missiles vient de tomber à proximité du quartier général de la Terre et menace de le faire sauter. Tous comptent sur vous pour déminer cet engin diabolique.

Vous devrez trouver le code lettre secret qui permettra cette opération, code lettre que connaît votre ordinateur. Entrez une lettre de votre choix et il vous indiquera si elle se trouve placée dans l'alphabet, avant ou après le bon code. Vous disposez de 4 essais avant que le missile n'explose.

Vous pourrez améliorer sensiblement le programme en ajoutant le message "de justesse" si le joueur propose le bon code au quatrième essais. Ensuite, essayez de trouver un "truc" pour que le programme vous donne plus ou moins de chances de découvrir le bon code.

A la suite du listing complet pour le ZX 81, on trouvait 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 ---

' --- un listing en FreeBASIC pour ---

' --- RETROGICIEL - OPERATION ROBOTS ---


' --- Initialisation du mode écran ---

SCREEN 12


' --- Lancement du générateur de nombres aléatoires ---

RANDOMIZE


' --- Déclaration des variables --- 

DIM kcode AS STRING = ""

DIM ksaisie AS STRING = ""

DIM krate AS STRING = ""


' --- Entrée de la boucle principale ---

DO

' --- Présentation et affichage des consignes --- 

CLS

PRINT "OPERATION ROBOTS"

PRINT ""

PRINT "TROUVEZ LE BON CODE LETTRE (A - Z)"

PRINT "POUR DESAMORCER LE MISSILE."

PRINT "VOUS AVEZ 4 CHANCES"


' --- Valeur aléatoire du code lettre --- 

kcode = CHR ( 65 + INT ( ( RND * 26 ) ) )


' --- Boucle des saisies ( si erronées) --- 

FOR kessais AS INTEGER = 1 TO 4 

PRINT ""

PRINT "ESSAIS " & STR ( kessais ) & " SUR 4 : CODE LETTRE (A - Z) ? "

ksaisie = INPUT ( 1 ) 

ksaisie = UCASE ( ksaisie ) 

IF ksaisie = kcode THEN EXIT FOR 

IF ksaisie < kcode THEN krate = "APRES" ELSE krate = "AVANT" 

PRINT "LE BON CODE LETTRE EST " & krate & " " & ksaisie & "." 

NEXT


' --- Recherche du résultat de la partie --- 

PRINT ""

IF ksaisie = kcode THEN 

PRINT "TICK ... FZZZZ ... CLICK ... " 

PRINT "VOUS AVEZ REUSSIT. FELICITATION."

PRINT kcode & " ETAIT BIEN LE BON CODE LETTRE."

ELSE  

PRINT "BOOOOOOOMMM ..." 

PRINT "LE MISSILE A EXPLOSE."

PRINT "LE BON CODE LETTRE ETAIT " & kcode & "."

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 ---





une adaptation modernisée en Python




Aucun commentaire:

Enregistrer un commentaire

ORDINATEURS

LISTES DES ORDINATEURS TRS 80 ZX 81