D'après LE SIEGE DU CHATEAU 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 bataille furieuse et sanglante oppose le roi et son plus mortel ennemi, le Baron félon. Vous êtes un des meilleurs archers royaux et, caché derrière des buissons qui entourent le chateau ennemi, vous décochez vos flèches dès l'apparition des assiégés aux créneaux.
Votre ordinateur affiche une rangée de huit points et la lettre O. Vous devez très rapidement presser la bonne touche, de 1 à 9, selon la position de O, avant que la lettre ne disparaisse. Combien d'hommes du Baron allez-vous réussir à éliminer ?
Seriez-vous capable de changer le programme pour avoir 2 cibles : S, un des soldats du Baron, comptant pour 1 point et C, un des chevalier félons, comptant pour 5 points ?
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 ---
' --- un listing pour FreeBASIC pour ---
' --- RETROGICIEL - LE SIEGE DU CHATEAU FORT ---
' --- 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
' --- Présentation du titre du jeu ---
CLS
PRINT "LE SIEGE DU CHATEAU FORT"
PRINT ""
SLEEP ( 2000 )
' --- Boucle des dix tentatives ---
DIM kscore AS INTEGER = 0
FOR kfleche AS INTEGER = 1 to 10
' --- Création de la ligne des crénaux avec un garde ---
DIM kcrenaux AS STRING = ""
DIM kgarde AS INTEGER = ( RND * 8 ) + 1
FOR kposition AS INTEGER = 1 TO 9
IF kposition = kgarde THEN kcrenaux = kcrenaux + "O" ELSE kcrenaux = kcrenaux + "."
NEXT
PRINT kcrenaux ;
' --- Analyse du tir du joueur ---
SLEEP ( 1500 )
ksaisie = INKEY
IF VAL ( ksaisie ) = kgarde THEN
PRINT " >>> TOUCHE EN " + ksaisie
kscore = kscore + 1
ELSE
PRINT " >>> RATE EN " + ksaisie
END IF
NEXT
' --- Fin de partie ---
PRINT "VOUS AVEZ REUSSIS " + STR ( kscore ) + " COUPS SUR 10" + CHR ( 13 )
' --- 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