Ahojky.Potřebovala bych nějak opravit a zhodnotit tento program, možná by bylo lepší dát to vše do polí,ale to nevím jak.Je to program křižovatka.Doufám že mi někdo pomůžete najít nějaký chybky a pomoci.
Díky.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Borland.Vcl.StdCtrls, System.ComponentModel, Borland.Vcl.ExtCtrls,
Borland.Vcl.Db, Borland.Vcl.ExtDlgs;
type
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form1: TForm1;
Pom: TCanvas;
Buf2: TGraphic;
Bkbmp: Hbitmap;
Backgrounddc:Hwnd;
Rect: TRect;
var x,y: integer;
Stav, Stav1, Stav2: Integer;
var auto_a, auto_b, auto_c, auto_d, auto_e, auto_f, auto_g, auto_h, auto_ch,
auto_i, auto_j, auto_k, auto_l, auto_m, auto_n, auto_o: Integer;
chodec_a, chodec_b, chodec_c, chodec_d, chodec_e, chodec_f: Integer;
cary_a, cary_b, cary_c, cary_d, cary_e, cary_f, cary_g, cary_h, cary_ch,
cary_i, cary_j, cary_k, cary_l, cary_m, cary_n, cary_o, cary_p, cary_q,
cary_r, cary_s, cary_t, cary_u, cary_v, cary_w, cary_aa, cary_bb, cary_cc,
cary_dd, cary_ee, cary_ff, cary_gg, cary_hh: Integer;
silnice_a, silnice_b, silnice_c, silnice_d, silnice_e, silnice_f, silnice_g, silnice_h: Integer;
prechod_a, prechod_b, prechod_c, prechod_d, prechod_e, prechod_f, prechod_g, prechod_h,
prechod_ch, prechod_i, prechod_j, prechod_k, prechod_l, prechod_m, prechod_n,
prechod_o, prechod_p, prechod_q, prechod_r, prechod_s, prechod_t, prechod_u,
prechod_v, prechod_w, prechod_x, prechod_y, prechod_aa, prechod_bb, prechod_cc,
prechod_dd, prechod_ee, prechod_ff, prechod_gg, prechod_hh, prechod_chch,
prechod_ii, prechod_jj, prechod_kk, prechod_ll, prechod_mm: Integer;
siln_a, siln_b, siln_c, siln_d: Integer;
trava_a, trava_b, trava_c, trava_d, trava_e, trava_f, trava_g, trava_h: Integer;
sem_a, sem_b, sem_c, sem_d, sem_e, sem_f, sem_g, sem_h, sem_ch, sem_i, sem_j,
sem_k, sem_l, sem_m, sem_n, sem_o, sem_p, sem_q, sem_r, sem_s, sem_t, sem_u,
sem_v, sem_w: Integer;
implementation
{$R *.nfm}
procedure AutoKresli(a,b,w,h:Integer; barva:TColor);
begin
with Pom do
begin
Brush.Color:= barva;
Pen.Color:= barva;
Rectangle(a-w, b-h, a+w, b+h);
end;
end;
procedure Chodeckresli(c,d,m,n:Integer; barva:TColor);
begin
with Pom do
begin
Brush.Color:= barva;
Pen.Color:= barva;
Rectangle(c-m, d-n, c+m, d+n);
end;
end;
procedure Carykresli(e,f,o,p:Integer; barva:TColor);
begin
with Pom do
begin
Brush.Color:= barva;
Pen.Color:= barva;
Rectangle(e-o, f-p, e+o, f+p);
end;
end;
procedure Prechodkresli(y,z,k,l:Integer; barva:TColor);
begin
with Pom do
begin
Brush.Color:= barva;
Pen.Color:= barva;
Rectangle(y-k, z-l, y+k, z+l);
end;
end;
procedure Silnicekresli(c,d,s,r:Integer; barva:TColor);
begin
with Pom do
begin
Brush.Color:= barva;
Pen.Color:= barva;
Rectangle(c-s, d-r, c+s, d+r);
end;
end;
procedure Semaforkresli(s,k,h,l:Integer; barva:TColor);
begin
with Pom do
begin
Brush.Color:= barva;
Pen.Color:= clBlack;
Ellipse(s-h, k-l, s+h, k+l);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Stav:=0;
auto_a:=318;
auto_b:=60;
auto_c:=395;
auto_d:=750;
auto_e:=50;
auto_f:=417;
auto_g:=700;
auto_h:=340;
auto_ch:=318;
auto_i:=-300;
auto_j:=395;
auto_k:=1700;
auto_l:=-770;
auto_m:=417;
auto_n:=1500;
auto_o:=340;
chodec_a:=225;
chodec_b:=750;
chodec_c:=788;
chodec_d:=245;
chodec_e:=490;
chodec_f:=5;
siln_a:=360;
siln_b:=100;
siln_c:=100;
siln_d:=380;
cary_a:=170;
cary_b:=416;
cary_c:=550;
cary_d:=344;
cary_e:=321;
cary_f:=191;
cary_g:=394;
cary_h:=570;
cary_ch:=582;
cary_i:=302;
cary_j:=129;
cary_k:=302;
cary_l:=129;
cary_m:=455;
cary_n:=582;
cary_o:=455;
cary_p:=436;
cary_q:=150;
cary_r:=283;
cary_s:=151;
cary_t:=283;
cary_u:=611;
cary_v:=436;
cary_w:=611;
cary_aa:=356;
cary_bb:=99;
cary_cc:=359;
cary_dd:=677;
cary_ee:=83;
cary_ff:=380;
cary_gg:=650;
cary_hh:=380;
silnice_a:=235;
silnice_b:=379;
silnice_c:=490;
silnice_d:=379;
silnice_e:=359;
silnice_f:=250;
silnice_g:=360;
silnice_h:=510;
prechod_a:=488;
prechod_b:=324;
prechod_c:=488;
prechod_d:=351;
prechod_e:=488;
prechod_f:=378;
prechod_g:=488;
prechod_h:=405;
prechod_ch:=488;
prechod_i:=432;
prechod_j:=230;
prechod_k:=324;
prechod_l:=230;
prechod_m:=351;
prechod_n:=230;
prechod_o:=378;
prechod_p:=230;
prechod_q:=405;
prechod_r:=230;
prechod_s:=432;
prechod_t:=306;
prechod_u:=251;
prechod_v:=333;
prechod_w:=251;
prechod_x:=360;
prechod_y:=251;
prechod_aa:=387;
prechod_bb:=251;
prechod_cc:=414;
prechod_dd:=251;
prechod_ee:=414;
prechod_ff:=510;
prechod_gg:=387;
prechod_hh:=510;
prechod_chch:=360;
prechod_ii:=510;
prechod_jj:=333;
prechod_kk:=510;
prechod_ll:=306;
prechod_mm:=510;
trava_a:=120;
trava_b:=145;
trava_c:=120;
trava_d:=619;
trava_e:=600;
trava_f:=138;
trava_g:=599;
trava_h:=620;
sem_a:=458;
sem_b:=558;
sem_c:=458;
sem_d:=583;
sem_e:=458;
sem_f:=608;
sem_g:=180;
sem_h:=478;
sem_ch:=155;
sem_i:=478;
sem_j:=130;
sem_k:=478;
sem_l:=539;
sem_m:=280;
sem_n:=564;
sem_o:=280;
sem_p:=589;
sem_q:=280;
sem_r:=259;
sem_s:=206;
sem_t:=259;
sem_u:=181;
sem_v:=259;
sem_w:=156;
Timer1.Enabled:=True;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Pom:=tcanvas.create;
Backgrounddc := CreateCompatibleDC(Canvas.Handle);
Bkbmp := CreateCompatibleBitmap(Canvas.Handle, ClientWidth, ClientHeight);
SelectObject(backgrounddc, bkbmp);
Pom.Handle := backgrounddc;
form1.width:=1000;
form1.height:=900;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Stav1:= round (Stav/33);
Silnicekresli(siln_a,siln_b,77,800, clBlack);
Silnicekresli(siln_c,siln_d,800,77, clBlack);
Silnicekresli(trava_a,trava_b,160,160, clLime);
Silnicekresli(trava_c,trava_d,160,160, clLime);
Silnicekresli(trava_e,trava_f,160,160, clLime);
Silnicekresli(trava_g,trava_h,160,160, clLime);
AutoKresli(auto_a,auto_b,20,40, clBlack);
AutoKresli(auto_c,auto_d,20,40, clBlack);
AutoKresli(auto_e,auto_f,40,20, clBlack);
AutoKresli(auto_g,auto_h,40,20, clBlack);
Autokresli(auto_ch,auto_i,20,40, clBlack);
Autokresli(auto_j,auto_k,20,40, clBlack);
Autokresli(auto_l,auto_m,40,20, clBlack);
Autokresli(auto_n,auto_o,40,20, clBlack);
Chodeckresli(chodec_a,chodec_b,13,13, clLime);
Chodeckresli(chodec_c ,chodec_d,13,13, clLime);
Chodeckresli(chodec_e,chodec_f,13,13, clLime);
Carykresli(cary_a,cary_b,8,39, clWhite);
Carykresli(cary_c,cary_d,8,40, clWhite);
Carykresli(cary_e,cary_f,39,8, clWhite);
Carykresli(cary_g,cary_h,39,8, clWhite);
Carykresli(cary_ch,cary_i,150,4, clWhite);
Carykresli(cary_j,cary_k,150,4, clWhite);
Carykresli(cary_l,cary_m,150,4, clWhite);
Carykresli(cary_n,cary_o,150,4, clWhite);
Carykresli(cary_p,cary_q,4,150, clWhite);
Carykresli(cary_r,cary_s,4,155, clWhite);
Carykresli(cary_t,cary_u,4,160, clWhite);
Carykresli(cary_v,cary_w,4,160, clWhite);
Carykresli(cary_aa,cary_bb,4,98, clWhite);
Carykresli(cary_cc,cary_dd,4,110, clWhite);
Carykresli(cary_ee,cary_ff,95,4, clWhite);
Carykresli(cary_gg,cary_hh,95,4, clWhite);
Carykresli(silnice_a,silnice_b,45,72, clBlack);
Carykresli(silnice_c,silnice_d,45,72, clBlack);
Carykresli(silnice_e,silnice_f,72,46, clBlack);
Carykresli(silnice_g,silnice_h,72,46, clBlack);
Prechodkresli(prechod_a,prechod_b,47,9, clWhite);
Prechodkresli(prechod_c,prechod_d,47,9, clWhite);
Prechodkresli(prechod_e,prechod_f,47,9, clWhite);
Prechodkresli(prechod_g,prechod_h,47,9, clWhite);
Prechodkresli(prechod_ch,prechod_i,47,9, clWhite);
Prechodkresli(prechod_j,prechod_k,47,9, clWhite);
Prechodkresli(prechod_l,prechod_m,47,9, clWhite);
Prechodkresli(prechod_n,prechod_o,47,9, clWhite);
Prechodkresli(prechod_p,prechod_q,47,9, clWhite);
Prechodkresli(prechod_r,prechod_s,47,9, clWhite);
Prechodkresli(prechod_t,prechod_u,9,47, clWhite);
Prechodkresli(prechod_v,prechod_w,9,47, clWhite);
Prechodkresli(prechod_x,prechod_y,9,47, clWhite);
Prechodkresli(prechod_aa,prechod_bb,9,47, clWhite);
Prechodkresli(prechod_cc,prechod_dd,9,47, clWhite);
Prechodkresli(prechod_ee,prechod_ff,9,47, clWhite);
Prechodkresli(prechod_gg,prechod_hh,9,47, clWhite);
Prechodkresli(prechod_chch,prechod_ii,9,47, clWhite);
Prechodkresli(prechod_jj,prechod_kk,9,47, clWhite);
Prechodkresli(prechod_ll,prechod_mm,9,47, clWhite);
case Stav1 of
0..10: begin
Semaforkresli(sem_a,sem_b,13,13,clRed);
Semaforkresli(sem_c,sem_d,13,13,clWhite);
Semaforkresli(sem_e,sem_f,13,13,clWhite);
Semaforkresli(sem_l,sem_m,13,13,clWhite);
Semaforkresli(sem_n,sem_o,13,13,clWhite);
Semaforkresli(sem_p,sem_q,13,13,clGreen);
Semaforkresli(sem_r,sem_s,13,13,clRed);
Semaforkresli(sem_t,sem_u,13,13,clWhite);
Semaforkresli(sem_v,sem_w,13,13,clWhite);
Semaforkresli(sem_g,sem_h,13,13,clWhite);
Semaforkresli(sem_ch,sem_i,13,13,clWhite);
Semaforkresli(sem_j,sem_k,13,13,clGreen);
end;
11,12,25,26: begin
Semaforkresli(sem_a,sem_b,13,13,clWhite);
Semaforkresli(sem_c,sem_d,13,13,clYellow);
Semaforkresli(sem_e,sem_f,13,13,clWhite);
Semaforkresli(sem_l,sem_m,13,13,clWhite);
Semaforkresli(sem_n,sem_o,13,13,clYellow);
Semaforkresli(sem_p,sem_q,13,13,clWhite);
Semaforkresli(sem_r,sem_s,13,13,clWhite);
Semaforkresli(sem_t,sem_u,13,13,clYellow);
Semaforkresli(sem_v,sem_w,13,13,clWhite);
Semaforkresli(sem_g,sem_h,13,13,clWhite);
Semaforkresli(sem_ch,sem_i,13,13,clYellow);
Semaforkresli(sem_j,sem_k,13,13,clWhite);
end;
13..24: begin
Semaforkresli(sem_a,sem_b,13,13,clWhite);
Semaforkresli(sem_c,sem_d,13,13,clWhite);
Semaforkresli(sem_e,sem_f,13,13,clGreen);
Semaforkresli(sem_l,sem_m,13,13,clRed);
Semaforkresli(sem_n,sem_o,13,13,clWhite);
Semaforkresli(sem_p,sem_q,13,13,clWhite);
Semaforkresli(sem_r,sem_s,13,13,clWhite);
Semaforkresli(sem_t,sem_u,13,13,clWhite);
Semaforkresli(sem_v,sem_w,13,13,clGreen);
Semaforkresli(sem_g,sem_h,13,13,clRed);
Semaforkresli(sem_ch,sem_i,13,13,clWhite);
Semaforkresli(sem_j,sem_k,13,13,clWhite);
end;
end;
Stav2:= round (Stav/(44/5));
if (((Stav2>=0) and (Stav2<=3)) or ((Stav2>=47) and (Stav2<=100))) then
begin
auto_a:=auto_a-0;
auto_b:=auto_b+2;
end;
if (((Stav2>=0) and (Stav2<=3)) or ((Stav2>=40) and (Stav2<=100))) then
begin
auto_ch:=auto_ch-0;
auto_i:=auto_i+2;
end;
if (((Stav2>=0) and (Stav2<=6)) or ((Stav2>=47) and (Stav2<=100))) then
begin
auto_c:=auto_c+0;
auto_d:=auto_d-2;
end;
if (((Stav2>=0) and (Stav2<=4)) or ((Stav2>=47) and (Stav2<=100))) then
begin
auto_j:=auto_j+0;
auto_k:=auto_k-2;
end;
if (((Stav2>=0) and (Stav2<=50))) then
begin
auto_e:=auto_e+2;
auto_f:=auto_f-0;
end;
if (((Stav2>=0) and (Stav2<=49))) then
begin
auto_l:=auto_l+2;
auto_m:=auto_m-0;
end;
if (((Stav2>=0) and (Stav2<=50))) then
begin
auto_g:=auto_g-2;
auto_h:=auto_h+0;
end;
if (((Stav2>=0) and (Stav2<=50))) then
begin
auto_n:=auto_n-2;
auto_o:=auto_o+0;
end;
if (((Stav2>=0) and (Stav2<=15)) or ((Stav2>=47) and (Stav2<=100))) then
begin
chodec_a:=chodec_a+0;
chodec_b:=chodec_b-2;
end;
if (((Stav2>=0) and (Stav2<=40))) then;
begin
chodec_c:=chodec_c-2;
chodec_d:=chodec_d+0;
end;
if (((Stav2>=0) and (Stav2<=15)) or ((Stav2>=47) and (Stav2<=100))) then
begin
chodec_e:=chodec_e-0;
chodec_f:=chodec_f+2;
end;
if True then
Stav:= Stav + 1;
if (Stav>33*26) then
Stav := 0;
AutoKresli(auto_a,auto_b,20,40, clBlue);
AutoKresli(auto_c,auto_d,20,40, clRed);
AutoKresli(auto_e,auto_f,40,20, clSilver);
AutoKresli(auto_g,auto_h,40,20, clRed);
Autokresli(auto_ch,auto_i,20,40, clYellow);
Autokresli(auto_j,auto_k,20,40, clBlue);
Autokresli(auto_l,auto_m,40,20, clRed);
Autokresli(auto_n,auto_o,40,20, clYellow);
Chodeckresli(chodec_a,chodec_b,13,13, clMaroon);
Chodeckresli(chodec_c,chodec_d,13,13, clYellow);
ChodecKresli(chodec_e,chodec_f,13,13, clSkyBlue);
{Form1.Canvas.Draw(0,0,Pom);}
rect.Right:=form1.Width;
rect.bottom:=form1.Height;
Canvas.CopyRect(Rect, Pom, Rect);
end;
end.
Fórum › Delphi
Práce do školy
To o-lox : to ja sem to zase ladil... casovani semaforu je zase odeme :D
soutez: "najdi svuj kus kodu u malirky"
hlavni cena: "malirka jako otrok na cely den" (pokud je to holka a pokud pekna tak i na noc) :smile6:
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 12 hostů
Podobná vlákna
Práce do školy. — založil Začátečník JK
Práce do školy — založil Black
Seminární práce do školy — založil Peter
Ročníková práce do školy — založil valtak
Menu , prace s textovymi soubory - závěrečná práce , nevim si rady :( — založil honzajs