Jubijub Parce que je le VD bien | toujours dans mon prog pourri pour apprendre, je fais une boucle qui demande le nombre secret (on ne rit pas )...
g déjà mis un compteur (qui foire un peu, si on quitte dès la première question y compte ca comme trouvé en 2 essais, mais bon )...
pour pouvoir faire un calcul de score, j'aurais besoin du temps écoulé entre le moment où le joueur rentre dans le boucle et celui où il en sort, pour pouvoir faire un calcul du score genre nb de 1/(coup * temps) *1000 (pour que plus coup*temps augmente, plus le score diminue )
moin main.pas donne ca :
Code :
- unit Main;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls,ExtCtrls, CPU;
- type
- TForm1 = class(TForm)
- Button1: TButton;
- Button3: TButton;
- procedure Button1Click(Sender: TObject);
- procedure Button3Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- Form1: TForm1;
- LimiteTXT, UserEntry, Disp, textfin : string;
- CpuQuery, Compteur : shortint;
- LimiteNum, UserEntryNum, Nb : integer;
- COntinuer : boolean;
- implementation
- {$R *.dfm}
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- LimiteNum := 1 ;
- CpuQuery :=0 ;
- LimiteTXT := '0' ;
- repeat
- InputQuery('Donnez une limite comprise entre 100 et 300', 'Valeur', LimiteTXT);
- LimiteNum := StrToInt(LimiteTXT);
- if LimiteNum < 100 then
- ShowMessage(LimiteTXT + ' est trop petit : entrez un nombre plus grand')
- else if LimiteNum > 300 then
- ShowMessage(LimiteTXT + ' est trop grand : entrez un nombre plus petit');
- CpuQuery := CpuQuery + 1 ;
- if CpuQuery > 3 then
- ShowMessage ('Il vous a fallu ' + IntToStr(CpuQuery) + ' essais pour y arriver');
- until (LimiteNum >= 100) AND (LimiteNum <= 300);
- end;
- LE TIMER DEVRAIT COMMENCER ICI
- procedure TForm1.Button3Click(Sender: TObject);
- begin
- UserEntry :='0';
- Compteur := 1;
- Nb := Generation(LimiteNum);
- Continuer := True;
- Repeat
- Continuer:=InputQuery('Entrez un nombre', 'Essai n° '+ inttostr(Compteur), UserEntry);
- UserEntryNum :=strToInt(UserEntry);
- Disp := test(UserEntryNum,Nb);
- Compteur := Compteur +1;
- if (Disp = 'Vous avez entré un nombre trop petit') XOR (Disp = 'Vous avez entré un nombre trop grand') then
- ShowMessage(Disp)
- else
- ShowMessage(Disp + ' en ' + IntToStr(Compteur) + ' coups');
- until (UserEntryNum = Nb) OR (Continuer = False) ici faut que je trouve comment tester continuer = false pour que d'une ca sorte de la boucle (c le cas), mais que ca foute le compteur au bon nombre de coups (0 si on quitte de suite, etc...) et que ca affiche le nombre secret qu'il fallait découvrir
- end;
|
[edtdd]--Message édité par Jubijub--[/edtdd] ---------------
Jubi Photos : Flickr - 500px
|