Border and Ball...*Extreme Newb Question*
Author |
Message |
Hunter007
![](http://server5.uploadit.org/files/Hunter007-antim.jpg)
|
Posted: Sat Jan 17, 2004 1:35 pm Post subject: Border and Ball...*Extreme Newb Question* |
|
|
I know this is a very pathetic question but i can't seem to figure out how to apply a border with the "for i: 1.." command. I would really appreciate the help as I can't find this question anywhere. I also want to move a ball horizantally within the border without using "process ball". Thanks. |
|
|
|
|
![](images/spacer.gif) |
Sponsor Sponsor
![Sponsor Sponsor](templates/subSilver/images/ranks/stars_rank5.gif)
|
|
![](images/spacer.gif) |
rgothmog
|
Posted: Sat Jan 17, 2004 2:06 pm Post subject: (No subject) |
|
|
Well if this is what u want here is one way of making a border using a for loop:
code: |
View.Set ("graphics:350;350")
var bordersize : int := 10
for i : 1 .. 4
if i = 1 then
Draw.FillBox (0, 0, maxx, bordersize, black)
elsif i = 2 then
Draw.FillBox (maxx, bordersize, maxx - bordersize, maxy, black)
elsif i = 3 then
Draw.FillBox (maxx - bordersize, maxy, 0, maxy - bordersize, black)
elsif i = 4 then
Draw.FillBox (0, maxy - bordersize, bordersize, bordersize, black)
end if
end for
|
It just draws 4 boxes around the edge of the page... probably an inefficient way to do it tho ...compared to how some ppl would do it. |
|
|
|
|
![](images/spacer.gif) |
Hunter007
![](http://server5.uploadit.org/files/Hunter007-antim.jpg)
|
Posted: Sat Jan 17, 2004 2:11 pm Post subject: (No subject) |
|
|
Thanks, that's great but it has to be individual things like Draw.FillStar's or something, not just one big line. Like 10 stars going down the sides,across the top and on the bottom. *doesnt have to be 10, just an example* |
|
|
|
|
![](images/spacer.gif) |
Cervantes
![](http://compsci.ca/v3/uploads/user_avatars/1023105758475ab2e040bde.jpg)
|
Posted: Sat Jan 17, 2004 2:18 pm Post subject: (No subject) |
|
|
taking the first part from the border....
code: | View.Set ("graphics:350;350")
var bordersize : int := 10
for i : 1 .. 4
if i = 1 then
Draw.FillBox (0, 0, maxx, bordersize, black)
elsif i = 2 then
Draw.FillBox (maxx, bordersize, maxx - bordersize, maxy, black)
elsif i = 3 then
Draw.FillBox (maxx - bordersize, maxy, 0, maxy - bordersize, black)
elsif i = 4 then
Draw.FillBox (0, maxy - bordersize, bordersize, bordersize, black)
end if
end for
var x, y, dx : int
x := maxx div 2
y := maxy div 2
dx := 2 %this value will be added to x each time the loop restarts
View.Set ("offscreenonly")
loop
x += dx %aka x := x + dx
if x > maxx - 17 or x < 18 then %maxx - bordersize - ball radius - dx/ 1 + bordersize + ball radius + dx
dx := -dx
end if
Draw.FillOval (x, y, 5, 5, 12) %Draw the Ball
View.Update
delay (10)
Draw.FillOval (x, y, 5, 5, 0) %Preventing a line of balls
end loop
|
Cheers |
|
|
|
|
![](images/spacer.gif) |
Cervantes
![](http://compsci.ca/v3/uploads/user_avatars/1023105758475ab2e040bde.jpg)
|
Posted: Sat Jan 17, 2004 2:22 pm Post subject: (No subject) |
|
|
code: | for i : 1 .. maxx by 15
Draw.FillStar (5, i, 15, i + 10, 12)
end for |
and do that for all the edges.. |
|
|
|
|
![](images/spacer.gif) |
|
|