Hello mkinek!
Készítettem egy Skandináv lottó sorsoló progit és kérnék hozzá egy kis extrázási segítséget!
Szóval amikor rákkattintok hogy sorsolás úgy szeretném megcsinálni hogy a nyerőszámokat kis körökben rakja ki egymás után késleltetve!
Valamint ha lehet akkor kettéválasztani a gépi és a kézi sorsolást úgy hogy a gépit a fentebb leírt módon, még a kézit pedig úgy hogy valahogy random számok pörögnek és gomblenyomásra teszi be az épen aktuális számot a kis körbe.
Megköszönném ha valaki tudna nekem segíteni
Íme az alapforráskód:
unit forras;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Timer1: TTimer;
Label6: TLabel;
procedure FormCreate(Sender: TObject);
procedure katt(Sender: TObject);
function dont(s:Integer) : boolean;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
szelveny:array[1..7,1..5] of TButton;
msz,gsz,ksz:array[1..7] of integer;
sz:integer;
szam: set of 1..35;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i,j:integer;
begin
sz:=0;
for i:=1 to 7 do
for j:=1 to 5 do
begin
szelveny[i,j]:=TButton.create(form1);
with szelveny[i,j] do
begin
parent:=panel1;
width:=25;
height:=25;
left:= 30 * ((j-1) mod 5);
top:= 30 * ((i-1) mod 7);
caption:=inttostr((i-1) * 5 + j);
onclick := katt;
end;
end;
end;
procedure TForm1.katt(Sender: TObject);
begin
with sender as tbutton do
if dont(font.Size) then
begin
if sz= 7 then
begin
beep ;
timer1.Enabled:=true
end else
begin
timer1.Enabled:=false;
font.Color:=clblue;
font.Size:=14;
tag:=1;
sz:=sz+1;
msz[sz]:=strtoint(caption);
end;
end else
begin
timer1.Enabled:=false;
font.Color:=Clblack;
font.size:=8;
tag:=0;
sz:=sz-1;
msz[sz]:=strtoint(caption);
end;
end;
function TForm1.dont(s:integer):boolean;
begin
if s=8 then dont:=true else dont:=false;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var sor,osz:integer;
begin
label1.Caption:='Megtett számok: ';
for sor:=1 to 7 do
for osz:=1 to 5 do
begin
if szelveny[sor,osz].Tag=1 then
label1.caption:=label1.caption+' '+szelveny[sor,osz].Caption;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var k,v,talg,talk,a,b,uj,sors,eg,ek:integer;
begin
randomize;
talg:=0;
talk:=0;
label2.caption:='A gépi sorsolás eredménye: ';
label3.Caption:='A kézi sorsolás eredménye: ';
label4.Caption:='találatok: ';
label5.Caption:='találatok';
for sors :=1 to 2 do
begin
szam:=[];
for k:=1 to 7 do
begin
repeat
uj:=random(35)+1;
until not(uj in szam);
szam:=szam+[uj];
end;
if sors=1 then
begin
for b:= 1 to 35 do
if b in szam then label2.Caption:=label2.Caption+' '+inttostr(b);
for a:=1 to 7 do
if msz[a]in szam then talg:=talg+1;
label4.Caption:=label4.Caption+' '+inttostr(talg);
end;
if sors=2 then
begin
for b:= 1 to 35 do
if b in szam then label3.Caption:=label3.Caption+' '+inttostr(b);
for a:=1 to 7 do
if msz[a]in szam then talk:=talk+1;
label5.Caption:=label5.Caption+' '+inttostr(talk);
end;
end;
if (talg>3) or (talk > 3) then
label6.Caption:='GRATULÁLUNK ÖN NYERT' else label6.Caption:='ÖN NEM NYERT';
end;
end.
Előre is köszi
Friss hozzászólások
1 hét 3 nap
3 hét 4 nap
19 hét 2 nap
42 hét 1 nap
51 hét 4 nap
1 év 1 hét
1 év 1 hét
1 év 1 hét
1 év 3 hét
1 év 5 hét