Posted: Sun May 15, 2011 4:01 pm Post subject: RE:Making an Etch-A-Sketch?
Sorry I tried I just don`t know how to use them, I tried and failed!
Sponsor Sponsor
Raknarg
Posted: Sun May 15, 2011 4:05 pm Post subject: RE:Making an Etch-A-Sketch?
Show what you have so far.
vdemons
Posted: Sun May 15, 2011 4:12 pm Post subject: Re: Making an Etch-A-Sketch?
This is it, (I had more but I deleted it when it didn't work) btw, if you add cls after view.update it moves without lines, but I don't know how to merge the two since cls clears the entire screen!
View.Set ("graphics")
var x, y, radius : int
x := 200
y := 100
radius := 5
var chars : array char of boolean
View.Set ("offscreenonly")
loop
Input.KeyDown (chars)
if chars (KEY_UP_ARROW) then
y += 1
elsif chars (KEY_RIGHT_ARROW) then
x += 1
elsif chars (KEY_LEFT_ARROW) then
x -= 1
elsif chars (KEY_DOWN_ARROW) then
y -= 1
end if
if y + 12 >= maxy then
y -= 1
end if
if y - 12 <= 0 then
y += 1
end if
if x + 12 >= maxx then
x -= 1
end if
if x - 12 <= 0 then
x += 1
end if
Draw.FillOval (x, y, radius, radius, red)
Time.Delay (5)
View.Update
end loop
Raknarg
Posted: Sun May 15, 2011 4:22 pm Post subject: RE:Making an Etch-A-Sketch?
If I were you, I would (as I said before) use an array to keep track of the dot positions. You don't have to use a flexible array in reality, but I think you should have at least an array.
Tony
Posted: Sun May 15, 2011 4:22 pm Post subject: Re: Making an Etch-A-Sketch?
vdemons @ Sun May 15, 2011 4:12 pm wrote:
I had more but I deleted it when it didn't work
That was the interesting part. The rest is mostly what you've had before.
Posted: Sun May 15, 2011 4:52 pm Post subject: RE:Making an Etch-A-Sketch?
Well I'm trying my best.
vdemons
Posted: Sun May 15, 2011 4:54 pm Post subject: RE:Making an Etch-A-Sketch?
I used the picID but that didn't work so I deleted it, but @Raknarg how would I use an array in this situation i haven't seen and array used like you described before.
Raknarg
Posted: Sun May 15, 2011 5:05 pm Post subject: RE:Making an Etch-A-Sketch?
if (a key is pressed) then
move x or y
oldx (number) or oldy (number) = x or y
end if
for i : 1 .. upper (array)
Draw.FillOval (oldx (i), oldy (i), 5, red)
end for
It's a pretty bad representation but that's what I had in mind if you understand it.
Sponsor Sponsor
klutzedufus
Posted: Sun May 15, 2011 9:01 pm Post subject: RE:Making an Etch-A-Sketch?
I think that you should use multiple if statements instead of elsifs for the keys pressed down, so that you can move diagonally as well.
HRI
Posted: Mon May 16, 2011 9:57 am Post subject: Re: Making an Etch-A-Sketch?
drawfillbox (x-radius,y-radius,x+radius,y+radius) will clear a rectangle the size of the circle from the screen.
Also, surprised no one mentioned this:
code:
[syntax="turing"]post code here[/syntax]
A bit of cleanup:
Turing:
View.Set("graphics,offscreenonly")%setscreen ("graphics,offscreenonly") var x, y :int
x :=200
y :=100
const RADIUS :int:=5% constants should be uppercase, radius does not change
if chars (KEY_UP_ARROW)then
y :=min(maxy - 12, y + 1)% easy way of making sure it doesn't go too far up endif% as said, allows you to move more than one direction at once
Draw.FillOval(x, y, RADIUS, RADIUS, red)% drawfilloval (x, y, RADIUS, RADIUS, red) %brightred could be nicer View.UpdateArea(0, 0, maxx, maxy)% faster than View.Update, updates from the lower left corner to upper right corner Time.Delay(5)%delay (5) drawfillbox(x - RADIUS, y - RADIUS, x + RADIUS, y + RADIUS, white)% clears circle endloop
I'm not totally sure what exactly the goal is, but I hope this helps somewhat.