Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Making an Etch-A-Sketch?
Index -> Programming, Turing -> Turing Help
Goto page 1, 2  Next
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
vdemons




PostPosted: Sun May 15, 2011 2:44 pm   Post subject: Making an Etch-A-Sketch?

I am trying to make an Etch-A-Sketch program for school and I got it to make lines with the arrow keys however, I want to make it so that it makes lines only when you click a button then stop making line when you click it again. Right now it always makes lines.

Post any relevant code (You may choose to attach the file instead of posting the code if it is too long)
<View.Set ("graphics")

var x, y, radius : int
x := 200
y := 100
radius:=15

Draw.FillOval (x, y, radius, radius, red)

var chars : array char of boolean
View.Set ("offscreenonly")
loop
Input.KeyDown (chars)
if chars (KEY_UP_ARROW) then
y+=2
Draw.FillOval (x, y, radius, radius, red)
elsif chars (KEY_RIGHT_ARROW) then
x+=2
Draw.FillOval (x, y, radius, radius, red)
elsif chars (KEY_LEFT_ARROW) then
x-=2
Draw.FillOval (x, y, radius, radius, red)
elsif chars (KEY_DOWN_ARROW) then
y-=2
Draw.FillOval (x, y, radius, radius, red)
end if
View.Update
Time.Delay (5)
end loop>
Sponsor
Sponsor
Sponsor
sponsor
mirhagk




PostPosted: Sun May 15, 2011 2:52 pm   Post subject: RE:Making an Etch-A-Sketch?

So have you checked out any of the mouse commands, i'd suggest going into the Turing help file, and doing a search for mouse.
Tony




PostPosted: Sun May 15, 2011 2:56 pm   Post subject: RE:Making an Etch-A-Sketch?

did you mean to ask a question in there somewhere? If so, please fill out the provided template next time.
code:

if <button-is-pressed> then
   % draw the line
else
   % don't draw the line
end if
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
vdemons




PostPosted: Sun May 15, 2011 2:58 pm   Post subject: RE:Making an Etch-A-Sketch?

What I really mean, is how do I make my circle move without making a line?
Tony




PostPosted: Sun May 15, 2011 3:11 pm   Post subject: Re: RE:Making an Etch-A-Sketch?

vdemons @ Sun May 15, 2011 2:58 pm wrote:
What I really mean, is...

Nice, now we are getting somewhere.

As you move the circle, you'd need to clear the screen from the circle's previous location. I imagine that right now you do that by drawing a piece of a "line" on top.

The two basic approaches are either:
- re-draw the entire screen as it was before.
- draw some minimal changes on top.
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
vdemons




PostPosted: Sun May 15, 2011 3:16 pm   Post subject: RE:Making an Etch-A-Sketch?

...and how would I do that, the only way I know of doing that is to use "cls" but it erases the entire screen!
Tony




PostPosted: Sun May 15, 2011 3:20 pm   Post subject: RE:Making an Etch-A-Sketch?

That's one way. Then you would need to re-draw the entire screen, as it was before (less the moving non-drawing circle). Meaning that you'd have to remember what was on the screen, somehow.
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
vdemons




PostPosted: Sun May 15, 2011 3:21 pm   Post subject: RE:Making an Etch-A-Sketch?

Is there a command to do that?
Sponsor
Sponsor
Sponsor
sponsor
vdemons




PostPosted: Sun May 15, 2011 3:26 pm   Post subject: RE:Making an Etch-A-Sketch?

What about "View.Update" would it do?
Tony




PostPosted: Sun May 15, 2011 3:30 pm   Post subject: RE:Making an Etch-A-Sketch?

- array of variables
- whatdotcolor
- Pic.New
in no particular order, could all be useful for at least 3 different approaches
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
Raknarg




PostPosted: Sun May 15, 2011 3:40 pm   Post subject: RE:Making an Etch-A-Sketch?

If I were you, I'd use a flexible array to save the dots positions.
Tony




PostPosted: Sun May 15, 2011 3:45 pm   Post subject: RE:Making an Etch-A-Sketch?

@Raknarg -- if the screen size doesn't change, a static sized array offers a number of advantages.
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
Raknarg




PostPosted: Sun May 15, 2011 3:48 pm   Post subject: RE:Making an Etch-A-Sketch?

Are you sure? I thought he could use the flexible array so that it would only save the amount of positions needed... whats the advantage?
Tony




PostPosted: Sun May 15, 2011 3:52 pm   Post subject: RE:Making an Etch-A-Sketch?

Mostly in performance:

- no need to resize the array every time a new pixel is drawn
- constant time lookup for an arbitrary position

The downside is naturally the space requirement, but that is only the case if there are very few dots in a very large (mostly blank) screen.
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
Raknarg




PostPosted: Sun May 15, 2011 3:56 pm   Post subject: RE:Making an Etch-A-Sketch?

hmm... Well, the space requirement is the only real reason I would've suggested it, having a large for loop when you dont need it seems to slow down things a lot... or at least in bigger games.
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 2  [ 25 Posts ]
Goto page 1, 2  Next
Jump to:   


Style:  
Search: