Exemple d'un Petit Programme
Si Delphi ne fonctionne plus bien après une mise à jour de Windows, changer le mode de compatibilité du programme pour qu'il s'exécute en mode Administrateur.
Cliquez avec le bouton droit sur le programme et sur Propriétés
Ensuite dans Compatibilité cochez Exécuter ce programme en tant qu'administrateur
J'ai créé un répertoire qui regroupe tous les programmes Delphi que je fais.
Exemple pour le jeu Fifty
Le but du jeu est d'être le premier joueur à atteindre cinquante points.
Mais seuls les doubles marquent des points.
Au lieu de compter, il y a un
nombre défini de points en fonction des doubles lancés.
Le tableau
ci-dessous montre la notation :
Double 6 = 25 points
Double 5 = 10 points
Double 4 = 5 points Double 3 = perd tous les points
Double 2 = 5 points
Double 1 = -5 points
Il existe deux méthodes de jeu.
Première méthode : il n’y a qu’un seul jeu de dés. Chaque joueur lance à tour de rôle les dés.
Si aucun double n’est obtenu, le jeu passe au joueur suivant.
Si des doubles sont lancés, le
score est noté et le jeu passe au joueur suivant.
Deuxième méthode :
celle-ci nécessite un jeu de dés pour chaque joueur.
Chaque joueur lance ses dés et continue de lancer, en additionnant lui-même ses scores jusqu'à ce que quelqu'un atteigne cinquante points.
Créer une nouvelle application
Dans file -> New -> Application
Enregistrez le programme
File -> Save All
Dans mon répertoire Mes documents\Ordinateur\Dephi programme\[Dés
J'ai créé le répertoire 50
Dans le le répertoire 50
Cliquez sur Enregistrer pour le fichier Unit1.pas
Renommez le projet Fifty et cliquez sur Enregistrer
Maintenant dans le répertoire 50 il y a ces fichiers
Cliquer sur Run pour compiler le projet, sur le Triangle Vert
Le programme apparait (une forme vide)
Dans le répertoire 50 Fifty.exe est apparu
Enregistrez et Cliquer sur Run pour compiler le projet après chaque étape pour vérifier si tout fonctionne bien.
Réduisez la taille de Form1 avec la souris (comme une fenêtre windows)
Maintenant Donnez le nom Fifty à Form1 et au projet
Dans Propeties -> Captation changez Form1 pour Fifty
->
Maintenant Form1 s'appelle Fifty
Dans l'onglet Project cliquez sur Options
Cliquez sur l'onglet Application et dans Tilte tapez Fifty et ensuite cliquez sur OK
Sauvegardez le projet.
Changer D'icône
Vous pouvez télécharger le pack Icone.zip
Pour tout mettre au même endroit, j'ai copié l'icône dans le répertoire du projet.
Dans Propeties -> Icon (None) -> cliquez sur les trois petits points ...
Cliquez sur Load... et sur l'icône que vous voulez. Et ensuite sur Ouvrir
Cliquez sur OK
Maintenant Form1 a notre Icône
Changez l'icône du projet.
Dans l'onglet Project cliquez sur Options
Cliquez sur l'onglet Application -> Cliquez sur Load Icon
Cliquez sur l'icône et ensuite sur Ouvrir
Cliquez sur OK
À cette étape si vous avez téléchargez une icône incompatible avec Delphi, cela provoquera une erreur Delphi:
Out Of Memory
Exécuter le projet ... Notre projet a notre icône
Ainsi que le programme Fifty.exe
Configuration des propriétés Font et Style
En configurant les propriétés de Form1 toutes les composantes qu'on va crées hériteront de ces propriétés.
Dans Font -> Size Changer 8 pour 12 pour la grosseur des caractères
ET dans Style -> fsBold sélectionnez True pour caractère Gras
Toutes les futures composantes auront ces propriétés ...
Création des paramètres lors de l'exécution du programme
Lors de la compilation du programme la position de la fenêtre sera celle que Form1 a dans Delphi.
Ces paramètre sont Left et Top.
Ici Left = 385 et Top = 129.
Ce qui n'est pas toujours commode.
Double cliquez sur la fenêtre de Form1, ceci créera la procédure TForm1.FormCreate
Ici on peut donner les paramètres de position qu'on veut avoir.
N'oubliez pas le ; à la fin d'une ligne.
Pour ce faire dans la fenêtre Unit1.pas
tapez Form1. et un menu apparaîtra après avoir tapé le point .
Ensuite tapez L
Form1.L -> ce qui fera afficher ce menu
(ici on voit que Left est de type Integer)
Cliquez sur Left ce qui donnera
Form1.Left
maintenant ajoutez := 300;
Form1.Left := 300;
Faites de même pour la propriété Top.
Form1.To ->
Form1.Top := 100;
Sauvegarder et exécuter le projet.
Pour sélectionner une propriété d'une composante on procède le la même façon.
On tape le nom de la composante et ensuite le point .
Comme on utilise des dés on utilisera la fonction Random.
Pour rendre cette fonction plus aléatoire on ajoute Randomize; dans TForm1.FormCreate
Maintenant on va créer 2 variables globales de type integer soit Tot et Round
Au début du programme Sous
var
Form1: TForm1;
on ajoute Tot, Round : integer;
Tot pour le total des points et Round pour le total de Tour.
Dans TForm1.FormCreate ajoutez
Tot := 0;
Round := 0;
Ce qui initialise les variable Tot et Round à 0 à l'exécution du programme.
Ajout de composantes à Form1
On ajoute un le bouton Roll Dice (Lancer les dés)
Cliquez sur la composante OK (Button (StdCtrls) Apparaît)
Cliquez avec la souris sur Form1 à l'endroit où vous voulez avoir le bouton
Par défaut le bouton est nommé Button1
Ici la composante Button a hérité de Form1 la propriété Font.size et Style.fsBold qu'on a définit plus haut.
Dans Object TreeView la composante Button1 est apparue et on voit que Button1 est un enfant de Form1.
Changez la propriété Caption de Button1 (Button1) pour Roll Dice
Ce qui donne
Cependant la composante Button1 se nome toujours Button1 (Propriété Name)
Ce qui n'est pas trop pratique si nous avons plusieurs Boutons (Button1, Button2, Button3 .. et.)
Changez la propriété Name de Button1 pour Roll ce qui est plus significatif ...
On voit le changement de nom dans Object TreeView
Maintenant nous allons ajouter les deux dés.
Cliquez sur la composante A (Label (StdCtrls))
Cliquez avec la souris sur Form1 à l'endroit où vous voulez avoir la composante Label
Ce qui donne
Renommer Label1 pour De1
Plus loin nous allons nous servir de la propriété Caption de De1 pour afficher le chiffre du dé.
Pour l'instant mettez 6 dans Caption pour nous donner la dimension voulu du dé.
Changer la propriété Size de Font pour 14 pour avoir un plus gros caractère.
Pour toujours avoir un dé de la même dimension quelque soit le chiffre du dé changez AutoSize pour False
Changez à nouveau Caption pour *
Car lors de l'exécution du programme on ne veut pas que le joueur croit avoir eu un 6...
Voilà nous avons un premier dé d'installé...
Pour sauver du temps, pour installer le deuxième dé faite un copie-coller de De1.
Cliquez avec le bouton droit de la souris sur De1 -> Edit -> Copy
Ou cliquez sur De1 et faite Ctrl-C
Ensuite Faite Ctrl-V (Le deuxième dé aura les mêmes propriétés que De1)
Déplacez le deuxième Dé à l'endroit Voulu
Maintenant renommer le deuxième Dé De2
Vérifier que les deux dés sont alignés et qu'ils on la même valeur Top (46 ici)
Nous avons nos deux dés ....
Programmation du bouton Roll Dice
Double cliquez sur le bouton Roll Dice, dans Unit1.pas la procédure TForm1.RollClick apparaît.
Ajoutez 3 variables local i, j pour les dés et x pour pour le pointage.
avant begin ajoutez
var
i, j, x :
integer;
On utilise la fonction Random pour un chiffre aléatoire.
Voir Randomize, Random
Après begin ajoutez
i := 1 + Random(6);
j := 1
+ Random(6);
Nous allons afficher les chiffres i pour De1 et j pour De2.
Ajoutez ces lignes:
De1.Caption := IntToStr(i);
De2.Caption := IntToStr(j);
Caption est de type string, nous devons donc convertir i et j qui sont de type integer en string avec la fonction
IntToStr();
Sauvegarder le projet et exécuter le programme
Cliquer sur Run pour compiler le projet, sur le Triangle Vert
Le bouton Roll Dice fonctionne
Maintenant le label Score / Points
Ajouter une composante Label
Composante A (Label (StdCtrls))
et modifiez
Caption pour Score / Points
Font -> Color -> clNavy
Sous Score / Points (Label1) ajouter un autre label et modifiez
Caption pour 0
Font -> Color -> clMaroon
Font -> size -> 14
Name -> Points
Ce qui donne
Le label Total
Ajouter une composante Label et modifiez
Caption pour Total
Font -> Color -> clGreen
À côté de Total ajoutez un autre Label et modifiez
Caption pour 0
Font -> size -> 14
Name -> Total
Ajoutez un label Round
Font -> Color -> clNavy
et sous Round un label avec Caption avec 0
Font -> Color -> clRed
Sauvegarder le projet et exécuter le programme
Cliquer sur Run pour compiler le projet, sur le Triangle Vert
Suite de la programmation du bouton Roll Dice
Dans la procedure TForm1.RollClick (Double cliquer à nouveau sur le bouton Roll Dice)
On incrémente la variable Round de 1 et on affiche sa valeur dans Label3
Round := Round +1;
Label3.Caption := IntToStr(Round);
On met
Points.Caption := '0';
Configuration des points et du pointage total
Il y a des points seulement si les deux dés sont identiques.
On ajoute la fonction if et on utilise case pour attribuer les points
if i = j then
case i of
1: // Les dés sont des 1 on enlève 5 points
begin
x :=
-5;
Tot :=
Tot + x;
end;
2: // Les dés sont des 2 on ajoute 5 points
begin
x := 5;
Tot := Tot + x;
end;
3: // Les dés sont des 3 on perd ses points
begin
if
Tot > 0 then
begin
x := 0;
Tot := x;
end;
end;
4: // Les dés sont des 4on ajoute 5 points
begin
x :=
5;
Tot :=
Tot + x;
end;
5: // Les dés sont des 5 on ajoute 10 points
begin
x := 10;
Tot := Tot + x;
end;
6: // Les dés sont des 6 on ajoute 25 points
begin
x :=
25;
Tot :=
Tot + x;
end;
end; // case
Après le end; /case
On affiche les points et le pointage total
Points.Caption := IntToStr(x);
Total.Caption := IntToStr(Tot);
Sauvegarder le projet et exécuter le programme
Cliquer sur Run pour compiler le projet, sur le Triangle Vert
Le programme est fonctionnelle
Ajouter un Bouton New Game
Double cliquez sur le bouton New Game pour le programmer
procedure
TForm1.Button1Click(Sender: TObject);
begin
De1.Caption := '*';
De2.Caption := '*';
Tot := 0;
Round := 0;
Points.Caption :=
'0';
Total.Caption := '0';
Label3.Caption := '0';
end;
Ajoutez les labels pour indiquer les combinaisons des dés et le nombre de points.
Il ne reste plus à configurer Form1 avec une bordure de 15 (BorderWidth 15) et un AutoSize True
Sauvegarder le projet et exécuter le programme
Cliquer sur Run pour compiler le projet, sur le Triangle Vert
Maintenant vous pouvez utilisez Fifty.exe et en donner une copie à tous vos amis ....