D'après L'ARME SECRETE de D. ISAAMAN et J. TYLER.
dans "des programmes pour votre micro - Battle games"
publié en 1982 écrit en Sinclair BASIC pour ZX 81
Nous sommes en 2582, les peuples de la Terre sont en guerre contre les robots. Grâce à votre nouvelle arme secrète, vous allez être en mesure de détruire le Magasin des Pièces de Rechange des robots, enterré dans les étendues désertiques de l'Est. Cette nouvelle arme peut traverser la roche sans bruit, désagrégeant tout sur son passage. Mais le Magasin est si intelligemment dissimulé que vous ne pouvez guère diriger votre arme qu'à l'aveuglette en espérant arriver le plus près possible de l'objectif.
Définissez la difficulté du jeu (4 étant le plus petit nombre autorisé) et communiquez les coordonnées (X et Y) probables de l'objectif. Vous entrez séparément X et Y.
Pourriez-vous modifier la comptabilisation du score pour que vous obteniez 1 point à chaque fois que vous échouez de peu et de 10 points en cas de réussite complète ?
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 en FreeBASIC pour ---
' --- RETROGICIEL - L'ARME SECRETE ---
' --- 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 kabscisse AS INTEGER = 0
DIM kordonnee AS INTEGER = 0
DIM khorizontal AS INTEGER = 0
DIM kvertical AS INTEGER = 0
DIM kdistance AS DOUBLE = 0.0
DIM ksaisie AS STRING = ""
' --- Entrée de la boucle principale ---
DO
' --- Affichage du titre ---
CLS
PRINT "L'ARME SECRETE"
PRINT ""
' --- Choix de la dificulté ---
BLS_Niveau:
INPUT "DIFFICULTE CHOISIE (4 A 9) ? " , kdifficulte
IF kdifficulte < 4 OR kdifficulte > 9 THEN GOTO BLS_Niveau
' --- Initialisation des variable ---
kabscisse = INT ( RND * kdifficulte ) + 1
kordonnee = INT ( RND * kdifficulte ) + 1
ksaisie = "0"
' --- Boucle des 5 essais du joueur ---
FOR kessais AS INTEGER = 1 TO 5
' --- Saisie des coordonnées par le joueur ---
PRINT "COORDONNEES X ET Y DU TIR" ; kessais ; " SUR 5."
INPUT "ENTREZ LA VALEUR DE X ... " ; khorizontal
INPUT "ENTREZ LA VALEUR DE Y ... " ; kvertical
' --- Calcul de la distance entre l'impac et le magasin ---
kdistance = SQR ( ( ( kabscisse - khorizontal ) ^ 2 ) + ( ( kordonnee - kvertical ) ^ 2 ) )
' --- Analyse du tir du joeur ---
IF kdistance = 0 THEN
ksaisie = STR ( kessais )
EXIT FOR
ELSEIF kdistance <= 3 THEN
PRINT "PAS LOIN"
ELSE
PRINT "MAUVAISE LOCALISATION"
END IF
NEXT
' --- Affichage du résultat de la partie ---
PRINT ""
IF ksaisie = "0" THEN
PRINT "LES ROBOTS VOUS ONT REPERE. VOUS ETES M ... AGGHHH"
ELSE
PRINT "VOUS L'AVEZ DETRUIT EN " ; ksaisie ; " COUPS"
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