|
Numéro 010 - 16 décembre 1983
|
|
### HEBDOGICIEL N°10 ###
- Edition du 16 décembre 1983 -
____________________________________________________________________
Numérisé par Ryusan, le 7 juin 2006.
____________________________________________________________________
Chaque page a été numérisée à partir d'un appareil photo numérique,
vérifiée, recadrée puis compressée.
Les défauts d'impression viennent du journal en lui-même et non de
l'appareil photo numérique ou d'un défaut de compression.
____________________________________________________________________
Sommaire du magazine:
Page 2 - INTERPRETEUR - Nicolas Fichelle - Commodore 64
Tirez sur l'avion qui se déplace devant vos canons, mais attention, le pilote est rusé : il peut se déplacer en dehors de l'écran et, croyez-moi, il ne se gène pas pour le faire.
Nicolas FICHELLE
Déplacement avec les touches A, S, F1 et F7. Tir avec la barre d'espacement. Si l'avion est trop loin, hors de l'écran, appuyez sur RETURN, vous le verrez réapparaître (contre 10 points en moins !). Vous avez 30 tirs pour abattre un avion et cinq avions à descendre.
COM64
Pour éviter les problèmes de gestion des sprites sur la droite de l'écran, vous devez utiliser un registre dans la carte mémoire. Il s'agit de l'adresse 16 qui contrôle le MSB (Bit) du registre de direction. Vous pouvez déplacer horizontalement le sprite de la position 256 à 320. Pour ce faire, placez dans le registre 16 la valeur représentative du sprite que vous désirez déplacer. Pour des positions de 0 à 255, il doit contenir la valeur 0.
Exemple, pour le sprite numéro 1 :
déplacement de 256 à 320 : POKE 53248 + 16,2
déplacement de 0 à 255 : POKE 53248 + 16,0
Dans le jeu "INTERCEPTEUR", aux lignes 137 et 138, vous pouvez remarquer que dans le cas ou "X" est supérieur à 255, la valeur est décrémenté de 255. L'écran se composant en 320 points de longueur, il y a 320 - 255 = 64 valeurs positives.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 2 - GEOFRANCE - Pierre-Marie Bernez - Commodore VIC 20
Les Français sont-ils toujours aussi peu doués pour la géographie ?
Ce programme vous permettra déjà de savoir si c'est le cas de vos amis (et de vous-même) !
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 3 - PUISSANCE 4 - Gérard Lecannu - MZ 80
Alignez 4 pions dans les trois dimensions. Essayez de battre l'ordinateur ou mesurez-vous à vos amis. (sans tricher, car l'oeil du MZ vous regarde !).
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 3 - B1-B2 - Jacques Fadeuilhe - HP 41
Ce programme est un utilitaire authentique permettant de convertir un nombre quelconque d'une base quelconque en une autre base quelconque.
Jacques FADEUILHE
I : UTILITE
Il est possible d'aller jusqu'a la base 184, mais la machine écrira la plupart des caractères sous la forme ¤ et l'Imprimante les répétera modulo 127. Il faut donc s'arrêter à la base 47, en sachant que les bases intéressantes sont 2, 10 et 16.
II : MATERIEL
- HP-41 C : utilisant 325 bytes et 3 registres mémoire
- Module "X-FUNCTIONS" : pouvant être remplacé en modifiant légèrement le programme, par des routines du PPC ROM.
* Nota : les registres utilisés étant R01, R02, R03, on doit faire un SIZE >= 4
(R00 reste toujours aloué au nombre aléatoire).
III : CONTENU DES REGISTRES :
- R00 : ce que vous voulez (ALEA)
- R01 : base de départ
- R02 : base d'arrivée
- R03 : tampon lors de l'exécution du programme
IV : MISE EN OEUVRE :
[SIZE] 004
chargement du programme
[XEQ] B1-B2
(1) entrée de la base de départ R/S
(2) entrée de la base d'arrivée R/S
(3) entrée du nombre à convertir R/S
pour retourner en (3), entrez R/S
pour retourner en (1) entrez C
En principe si la base de départ est inférieure ou égale à 10, la machine fait une saisie numérique.
Au contraire, si la base est supérieure à 10, la saisie est alphanumérique. Pour forcer le choix numérique, entrez A.
Pour forcer le choix alphanumérique, entrez B.
exemple :
base de départ ? 10 R/S
base d'arrivée ? 16 R/S
Nombre ? 135 R/S ==> 87
R/S 13579 R/S ==> 350B
R/S 65535 R/S ==> FFFF
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 4 - BASIC GESF - Didier Cugy - Goupil
GESF est un programme de gestion fichier fonctionnant sous XBASIC (C) TSC ainsi que sous la plupart des basics du Goupil (XBG48, XBG64, etc.).
GESF nécessite de disposer d'un micro-ordinateur 6800-6809 utilisant FLEX (C) TSC et disposant d'au moins 32 K de mémoire centrale.
GESF est à classer dans la catégorie des systèmes de gestion de fichiers paramétrables multifichiers (cf. Goupil revue n°3) et est capable de gérer dans la version proposée un fichier de 2.000 fiches sur une même disquette (8" sf double densité).
Didier CUGY
Après avoir entré le programme et lance la commande RUN :
à l'écran commentaire
run Lance l'exécution du programme
fichier?essai Attente du nom du fichier utilisé ici. Par ex. utilisons le fichier essai.
étiquettes Initialisation du module d'impression
standard (o-n) Si l'on répond oui, le système est initialisé pour fonctionner avec un listing supportant deux étiquettes par ligne, chaque étiquette faisant 8 lignes avec un intervalle d'une ligne entre deux étiquettes.
remarque :
Un fichier est composé d'un ensemble d'enregistrements, chaque enregistrement étant lui-même découpé en champs, chaque champs contenant une information specifique (p. ex. le nom d'une personne, son numéro de téléphone, etc.).
Le programme de gestion fichier étant multifichier il est nécessaire lors de la première utilisation d'un fichier de définir la structure d'un enregistrement (nb de champs et taille de chaque champs).
Nous allons utiliser dans notre exemple un fichier répertoire contenant des noms et des numéros de téléphone, chaque enregistrement étant découpé arbitrairement en trois champs :
le premier contenant le nom,
le deuxième, le prénom,
le troisième, le numéro de téléphone.
Nous attribuons de façon arbitraire 25 caractéres max. au nom, 25 au prénom, 15 au numéro de téléphone.
r** un enregistrement contient au plus 252 caractères.
Création des références du fichier essai
nombre de champs? 3
champs 1
identificateur : nom nom logique du champs 1
nb de caractères : 25
champs 2
identificateur : prénom
nb de caractères : 25
champs 3
identificateur : téléphone
nb de caractères : 15
le fichier est alors initialisé et s'affiche le menu.
1. création
2. édition
3. suppression
4. sélection
5. impression
taper f pour terminer
option (1..f) :
option 1 création d'un enregistrement
nom :dupont
prénom : rené
téléphone : 012 34 56
enregistrement 1 cree
autre création (o-n) o
nom : pericoloso
prénom : sporgersi
téléphone : 987 65 43
enregistrement 2 cree
autre création (o-n) n retour au menu
option 2 édition d'un enregistrement
ici p. ex. édition de l'enregistrement dupont
clef de l'enregistrement a éditer : dupont
nom : dupont
prénom : rené
téléphone : 012 34 56
modification (o-n) o
ici on veut par exemple modifier le numéro de téléphone
nom : dupont / pas de modification du nom
prénom : rené /
téléphone : 012 34 56 / 123 45 67 nouveau tél.
modification (o-n) n
r** a ce moment gesf va continuer a rechercher dans l'index s'il existe un autre dupont et s'il le trouve vous proposera de le modifier. Si vous désirez retourner au menu répondez c.
autre édition (o-n) n retour au menu.
option 3 suppression d'un enregistrement
ici, p. ex. suppression de l'enregistrement pericoloso
clef de l'enregistrement à détruire : pericoloso
nom : pericoloso
prénom : sporgersi
téléphone : 987 65 43
destruction (o-n) n
autre destruction (o-n) n retour au menu.
option 4 sélection d'enregistrements
le module de sélection demande les critères de sélection puis balaye entièrement le fichier et stocke dans le fichier (nom de fichier .wrk) dans notre cas essai.wrk les "adresses" des enregaistrements sélectionnés.
Ici, p. ex. nous allons sélectionner tous les enregistrements dont le numéro de téléphone commence par 0.
critère = < > valeur pour non prise en compte
nom
prénom
téléphone = 0 le système trie les enregistrements dont la vateur recherchée est préfixe de la valeur du champs considéré.
sélection terminée retour au menu
option 5 impression selon le format défini au début.
format d'impression
console ou imprimante (c-i) c pour une visualisation
les identificateurs de champs
situés sur une même ligne doivent être
séparés par une virgule.
r** gesf permet de définir le contenu d'une étiquette au moyen du nom logique des différents champs. Nous allons composer ici des étiquettes dont la première ligne comporte le nom ; la deuxième, le nom et le prénom ; la troisième, le prénom et le nom ; la quatrième, vide ; la cinquième, le prénom et le teléphone ; les autres lignes restant vides.
ligne 1 nom
ligne 2 nom, prénom
ligne 3 prénom, nom
ligne 4
ligne 5 prénom, téléphone
ligne 6
ligne 7
ligne 8
impression terminée.
r*** le module d'impression n'utilise que des enregistrements sélectionnés (pour sélectionner tout le fichier appeler le module de sélection et répondre à chaque question).
REMARQUE*****
Sur GOUPIL 2 et GOUPIL 3 l'instruction INCH$(0) ne renvoit pas l'écho du caractère lu au clavier.
Il est donc nécessaire d'ajouter après une entrée caractère au moyen de cette instruction un PRINT ; du caractère considéré.
ex.:
— en XBASIC TSC
X$=INCH$(0)
— en XBASIC GOUPIL
X$=INCH$(0):PRINT X$;
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 5 - CHRONO 33 - Philippe Durand - TRS 80
Le circuit de 5 kilomètres qui file sous les roues de votre bolide est dangereux : les plus grands pilotes du moment lèvent le pied dans les virages ! Armez-vous de courage et battez le record du tour !
Philippe DURAND
Ce programme d'environ 15 Ko de mémoire fonctionne sur modèles I et III. Il doit être charge avec un CLOAD et il faudra faire un MEMORY SIZE à l'adresse 32511 à la mise sous tension.
Le programme est écrit pour un clavier QWERTY et comprend une routine en langage machine pour sonoriser le programme.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 6 - BATAILLE NAVALE - J-C. Jacquet - ZX 81
Ecumeurs de toutes les mers du monde, à vos claviers. Battez vous contre l'ordinateur ou entre vous. Et, si vous gagnez, vous aurez droit aux félicitations de l'amiral.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 6 - CASSE-BRIQUE - Vincent Di Sanzo - MP-FII
Voici une version de l'ancêtre de tous les jeux d'arcade remis au goût du jour.
Déplacez votre raquette avec les curseurs du clavier. Vous avez droit à trois balles et à une quatrième si vous détruisez tout le mur. Ne faites pas sortir la raquette de l'écran, sinon c'est le "TILT" pour la balle en cours ! A vos raquettes !
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 7 - CAVATTACK - N. Baudiment - Spectrum
Les vaisseaux de l'espace s'affrontent. Mais, pour une fois, la bataille se déroule dans des galeries qui ont la facheuse faculté de rétrécir au fur et à mesure que la vitesse de votre engin diminue !
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 7 - NUMEROLOGIE - Oric 1 (Suite du listing du n°9)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 10 - PROGRAMMATION STRUCTUREE - Vincent Grenet - Apple II
Ce programme permet une programmation structurée sur APPLE, il simplifie et clarifie les programmes.
Vincent GRENET
Dans certains BASIC évolués, il existe les instructions WHILE, WEND, REPEAT, UNTIL, IF, THEN, ELSE. Celles-ci ne sont pas disponibles en APPLESOFT ; elles ont donc été écrites en langage machine. L'interpréteur BASIC est dérouté à l'aide de l'ampersand (&). Toutes instructions doivent donc être précédées de &.
Pour mettre le programme en route, un BRUN suffit.
1) WHILE, WEND
* syntaxe : & WHILE condition :
instructions
& WND :(attention, pas de E)
* fonction : tant que la condition est vraie, les instructions entre le & WHILE et le & WND sont exécutées. Si la condition est fausse, ces instructions sont ignorées et l'exécution reprend après le & WND.
exemple : 10 A = 0
20 & WHILE (A < 10)
30 PRINT A : A = A + 1
40 & WND
Ce programme produira 0 1 2 3 4 5 6 7 8 9.
Il vaut mieux inclure la condition entre parenthèses, pour améliorer la lisibilité. (Le mot WHILE n'étant pas connu de I'APPLESOFT, il n'est pas entouré de blancs.)
Un & WND peut être situé sur la même ligne ou sur une ligne différente du & WHILE. Les & WHILE/& WND peuvent être imbriqués.
Si dans un & WHILE, la condition est fausse et qu'il n'y a pas de & WND correspondant, le message "WHILE sans WEND" est émis et le programme s'arrête. Les erreurs peuvent bien sûr être récupérées par l'instruction ONERR GOTO. A ce moment, aucun message d'erreur n'est émis.
2) REPEAT, UNTIL
* syntaxe : & REPT
instructions
& UNTIL condition
* fonction : les instructions entre les & REPT et le & UNTIL sont répétées jusqu'à ce que la condition soit vraie.
Cette instruction est différente du WHILE/WEND, car les instructions sont d'abord exécutées, puis la condition est testée, et si elle est fausse, on recommence. Alors que dans le WHILE/WEND la condition est testée d'abord.
exemple : 10 A = 0
20 & REPT
30 PRINT A : A = A + 1
40 & UNTIL (A >= 10)
produira aussi 0 1 2 3 4 5 6 7 8 9.
Un & UNTIL sans un & REPT correspondant donnera le message "UNTIL SANS REPEAT".
Un & REPT sans & UNTIL ne produira aucun message d'erreur, mais aura pour effet d'encombrer inutilement la pile.
3) IF, THEN, ELSE
* syntaxe : & IF condition THEN :
instructions
& ELSE
instructions
& END
* fonction : cette instruction est en fait plus proche de celle du PASCAL que de celle du BASIC Microsoft. En effet il est possible d'intercaler plusieurs lignes entre le IF et le ELSE, et entre le ELSE et le END.
Si la condition est vraie, toutes les instructions entre le THEN et le ELSE seront exécutées, puis celles entre le ELSE et le END ignorées, pour reprendre l'exécution après le END.
Si la condition est fausse, les instructions entre le THEN et le ELSE seront ignorées, et celles entre le ELSE et le END exécutées. le programme se poursuivant normalement après le END.
Le ELSE et le END sont obligatoires (ils peuvent être omis dans certains cas bien particuliers. mais ceci est à déconseiller).
Pour simuler une instruction du type & IF expr THEN : ... : & END, il suffit d'écrire & IF expr THEN : ... : & ELSE : & END.
Noter bien les deux points après le THEN et le ELSE. L'instruction se termine après le THEN, contrairement à l'applesoft, et après le ELSE. Il est bien sûr possible d'imbriquer les IF (jusqu'à 256).
La pile utilisée sur ce programme n'est pas celle utilisée par le Basic, mais une pile spéciale afin de ne pas encombrer la pile de l'applesoft et de permettre jusqu'à 51 niveaux d'imbrication des WHILE et des REPEAT, les IF n'intervenant pas dans la pile.
Le programme se place juste sous les buffers du DOS. Si vous n'avez pas 48 Ko de mémoire, ou si vous utilisez plus de 3 buffers du DOS (instruction MAXFILES), il faut reloger le programme.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 11 - OTHELLO - Joël Giraud - TI-99/4A (Basic simple)
Ecrit en basic simple, un des jeux classiques pour ordinateur. Celui-ci vous permet de jouer contre votre Ti ou contre l'ordinateur. Qui sera le gagnant ?
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 12 - EDITEUR DE TEXTE - Gérard Sebbah - TI-99/4A (Basic étendu)
Un logiciel pour manipuler les caractères, triturer les lignes de texte, affoler les curseurs et jongler avec les pages !
Gérard SEBBAH
LES POSSIBILITES OU LOGICIEL :
- Insertion de caractères
- Suppression de caractères
- Insertion ou suppression de lignes
- Copie de ligne
- Déplacement du curseur dans toutes les directions
- Aller au mot suivant
- Aller en fin de ligne
- Aller à la page suivante
- Aller à la page précédente
- Savoir sur quelle ligne on se trouve
- Lire le mode d'emploi
- Sauvegarder et lire sur cassette.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 12 - BASE - Gérard Toreyre - Sharp PC 1500
Il existe des calculatrices spécialisées qui permettent de faire des calculs de transformation de base. Elles sont très utiles aux programmeurs. Le programme ci-dessous également.
Gérard TOREYRE
Vous pouvez effectuer des calculs dans quatre bases, passer facilement de l'une à l'autre et même stocker et rappeler des constantes.
DESCRIPTION DE L'ECRAN :
x : ? ................
. .
Base Résultat du
O)ctal calcul précédent
B)inaire ou espace
D)ecimal
H)exadecimal
MODE CALCUL : on rentre l'opérateur précédé de son signe (+,-,X) l'opération se fait avec le résultat de l'opération précédente (ou zéro)
exemple : D : ?
D : 10 (enter) ==> D : ? 10
D : +10 (enter) ==> D : ? 20
CHANGEMENT DE BASE : à tout instant on peut changer la base en rentrant la 1re lettre de la base désirée.
exemple : D : ? 20
D : O (enter) ==> O : ? 24
UTILISATION DES MEMOIRES AUXILIAIRES :
- pour stocker : Sn avec 1 <= n <= 5
exemple : D : si (enter) 20 ==> stocke 20 décimal dans la mémoire 1
- pour rappeler signe Rn avec signe = +, -, X, / et i <= n <= 5.
exemple : D : +R1 (enter) 25 ==> ici on ajoute le contenu de mem 1 à 25.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 13 - ALUNISSAGE - Yann Gehan - Casio FX 702-P
Bien calé dans votre siège éjectable, ceinture de sécurité bouclée, le tableau de bord de votre FX-702P s'étale devant vous. Arriverez-vous à piloter avec brio votre engin spatial pour sortir de l'orbite de la lune et y atterrir en douceur ?
Yann GEHAN
Entrer la quantité de carburant nécessaire, l'altitude à laquelle vous désirez être largué et la vitesse de descente (qui doit être négative). Votre tableau de bord affiche votre vitesse de descente en m/s et votre altitude en mètre. Vous pouvez alors allumez vos rétrofusées en indiquant la quantité de carburant nécessaire à leur fonctionnement. Il faut atterrir avec une vitesse inférieure ou égale à 5 m/s.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 14 - CALENDRIER - Martine Clayron - Canon X-07
Quel jour de la semaine êtes-vous né ? Quel jour "tombe" le premier janvier 1985 et quels sont les jours fériés de l'année prochaine ? Ne comptez plus sur vos doigts, l'horloge en temps réel du X-07 et ce petit programme vont vous faciliter la tâche !
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 15 - BARON ROUGE - Pierre-Yves Chevalier - Thomson TO7
Vous pilotez un hélicoptère. Atteindrez-vous le SCORE fatidique de 90 points qui vous fera amiral en chef du Baron Rouge ?
Pierre-Yves CHEVALIER
Déplacez votre hélicoptère avec les touches Y, G, H et B. Tirez avec la touche K. Vous avez droit à dix tirs.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Page 15 - ACROBATE - Pierre Palmade - Oric 1
Les acrobates prennent leur élan et, avec leur tremplin, sautent de plus en plus haut pour crever les ballons qui défilent dans le ciel. Le cirque dans votre salon !
Pierre PALMADE
Vous devez crever le maximum de ballons (41 au total) en faisant rebondir alternativement deux acrobates sur un tremplin.
Vous dirigez le tremplin avec les flèches gauche et droite du curseur. Pour faire sauter l'acrobate en début de jeu, appuyez sur la barre d'espace, il se déplacera vers la droite tant que vous appuierez. Vous avez dix tremplins, les ballons rouges valent 3 pts, les bleus 2 pts et les roses 1.
PARTICULARITES DU PROGRAMME :
- PRINT CHR$ (6) enlève le bip des touches.
- PRINT CHR$ (17) enlève le clignotement du curseur.
- Le tremplin est défini sur les caractères fgh.
- Les acrobates sur le caractère i.
- PEEK (#208) prend les valeurs suivantes :
- 172 quand la touche est enfoncée.
- 188 quand la touche est enfoncée.
- 56 quand aucune touche n'est enfoncée.
- L'acrobate peut dévier entre les ordonnées 7 et 12.
- CALL #F89B (ligne 1000) re-initialise tous les caractères.
************************************
[ sommaire en mode texte offert par huggyone76 ]
|
|