Kezdőoldal » Számítástechnika » Programozás » Hogyan kell megírni a lenti...

Hogyan kell megírni a lenti programot Lazarusban?

Figyelt kérdés
Egy gombnyomásra jelenjen meg egy 4X4-es sakktábla piros és kék színben.

2015. okt. 25. 15:30
1 2 3
 21/24 SimkoL ***** válasza:

Közben kaptam egy privát üzenetet a kérdezőtől, majnem ugyanez volt, csak while ciklussal és más 'érdekes' változókkal, ezért megmutatom amire én gondoltam:


procedure TForm1.Button1Click(Sender: TObject);

var x, y, szin : integer;

begin

Image1.Width := 400;

Image1.Height := 400;

szin := 1;

for y := 0 to 3 do

begin

if Odd(y) then szin:= 1 else szin := 0;

for x := 0 to 3 do

begin

if Odd(szin) then Image1.Canvas.Brush.Color := clRed else Image1.Canvas.Brush.Color := clBlue;

Image1.Canvas.FillRect(Rect(x * 100, y * 100, (x + 1) * 100, (y + 1) * 100));

Inc(szin);

end;

end;

end;

2015. okt. 25. 17:28
Hasznos számodra ez a válasz?
 22/24 SimkoL ***** válasza:

Egy picit rövidebben pedig:


procedure TForm1.Button1Click(Sender: TObject);

var x, y : integer;

begin

Image1.Width := 400;

Image1.Height := 400;

for y := 0 to 3 do

for x := 0 to 3 do

begin

if Odd(y + x) then Image1.Canvas.Brush.Color := clRed else Image1.Canvas.Brush.Color := clBlue;

Image1.Canvas.FillRect(Rect(x * 100, y * 100, (x + 1) * 100, (y + 1) * 100));

end;

end;

2015. okt. 26. 05:37
Hasznos számodra ez a válasz?
 23/24 coopper ***** válasza:

Tisztelet.


Az én verzióm: egy kicsit több változóval (ezért viszont kiszámolja a négyzetek méretet, az ablak méretéhez képest - ha változott az ablak méret), viszont kevesebb if-fel és egy ciklussal : [link]


Üdv.

2015. okt. 26. 17:12
Hasznos számodra ez a válasz?
 24/24 A kérdező kommentje:
Köszi mindenkinek :D
2015. okt. 26. 18:48
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!