Drawing a Chessboard using repetition
Author |
Message |
Derpmemes
|
Posted: Wed Jun 20, 2012 6:29 pm Post subject: Drawing a Chessboard using repetition |
|
|
I don't know how to write a program to draw a chessboard using repetition. (8x8)
I know how to do it without using repetition.
The code it tried was:
drawfillbox (0,0,640,400,black)
for i: 1..640 by 160
drawfillbox (0+i,0,80,50,white)
end for
I know this is not the code but at least I tried.
Please Help.
:'(
The Chessboard I made without using repetition was easy. Here is the code:
drawfillbox (0,0,640,400,black)
%1
drawfillbox (0,0,80,50,white)
drawfillbox (160,0,240,50,white)
drawfillbox (320,0,400,50,white)
drawfillbox (480,0,560,50,white)
%2
drawfillbox (80,50,160,100,white)
drawfillbox (240,50,320,100,white)
drawfillbox (400,50,480,100,white)
drawfillbox (560,50,640,100,white)
%3
drawfillbox (0,100,80,150,white)
drawfillbox (160,100,240,150,white)
drawfillbox (320,100,400,150,white)
drawfillbox (480,100,560,150,white)
%4
drawfillbox (80,150,160,200,white)
drawfillbox (240,150,320,200,white)
drawfillbox (400,150,480,200,white)
drawfillbox (560,150,640,200,white)
%5
drawfillbox (0,200,80,250,white)
drawfillbox (160,200,240,250,white)
drawfillbox (320,200,400,250,white)
drawfillbox (480,200,560,250,white)
%6
drawfillbox (80,250,160,300,white)
drawfillbox (240,250,320,300,white)
drawfillbox (400,250,480,300,white)
drawfillbox (560,250,640,300,white)
%7
drawfillbox (0,300,80,350,white)
drawfillbox (160,300,240,350,white)
drawfillbox (320,300,400,350,white)
drawfillbox (480,300,560,350,white)
%8
drawfillbox (80,350,160,400,white)
drawfillbox (240,350,320,400,white)
drawfillbox (400,350,480,400,white)
drawfillbox (560,350,640,400,white)
Thank you. |
|
|
|
|
|
Sponsor Sponsor
|
|
|
Zren
|
Posted: Wed Jun 20, 2012 8:17 pm Post subject: RE:Drawing a Chessboard using repetition |
|
|
To figure out where you went wrong, use this:
drawbox (0+i,0,80,50, i % maxcolor)
It will only draw the borders of the boxes, and each box will be a different colour.
Edit: Also throw a delay in there, delay(1000) to watch how it draws it. |
|
|
|
|
|
blaffypoo
|
Posted: Thu Jun 21, 2012 10:38 am Post subject: RE:Drawing a Chessboard using repetition |
|
|
View.Set ("graphics:400;400,offscreenonly,nobuttonbar,nocursor")
var Mx, My, Press : int := 0
loop
cls
Mouse.Where (Mx, My, Press)
for i : 0 .. 7
for j : 0 .. 7
if Mx > i * 50 and Mx < i * 50 + 50 and My > j * 50 and My < j * 50 + 50 then
Draw.FillBox (i * 50, j * 50, i * 50 + 50, j * 50 + 50, brightgreen)
else
Draw.FillBox (i * 50, j * 50, i * 50 + 50, j * 50 + 50, black)
end if
Draw.Box (i * 50, j * 50, i * 50 + 50, j * 50 + 50, white)
end for
end for
delay (10)
View.Update
end loop |
|
|
|
|
|
SNIPERDUDE
|
Posted: Fri Jun 22, 2012 11:49 am Post subject: Re: Drawing a Chessboard using repetition |
|
|
Using mod might be simpler:
Turing: | View.Set("nobuttonbar, offscreenonly, graphics:450;450")
for j: 0.. 15
for i: 0.. 15
if (j + i ) mod 2 = 0 then
drawfillbox(i * 30, j * 30, i * 30 + 29, j * 30 + 29, 7)
end if
end for
end for |
More on modulus:
http://simple.wikipedia.org/wiki/Modular_arithmetic
A useful thing you can do with mod is return whether a number is even (result = 0) or odd (result = 1) (number mod 2), which we did in the code above. |
|
|
|
|
|
blaffypoo
|
Posted: Sat Jun 23, 2012 7:37 am Post subject: RE:Drawing a Chessboard using repetition |
|
|
I added in a mouse over block to the board to show which square your mouse is on |
|
|
|
|
|
|
|