PrésentationLes programme qui suivent ont été écrits pendant mes années de Deug a la Faculté de Sciences de Nice Sophia Antipolis.Nous apprenions le langage (Super) pascal, et j'en ai donc profité pour créer quelques programmes personnels. Ils sont détaillés ici, les un après les autres. (cliquez sur les photos d'écran suivantes, pour les voir en taille réelle) NeigeCe programme est un économiseur d'écran. Il fait tomber de la neige sur une montagne aléatoirement générée.Un des autres modes proposée est de faite remonter des bulle a travers des algues aléatoires. 1 : mode montagne
2 : mode algues
3 : mode algues + sable
/ : affiche ou non la neige
* : affiche ou non les bulles
+ : utilise la gravité
- : utilise l'antigravité
.,0 : change de texture
7,8,9 : ajoute des moisissures
Le programme compilé pour MS-DOS est disponible ici : Neige.comLe fichier source est disponible ici :Neige.pas TetrisCe programme est une implémentation du jeu Tetris. Il possede, de plus, une petite animation d'introduction, lors de l'ecriture du titre.w : rotation de la pièce a gauche
x : rotation de la pièce a droite
pav 5 : faire tomber la pièce rapidement
pav 4 : déplacement de la pièce a gauche
pav 6 : déplacement de la pièce a droite
Le programme compilé pour MS-DOS est disponible ici : Tetris.comLe fichier source est disponible ici :Tetris.pas CubeCe programme effectue un morphing en 3D de différentes formes géométriques.CoolCe programme permet de faire tourner un petit personnage en 3D.BillesCe programme fait rebondir des billes dans une boite changeant de taille.Le fichier source est disponible ici :Billes-2.pas EtoilesCe programme fait défiler de étoiles a l'écran.Le fichier source est disponible ici :Etoiles2.pas Langage utiliséCes programmes sont écrit en Pascal.Certains sont écrits dans une version 'adaptée' des pascal appelée Super Pascal. C'était une version gratuite crée par un professeur de la Fac d'Info. En exemple, voici le morceau du code du programme neige détaillé plus haut. procedure montagne1(hauteur,debcoul,longcoul,bord:integer);
var i,j:integer;
begin
for j:=jmin to jmax do ecran[imax][j]:=random(longcoul)+debcoul;
for i:=imin to imax do begin ecran[i][jmin]:=16;ecran[i][jmax]:=16;end;
for i:=imax-1 downto imin+1 do
for j:=jmin+1 to jmax-1 do if ((ecran[i+1][j]>=16)
and (ecran[i+1][j]<(debcoul+longcoul))) and
(((ecran[i+1][j-1]>=16) and (ecran[i+1][j-1]<(debcoul+longcoul))
and (ecran[i+1][j+1]>=16) and (ecran[i+1][j+1]<(debcoul+longcoul))
and (random(hauteur)<>1)) or (random(2)=1))
then ecran[i][j]:=random(longcoul)+debcoul
else if ((ecran[i+1][j]>=debcoul) and (ecran[i+1][j]<(debcoul+longcoul))) then
begin ecran[i][j]:=debcoul+longcoul+bord+random(4);
ecran[i-1][j]:=debcoul+longcoul+bord+random(4);end;
end;
|