SCREEN 12: CLS : CLEAR
DIM c(0 TO 15)
CIRCLE (320, 200), 100, 8
PSET (320, 200), 8
DRAW "C8R100L100"
DRAW "C8TA24R100L100"
DRAW "C8TA48R100L100"
DRAW "C8TA72R100L100"
DRAW "C8TA96R100L100"
DRAW "C8TA120R100L100"
DRAW "C8TA144R100L100"
DRAW "C8TA168R100L100"
DRAW "C8TA192R100L100"
DRAW "C8TA216R100L100"
DRAW "C8TA240R100L100"
DRAW "C8TA264R100L100"
DRAW "C8TA288R100L100"
DRAW "C8TA312R100L100"
DRAW "C8TA336R100L100"
RESTORE 10000
pi# = 3.141592654#
FOR z = 0 TO 336 STEP 24
READ c
x = 320 + COS((z + 12) * pi# / 180) * 90
y = 200 + SIN((z + 12) * pi# / 180) * 90
PAINT (x, y), c, 8
NEXT z
RESTORE 10000
FOR z = 1 TO 15
READ c
c(z) = c
NEXT z
PSET (325, 95): DRAW "C15H5R10G5"
RANDOMIZE TIMER
10000 DATA 14,9,13,10,12,11,13,0,9,10,12,0,11,14,13
---------------------------------------------------
Et voilà ce que ça donne d'aller au bistrot et de fréquenter des gens qui jouent au fameux Bingo! Alors évidemment les spécialistes du QBasic ne manqueront pas de remarquer les multiples améliorations possibles: notamment vis-à-vis de ces 15 lignes (quinze!!!) de DRAW qui auraient pû être remplacées par:
for a=0 to 336 step 24
x=320+cos(a*pi#/180)*100
y=200+sin(a*pi#/180)*100
line (320,200)-(x,y),8
next a
Soit 5 lignes seulement. Je ne l'ai pas fait, contrairement à la fonctionnalité PAIN, pour deux raisons: d'abord je suis du genre lourd (aux échecs mon mat préféré mobilisait 2 Tours plus la Dame!) ensuite imaginez si la longueur du segment était arrondie par l'ordinateur à 101 ou 99 (pire encore), ç'aurait été terrible pour le design de la roue et ensuite pour la fonction PAIN qui n'aurait poas pu fonctionner adéquatement.
Pour les néophytes en mathématique, ce que je suis redevenu suite à ma maladie (voir article précédent), je me souviens néanmoins d'une chose: le calcul du Cos d'un angle se fait par rapport à l'axe des x et du Sin par rapport à l'axe des y.
Et oui, même pour programmer un jeu, même pour s'amuser, on a besoin des mathématiques, bon c'est des maths basiques mais néanmoins essentielles.
Si vous voulez voir ce que ce programme donne et que vous n'avez toujours pas téléchargé le Quick Basic gratuit sur http://quickbasic.free.fr (qui possède un didacticiel DIDAC.EXE) vous pouvez toujours téléchargé la version exécutable ROLLTEST.EXE en cliquant ici. Il vous faudra le télécharger (si possible sur c:\ répertoire principal) avant de pouvoir l'exécuter.
Reste le problème de la rotation du disque, de la roulette. Pour qui a déjà joué sur un Bingo de café, on sait que la rotation n'est pas réelle (pas comme dans les jeux télévisés donc) mais suggérée par le mouvement des couleurs d'un segment vers le segment précédent. Donc c'est assez facile.
Ceux qui avaient l'habitude de programmer sur d'anciennes "machines" ou "bécanes" tels les Thomson, Attari, TRS-80, CASIO, et j'en passe, seront surpris de la vitesse d'exécution notamment des commandes PAINT. C'est que maintenant nous sommes, pour ma part en tout cas, sur au minimum des Pentium 4, et je pense que même sous Pentium 3 cela devrait fonctionner assez vite pour être direct à l'écran.
A plus pour vous proposer d'autres aventures électronique, en musique ou en programmation...