Initiation au BASIC COULEUR
Tandy Cat. No 26-9486 Initiation au BASIC COULEUR TRS-80tm COLOR COMPUTER Affichage : COLOR BASIC v.r. © 1980 TANDY OK v.r. = 2 chiffres désignant la version que vous utilisez Language : COLOR BASIC Beginners All-purpose Symbolic Intructions Code Code d'instruction symbolique à l'intention des débutants
CHAPITRE 1 : FAITES CONNAISSANCE AVEC VOTRE ORDINATEUR
Affichage: PRINT "message"<ENTER> Résultat: OK PRINT "message" message OK Inverse Vidéo <SHIFT> + <0> (zéro) Notion chaine (strings) versus opération (numbers) Une chaîne de caractère est entre guillemet... Sans guillemet, il s'agit d'un nombre "2 + 2" signifie l'affichage de la formule 2 + 2. 2 + 2 signifie l'opération arithmétique d'addition de 2 + 2 = 4 donc PRINT "2 + 2 = " 2 + 2 : affiche "2 + 2 = 4" et PRINT 2 + 2 affiche 4 Opération: + ajout - soustrait / divise * multiplie Nombre à virgule : exemple: 15,2 Couleur: CLS(chiffre_couleur_fond) 0 : noir 1 : vert 3 : bleu 4 : rouge 7 : pourpre 8 : orange rien : vert (CLS<ENTER>) Sons: SOUND tonalité,durée exemple: SOUND 255, 100
CHAPITRE 2 : VOTRE ORDINATEUR N'OUBLIE JAMAIS RIEN (si vous ne le débranchez pas...)
Les variables: Nombre: nomVariable = nombre Exemple: A = 13 A = 17,2 affichage : tel qu'un nombre Exemple: PRINT 13 A = 13 PRINT A affiche la même chose Chaîne de caractère nomVariable$ = chaine Exemple: A$ = "allo" B$ = "toi comment ca va?"
CHAPITRE 3 : VOUS VOYEZ COMME C'EST FACILE
Création et exécution d'un programme NEW<ENTER> 10 PRINT "SALUT"<ENTER> RUN<ENTER> NEW : efface la mémoire 10 : signifie la ligne d'instruction numéro 10 RUN : exécute le programme Ajouter une ligne: 20 print "QUEL EST VOTRE NOM?"<ENTER> LIST<ENTER> : affiche la liste d'instruction du programme Demander une chaîne de caractère à l'usager: 30 INPUT A$<ENTER> Afficher le message entrée 40 PRINT "HI", A$<ENTER> Faire une boucle (répéter le programme) 50 GOTO 10 l'instruction GOTO 10 dit à l'ordinateur de refaire la ligne 10 et ce qui suit... pour arrêter une boucle infinie appuyer sur la touche <BREAK> Effacer une ligne d'un programme numéro_de_ligne<ENTER> CONDITION: IF valeur = valeur THEN no_ligne Exemple: IF R$ = "OUI" THEN 20 si R$ est égal à "OUI" on saute à la ligne 20 IF COULEUR = 9 THEN 40 si la couleur est égal à 9 on saute à la ligne 40
CHAPITRE 4 : BATTEZ LA MESURE
Boucle: 10 FOR X = 1 TO 10 20 PRINT "X = " X 30 NEXT X 40 PRINT "J'AI TERMINÉ LE COMPTAGE" Syntaxe: FOR nomVar = valeurDépart TO valeurFin [STEP ajout] instructions ... NEXT nomVar Exemple : compter les multiples de 3 10 FOR X = 3 TO 3 STEP 3 20 PRINT " " X " ", 30 NEXT X
CHAPITRE 5 : CHANTER LE TEMPS QUI PASSE
Boucle d'une seconde... 10 FOR Z = 1 TO 460 20 NEXT Z Boucles imbriquées 10 FOR Z = 1 TO 3 20 FOR Y = 1 TO 2 30 NEXT Y 40 NEXT Z Afficher un message dans la colonne suivante: PRINT ,message Horloge: 10 FOR H = 0 TO 23 20 FOR M = 0 TO 59 30 FOR S = 0 TO 59 40 CLS 50 PRINT H":"M":"S 60 SOUND 150,2 70 FOR T = 1 TO 375 80 NEXT T 90 NEXT S 100 NEXT M 110 NEXT H 120 GOTO 10 (horloge sans fin!) Chanson, Three blind mice 10 FOR X = 1 TO 2 20 SOUND 125,8 "Three" 30 SOUND 108,8 "blind" 40 SOUND 89,8 "mice" 44 FOR Y = 1 TO 230 (pause) 46 NEXT Y 50 NEXT X 60 FOR X = 1 TO 2 70 SOUND 147,8 "See" 80 SOUND 133,8 "how" 90 SOUND 133,8 "they" 100 SOUND 125,8 "run" 110 FOR Y = 1 TO 230 (pause) 120 NEXT Y 130 NEXT X Listage avancée: LIST noLigneDépart-noLigneFin<ENTER>
CHAPITRE 6 : DECISIONS, DECISIONS ...
Condition et fin de programme: 10 PRINT "VOULEZ-VOUS UN ECRAN ROUGE OU BLEU?" 20 INPUT C$ 30 IF C$ = "ROUGE" THEN 100 40 IF C$ = "BLEU" THEN 200 50 PRINT "VOUS DEVEZ ENTRER ROUGE OU BLEU" 60 GOTO 20 // ce n'était ni rouge ni bleu 100 CLS(4) // couleur rouge 110 END // fin du programme 200 CLS(3) // couleur bleu 210 GOTO 10 // redemande la question du début
CHAPITRE 7 : JEUX DE HASARD
Choisir un nombre de 1 à 10 10 PRINT RND(10) Roulette russe: NEW<ENTER> 10 PRINT "CHOISISSEZ L'ALVEOLE (1-10)" 20 INPUT X 30 IF X = RND(10) THEN 100 40 SOUND 200, 1 50 PRINT "--CLIC--" 60 GOTO 10 100 FOR T = 133 TO 1 STEP -5 110 PRINT " BANG!!!!" 120 SOUND T, 1 130 NEXT T 140 CLS 150 PRINT @ 230, "DESOLE, VOUS ETES MORT" 160 SOUND 1, 50 170 PRINT @ 390, "VICTIME SUIVANTE" Jeter les dés: 10 CLS 20 X = RND(6) 30 Y = RND(6) 40 R = X + Y 50 PRINT @ 200, X 60 PRINT @ 214, Y 70 PRINT @ 394, "Vous avez jete un " R 80 PRINT @ 454, "Voulez-vous jeter à nouveau les dés ?" 90 INPUT A$ 100 IF A$ = "OUI" THEN 10
CHAPITRE 8 : COMMENT CONSERVER UN PROGRAMME SUR BANDE
CCR-81 petit câble à la prise TAPE petite fiche grise --> prise REM grande fiche grise --> prise AUX fiche noire --> prise EAR Sauvegarder le programme: appuyer sur PLAY + RECORD (en même temps) CSAVE "nomProgramme"<ENTER> // le nom du programme doit avoir 8 lettres le TRS affiche OK lorsque l'enregistrement est terminé Charger le programme: Touche PLAY NEW<ENTER> (pour effacer tout programme existant) CLOAD "nomProgramme"<ENTER> // le nom du programme le TRS affiche S lorsqu'il recherche (search) le programme puis affiche F nomProgramme lorsqu'il l'a trouvé et OK lorsque le programme est chargé taper RUN ou LIST... Programme multiple: Touche PLAY SKIPF "nomProgramme"<ENTER> // aller au dernier programme ou SKIPF "nomProgramme"<ENTER> // inscrire un nom de programme qui n'existe pas // pour aller à la fin... le TRS affiche OK CSAVE "nouveauProgramme"<ENTER>
CHAPITRE 9 : COLORIEZ L'ECRAN
10 CLS(0) // ecran noir 20 SET(0,0,3) // point bleu(3) à la position x,y : 0,0 // 0,0 = coin haut gauche 63,31 = coin bas droit 30 GOTO 30 Le visage de l'ordinateur 5 CLS(0) // ecran noir 10 FOR H = 15 TO 48 20 SET(H,5,5) // ligne du haut 30 SET(H,20,5) // ligne du bas 40 NEXT H 50 FOR V = 5 TO 20 60 SET(15,V,5) // ligne de gauche 70 SET(48,V,5) // ligne de droite 80 NEXT V 90 SET (32,13,8) // nez orange 100 FOR H = 28 TO 36 110 SET(H,16,4) // bouche rouge 120 NEXT H 130 SET(25,10,3) // oeil gauche bleu 140 SET(38,10,3) // oeil droit bleu 150 RESET(38,10) // efface le point 160 GOTO 140 REBONDIR UN POINT 5 CLS(0) 10 FOR V = 0 TO 31 20 SET(31,V,3) 30 RESET(31,V) ou 30 IF V > 0 THEN RESET(31,V-1) 40 NEXT V 50 FOR V = 31 TO 1 STEP -1 60 SET(31,V,3) 70 RESET(31,V) ou 30 IF V < 31 THEN RESET(31,V+1) 80 NEXT V 90 GOTO 10 JOYSTICKS: 10 CLS 20 PRINT @0, JOYSTK(0); 30 PRINT @5, JOYSTK(1); 40 PRINT @10, JOYSTK(2); 50 PRINT @15, JOYSTK(3); 60 GOTO 20 PINCEAUX: 10 CLS(0) 20 H = JOYSTK(0) 30 V = JOYSTK(1) 40 IF V > 31 THEN V = V-32 50 C = JOYSTK (2) 60 IF C < 31 THEN C = 3 70 IF C >= 31 THEN C = 4 80 SET(H,V,C) 100 P = PEEK(65280) 110 IF P = 126 THEN 10 120 IF P = 124 THEN 10 130 GOTO 20
CHAPITRE 10 :
Messages et erreurs ?/0 ERROR : division par zéro ?FC Error Message : chiffre non compris entre 0 et 8 (CLS) : chiffre non compris entre 1 et 255 (SOUND) ?SN ERROR : erreur de syntaxe (ne comprend pas l'inverse vidéo) ?TM ERROR : Type Mismatch error (erreur d'assortiment) exemple: D = "chaine" OK : tout va bien Touche du clavier: SHIFT + 0 : inverse vidéo SHIFT + @ : pause un programme, appuyer sur une touche pour continuer... BREAK : arrête un programme Commandes: CLS[(code_couleur{0,8})] : efface l'écran (change de couleur) END : finir le programme FOR nomVar = noDepart TO noFin [STEP nombre] : boucle (se répète avec l'instruction NEXT nomVar) GOTO noLigne : saute au numéro de ligne spécifié IF condition THEN noLigne : si la condition est vrai, saute au numéro de ligne INPUT nomVar[$] : demande l'entrée d'une chaîne de caractère... nomVar$ ou d'un nombre nomVar LIST [noDépart-noFin] : affiche toutes ou quelques lignes d'un programme pos = JOYSTK({0,3}) : position du joystick (lire les positions de JOYSTK(0) avant les autres!) 0 = horizontale gauche (0,63) 1 = verticale gauche (0,63) 2 = horizontale droit (0,63) 3 = verticale droit (0,63) NEW : efface la mémoire et crée un nouveau programme NEXT nomVar : voir for ... to ... step ... next PEEK(adresse) : renvoie la valeur d'une adresse bouton = PEEK(65280) : bouton des joystick 127, 255 = rien 126, 254 = bouton gauche 125, 253 = bouton droit PRINT message[,variable] : affiche un message ponctuation à la fin : imprime quoi? ============================= virgule : imprime en colonne point-virgule : regroupe le texte de la ligne (aucun changement de ligne) aucune : changement de ligne ponctuation au début ============================= virgule : imprime sur la colonne suivante @ noCaractère, message : imprime le message au noCaractère précisé commence à 0, 32 caractère par ligne... RESET(x,y) : remet le point à sa couleur originale nombre = RND(limite) : choisi un nombre aléatoire entre 1 et limite RUN [noligne] : exécute un programme SOUND tonalité{1,255}, durée [1 = 6/100s, 100 = 6s] : fait un son SET (x{0,63},y{0,31},couleur{0,8}) : fait un point de couleur aux coordonnées x,y [] : signfie non nécessaire {} : valeur possible
Dernière modification: 2010-08-18 12:09:07 par Yan Morin
Hébergé par ProgYSM