Exemple d'un Petit Programme

Delphi

Icone.zip

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 ....

 

 

 

 

 

 

 

Recherche personnalisée