Jeux de chances

GW-BASIC (PC-BASIC)

Initiation au langage Basic

Merci à un mot BASIC appelé RND, l'ordinateur peut jouer à presque n'importe quel jeu de hasard. Et même si vous ne voulez pas jouer à des jeux informatiques, vous voudrez apprendre deux mots que ce chapitre introduit : RND et LOCATE.

Vous trouverez également dans ce chapitre d'autres utilisations de IF THEN.

Pour que RND génère un nombre différent à chaque nouvelle exécution d'un programme insérez au débute du programme la ligne:

5 RANDOMIZE TIMER

Tapez ce programme :

10 PRINT RND(1)

Note si vous utilisez PRINT RND(0), RND généra toujours le même nobre.

L'ordinateur vient de choisir un nombre aléatoire.

Exécutez-le plusieurs fois ... C'est comme si l'ordinateur tirait un nombre d'un chapeau. Le nombre qu'il choisit est imprévisible.

Pour choisir un nombre de 1 à N, on utilise 

A=INT(N*RND(1)+1)

où N est le nombre maximum à générer.

Exemple A=INT(10*RND(1)+1) L'ordinateur généra un nombre aléatoire de 1 à 10.

Tapez et exécutez ce programme suivant. Appuyez sur BREAK (CTRL+C) lorsque vous vous assurez que les nombres sont aléatoires.

5 RANDOMIZE TIMER
10 PRINT RND(1)
20 GOTO 10

ou encore

5 RANDOMIZE TIMER
10 PRINT INT(49*RND(1)+1)
20 GOTO 10

Comment pouvez-vous changer le programme pour obtenir des nombres aléatoires de 1 à 255 ?

10 PRINT A=INT(255*RND(1)+1)

Un spectacle aléatoire

Juste pour le plaisir, demandez à l'ordinateur de composer une chanson composée de tonalités aléatoires.

5 RANDOMIZE TIMER
10 T= INT(255*RND(1)+1)
20 IF T<37 THEN 10
30 SOUND T,5
40 GOTO 10

La ligne 20 vérifie si T est plus grand que 37.
Car SOUND n'accepte pour son premier paramètre (freg) que les nombres de 37 à 32767 (T dans ce programme).

Pour le deuxième paramètre (durée) SOUND accepte les nombres de 0 à 65535. (5 T dans ce programme)

Ce programme compose une chanson composée de tonalités et de durée aléatoires:

5 RANDOMIZE TIMER
10 T= INT(255*RND(1)+1)
20 IF T<37 THEN 10
25 D= INT(25*RND(1)+1)
30 SOUND T,D
40 GOTO 10

PROGRAMME À FAIRE VOUS-MÊME

Ajoutez quelques lignes pour que l'ordinateur affiche une couleur aléatoire (1·16) juste avant qu'il n'émette chaque tonalité aléatoire.

5 RANDOMIZE TIMER
10 SCREEN 9
20 COLOR 7,0
30 CLS

40 T= INT(255*RND(1)+1)
50 IF T<37 THEN 10
60 C = INT(16*RND(1)+1)
70 COLOR 7,C

80 SOUND T,5
90 GOTO 40

Nous avons quelques jeux simples dans cette section. N'hésitez pas à utiliser votre imagination pour les intéresser ou inventez la vôtre.

Roulette russe

Dans ce jeu, un pistolet a 10 chambres. L'ordinateur choisit, au hasard, laquelle des 10 chambres contient la balle fatale.

Taper:

5 RANDOMIZE TIMER
10 PRINT "CHOISISSEZ VOTRE CHAMBRE (1-10)"
20 INPUT X
30 IF X = INT(10*RND(1)+1) THEN 100
40 SOUND 200,1
50 PRINT "--CLICK--"
60 GOTO 10
100 PRINT "--BANG--"

Tout d'abord, à la ligne 20, le joueur saisit X (un nombre de 1 à 10).

Ensuite, l'ordinateur compare X avec INT(10*RND(1)+1) (un nombre aléatoire de 1 à 10).

Ensuite, il suit les "flèches":

• Si X est égal à RND(l 0), l'ordinateur passe à la ligne 100, la "routine morte".

• Si X n'est pas égal à INT(10*RND(1)+1), l'ordinateur "clique" et retourne à la ligne 10, où vous obtenez une autre chance...

Améliorez la routine à la ligne 100.

Taper:

100 FOR T = 133 TO 38 STEP -5
110 PRINT" BANG!!!!!"
120 SOUND T, 1
130 NEXT T
140 CLS
150 LOCATE 5,20
155 PRINT "DESOLER VOUS AVEZ PERDU"
160 SOUND 38,50
170 LOCATE 8,15
180 PRINT "PROCHAINE VICTIME, S'IL VOUS PLAiT"

Exécutez le programme. Voici ce que fait la routine :

les lignes 100-130 donnent à l'ordinateur des tonalités descendantes et affiche BANG !!!!! maintes et maintes fois sur l'écran.

La ligne 140 efface l'écran.

Les lignes 150 et 170 utilisent un nouveau mot LOCATE pour positionner deux messages sur votre écran :

DESOLER VOUS AVEZ PERDU et PROCHAINE VICTIME, S'IL VOUS PLAÎT.

Les paramètres pour LOCATE LIN,COL

LIN: Le numéro de ligne soit entre 1 et 25

COL: Le numéro de la colonne soit entre 1 et 40 ou 1 et 80, en fonction de la largeur de l'écran.

Écrivez un programme qui affiche des lignes pour félicité le joueur s'il gagne.

Soit:

FELICITATION

    VOUS AVEZ GAGNEZ

Lancer les dés

Ce jeu demande à l'ordinateur de lancer deux dés. Pour ce faire, il doit trouver deux nombres aléatoires.

Taper:

5 RANDOMIZE TIMER
10 CLS
20 X = INT(6*RND(1)+1)
30 Y = INT(6*RND(1)+1)
40 R = X + Y
50 LOCATE 1,2:PRINT "DE 1"
60 LOCATE 1,10:PRINT "DE 2"
70 LOCATE 1,18:PRINT"VOUS AVEZ LANCER"
80 LOCATE 2,2:PRINT X
90 LOCATE 2,10:PRINT Y
100 LOCATE 2,25:PRINT R
110 PRINT
120 INPUT "VOULEZ-VOUS UN AUTRE LANCER OUI OU NON ?  ",A$
130 IF A$ = "OUI" THEN 10
140 IF A$ = "NON" THEN END
150 GOTO 120

La ligne 10 efface l'écran.

La ligne 20 choisit un nombre aléatoire de 1 à 6 pour le premier dé.

La ligne 30 choisit un nombre aléatoire pour l'autre dé.

La ligne 40 additionne les deux dés pour obtenir le résultat total.

Les lignes 50 à 100 impriment les résultats du lancer.

Un : permet d'exécuter plusieurs commandes sur la même ligne. Ici LOCATE ensuite PRINT.

La ligne 120 vous permet d'indiquer si vous voulez un autre lancer.

Si vous répondez "OUI", le programme passe à la ligne 10 et s'exécute à nouveau.

Si vous répondez "NON", le programme se termine.

Sinon, le programme passe à la ligne 120 pour avoir une réponse valide soit OUI ou NON.

NOTE: Pour l'ordinateur OUI en majuscule et oui en minuscule n'est pas identique

OUI est différant de oui, OUI <> oui

Programme faites le vous même.

Puisque vous savez comment lancer les dés, il devrait être facile d'écrire un programme de "Craps".

Voici les règles du jeu (dans sa forme la plus simple:

1. Le joueur lance deux dés. Si le premier jet de dé est un 2 ("snake eyes"), un 3 {"cock-eyes"} ou un '2 ("boxcars"), le joueur perd et la partie est terminée.

2. Si le premier lancer est un 7 ou un 11 ("un naturel"), le joueur gagne et la partie est terminée.

3. Si le premier lancer est un autre nombre, il devient le "point" du joueur.

Le joueur doit continuer à rouler jusqu'à ce qu'il "fait le point" en obtenant à nouveau le même nombre pour gagner, ou en lançant un 7 et en perdant.

Vous en savez déjà plus qu'assez pour écrire ce programme. Fais le.

Faites en sorte que l'ordinateur l'affiche dans un format attrayant sur votre écran et tenez le joueur informé de ce qui se passe. II peut vous prendre un certain temps, mais faites de votre mieux. Bonne chance!

Dans le programme remplacez L et C par vos coordonnées.

5 RANDOMIZE TIMER
10 CLS
20 A = INT(6*RND(1)+1)
30 B = INT(6*RND(1)+1)
40 R = A + B
50 LOCATE L,C:PRINT A
60 LOCATE L,C: PRINT B
70 LOCATE L,C: PRINT "VOUS AVEZ ROULE "; R
80 IF R = 2 THEN 600
90 IF R = 3 THEN 600
100 IF R = 12 THEN 600
110 IF R = 7 THEN 500
120 IF R = 11 THEN 500
130 FOR X = 1 TO 800
140 NEXT X
150 CLS
160 LOCATE L,C: PRINT "ROULER UN AUTRE" R "ET VOUS GAGNER"
170 LOCATE L,C: PRINT "ROULER UN 7 ET VOUS PERDER"
180 LOCATE L,C: PRINT "APPUYER SUR <ENTER> LORSQUE VOUS ETES PRET"
185 LOCATE L,C: PRINT "POUR VOTRE PROCHAIN LANCER"
190 INPUT A$
200 X = INT(6*RND(1)+1)
210 Y = INT(6*RND(1)+1)
220 Z = X + Y
225 CLS
230 LOCATE L,C: PRINT X
240 LOCATE L,C: PRINT Y
250 LOCATE L,C: PRINT "VOUS ROULER UN" Z
260 IF Z = R THEN 500
270 IF Z = 7 THEN 600
280 GOTO 180
500 FOR X = 1 TO 1000
510 NEXT X
515 CLS
520 LOCATE L,C: PRINT "VOUS ETES LE GAGNAT"
530 LOCATE L,C: PRINT  "FILICITATION!!!"
540 GO TO 630
600 FOR X = 1 TO 1000
610 NEXT X
615 CLS
620 LOCATE L,C: PRINT "DÉSOLER VOUS PERDER"
630 LOCATE L,C: PRINT "GAME'S OVER"




 

 

 

 

Recherche personnalisée