dimanche 10 septembre 2023

LE MESSAGE CODE POUR ZX 81

écran de présentation


D'après LE MESSAGE CODE 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. Opérateur au centre des communications par laser, votre travail consiste à intercepter des messages émis par les robots et à les envoyer vers le quartier général. Un message codé, vital, est attendu, et de sa bonne transmission dépend la déroute des robots lors de leur prochaine attaque. Ce jeu va tester votre capacité de mémorisation d'un groupe de lettres aperçues très brièvement. Dès que vous aurez indiqué la difficulté (4 à 10) choisie, un groupe de lettres apparaîtra pour quelques instants en haut et à haut de votre écran. Tentez de vous en souvenir et frappez ces lettres sur le clavier. Ce message était-il le bon ?

Vous pourrez modifier ce programme, pour le rendre plus difficile, en insérant dans le message des chiffres et des ponctuations. Trouvez ensuite un moyen d'afficher le message plus ou moins longtemps.

A la suite du listing complet pour le ZX 81, vous trouverez les modifications nécéssaires 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 pour FreeBASIC pour ---
' --- RETROGICIEL - LE MESSAGE CODE ---

' --- Initialisation du mode écran ---
SCREEN 12

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

' --- Déclaration des variables --- 
DIM kdifficulte AS INTEGER = 0
DIM kmessage AS STRING = ""
DIM ksaisie AS STRING = ""

' --- Entrée de la boucle principale ---
DO
  ' --- Rappel du titre du programme --- 
  CLS
  PRINT "LE MESSAGE CODE"
  PRINT ""
  
  ' --- Sélection de la difficulté --- 
  BLS_Niveau:
    INPUT "DIFFICULTE CHOISIE (4 A 10) ? " , kdifficulte
    IF kdifficulte < 4 OR kdifficulte > 10 THEN GOTO BLS_Niveau
    
  ' --- Création du message secret codé ---
  kmessage = ""
  FOR kvaleur AS INTEGER = 1 TO kdifficulte
    kmessage = kmessage + CHR ( 65 + INT ( ( RND * 26 ) ) )
  NEXT
  
  ' --- Affichage (éphémère) du message codé ---
  CLS
  PRINT "ENVOYER CE MESSAGE :"
  PRINT ""
  PRINT kmessage
  SLEEP ( 1000 + ( 300 * kdifficulte ) , 1 )
  
  ' --- Retranscription du message par le joueur ---
  CLS
  INPUT "A VOUS DE TRANSMETTRE ... " , ksaisie
  ksaisie = UCASE ( ksaisie )
  
  ' --- Analyse de la saisie et affichage du résultat ---
  PRINT ""
  IF ksaisie = kmessage THEN
    PRINT "MESSAGE CORRECT. FELICITATION."
    PRINT "LA GUERRE EST TERMINEE."
  ELSE
    PRINT "MESSAGE ERRONE."
    PRINT "LE BON MESSAGE ETAIT : "  & kmessage
  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