Niekde mi musi chybat nejaky Random alebo nieco lebo uz som zufaly z toho. Potrebujem aby pri simullacii nemali kocky len tu istu hodnotu.
Kód: Vybrať všetko
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Image1: TImage;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
hodnota:array[1..3] of integer;
implementation
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.Fillrect(Image1.ClientRect);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Randomize;
image1.Canvas.Pen.Color:=clBlack;
image1.Canvas.Pen.Width:=2;
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.Rectangle(100,100,190,190);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(135,135,155,155);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.Rectangle(200,100,290,190);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(235,135,255,155);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.Rectangle(300,100,390,190);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(335,135,355,155);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Timer1.Enabled:=True;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Timer1.Enabled:=False;
begin
if (hodnota[1]=hodnota[2])and (hodnota[2]=hodnota[3]) then
begin
Image1.Canvas.Rectangle(290,280,600,400);
Image1.Canvas.Textout(350,350,'WIN! :D WIN! :D WIN! :D WIN! :D WIN! :D');
end
else begin if(hodnota[1]=hodnota[2]) or (hodnota[1]=hodnota[3]) or (hodnota[2]=hodnota[3])
then Image1.Canvas.TextOut(350,350,' SO CLOSE :(' )
else begin Image1.Canvas.Rectangle(290,280,600,400);
Image1.Canvas.TextOut(350,350,'LOOOOOSE');
end;
end;
end;
{image1.Canvas.Textout(350,350,IntToStr(hodnota[1]));
image1.Canvas.Textout(350,350,IntToStr(hodnota[2]));
image1.Canvas.Textout(350,350,IntToStr(hodnota[3]));}
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var poradie:integer;
procedure KOCKA(poradie:integer);
var posun:integer;
begin
Randomize;
If poradie=1 then posun:=0;
If poradie=2 then posun:=100;
If poradie=3 then posun:=200;
hodnota[poradie]:=Random(6)+1;
Case hodnota[poradie] of
{Jednotka}
1: begin
image1.Canvas.Pen.Color:=clBlack;
image1.Canvas.Pen.Width:=2;
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.Rectangle(100+posun,100,190+posun,190);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(135+posun,135,155+posun,155);
end;
{Dvojka}
2: begin
image1.Canvas.Pen.Color:=clBlack;
image1.Canvas.Pen.Width:=2;
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.Rectangle(100+posun,100,190+posun,190);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(105+posun,165,125+posun,185);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(165+posun,105,185+posun,125);
end;
{Trojka}
3: begin
image1.Canvas.Pen.Color:=clBlack;
image1.Canvas.Pen.Width:=2;
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.Rectangle(100+posun,100,190+posun,190);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(105+posun,165,125+posun,185);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(135+posun,135,155+posun,155);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(165+posun,105,185+posun,125);
end;
{Stvorka}
4: begin
image1.Canvas.Pen.Color:=clBlack;
image1.Canvas.Pen.Width:=2;
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.Rectangle(100+posun,100,190+posun,190);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(105+posun,105,125+posun,125);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(105+posun,165,125+posun,185);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(165+posun,105,185+posun,125);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(165+posun,165,185+posun,185);
end;
{Patka}
5: begin
image1.Canvas.Pen.Color:=clBlack;
image1.Canvas.Pen.Width:=2;
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.Rectangle(100+posun,100,190+posun,190);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(135+posun,135,155+posun,155);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(105+posun,105,125+posun,125);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(105+posun,165,125+posun,185);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(165+posun,105,185+posun,125);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(165+posun,165,185+posun,185);
end;
{Sestka}
6: begin
image1.Canvas.Pen.Color:=clBlack;
image1.Canvas.Pen.Width:=2;
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.Rectangle(100+posun,100,190+posun,190);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(105+posun,105,125+posun,125);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(105+posun,135,125+posun,155);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(105+posun,165,125+posun,185);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(165+posun,105,185+posun,125);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(165+posun,135,185+posun,155);
image1.Canvas.Brush.Color:= Random(256*256*256);
image1.canvas.ellipse(165+posun,165,185+posun,185);
end;
end;
end;
begin
Randomize;
for poradie:=1 to 3 do
KOCKA(poradie);
end;
initialization
{$I unit1.lrs}
end.