unit ListChance2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; procedure FormActivate(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation var F: TextFile; //файл для хранения информации K: longword; //количество сделанных ходов Win: longword; //общее количество выигранных монет Loss: longword; //общее количество проигранных монет procedure Forms; begin Form1.Label5.Caption := 'Количество сделанных ходов: ' + IntToStr(K); Form1.Label6.Caption := 'Количество выигранных монет: ' + IntToStr(Win); Form1.Label7.Caption := 'Количество проигранных монет: ' + IntToStr(Loss); if Win = Loss then begin Form1.Label9.Caption := 'У вас нет ни прибыли, ни убытка'; Form1.Label10.Caption := ''; Form1.Label11.Caption := '0'; end else if Win > Loss then begin Form1.Label9.Caption := 'Вы выиграли ' + IntToStr(Win-Loss) + ' монет - это ваша прибыль'; Form1.Label10.Caption := '+'; Form1.Label11.Caption := IntToStr(Win - Loss); end else begin Form1.Label9.Caption := 'Вы проиграли ' + IntToStr(Loss-Win) + ' монет - это ваш убыток'; Form1.Label10.Caption := '-'; Form1.Label11.Caption := IntToStr(Loss - Win); end; end; procedure chance2; var N: boolean; //цифра, выбранная игроком R: boolean; //случайная цифра, загаданная компьютером begin if StrToInt(Form1.Edit1.Text)= 1 then N := True else N :=False; if Random(2) = 1 then R := True else R := False; if N=R then begin Form1.label3.Caption:='Поздравляем! Вы угадали и выиграли 1 монету.'; Form1.label4.Caption:=''; Win := Win + 1; end else begin Form1.label3.Caption:=''; Form1.label4.Caption:='К сожалению, Вы не угадали и проиграли 1 монету'; Loss := Loss + 1; end; K := K + 1; Rewrite(F); WriteLn(F, K); WriteLn(F, Win); Writeln(F, Loss); CloseFile(F); Forms; end ; {$R *.dfm} procedure TForm1.FormActivate(Sender: TObject); begin Forms; end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if length(Form1.Edit1.Text)>0 then case Key of #8 : ; // #13: chance2; // остальные символы - запрещены else Key :=Chr(0); // символ не отображать end else case Key of '0', '1' : ; // цифра 0 или 1 #8 : ; // // остальные символы - запрещены else Key :=Chr(0); // символ не отображать end; end; begin AssignFile(F, 'Memory'); {$I-} Reset(F); {$I+} if IOResult <> 0 then begin Rewrite(F); WriteLn(F, '0'); WriteLn(F, '0'); WriteLn(F, '0'); CloseFile(F); end; Reset(F); ReadLn(F, K); ReadLn(F, Win); ReadLn (F,Loss); CloseFile(F); Randomize(); end.