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

Username:   Password: 
 RegisterRegister   
 Randomizing 5 different blocks
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
johnbobbit




PostPosted: Sun Jan 18, 2004 10:04 am   Post subject: Randomizing 5 different blocks

thanks to some kind person who read my message i was able to get this far. I am trying to make my userInput procedure run
5 different sized boxes appear on the screen, each a different color according to size. The catch is that each time the program is run the order of the boxes has to change. I was unable to do this so can someone read my code and tell me how please.
thanks



%user input
procedure userInput
var x:array 1..5 of int:=init(60,80,100,120,140)
var y:array 1..5 of int:=init(60,80,100,120,140)
var space:array 1..5 of int:=init(-50,20,110,220,350)


for i:1..5
randomize
drawfillbox(space(i)+x(i),100,space(i)+x(i)+x(i),y(i)+100,i)
end for
end userInput

userInput
Sponsor
Sponsor
Sponsor
sponsor
shorthair




PostPosted: Sun Jan 18, 2004 10:34 am   Post subject: (No subject)

Rename the topic title please ,you will get more help , we know you need help because you posted in the HELP forum ,
johnbobbit




PostPosted: Sun Jan 18, 2004 4:53 pm   Post subject: ok, i changed it

ok i changed it, can u help me on the program?
Tony




PostPosted: Sun Jan 18, 2004 5:54 pm   Post subject: (No subject)

wow Laughing what the? Confused all your values are hardcoded. And randomize is obsolite and does nothing.

you need to use Rand.Int(). as in
code:

loop
put Rand.Int(0,100)
end loop
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
johnbobbit




PostPosted: Sun Jan 18, 2004 6:33 pm   Post subject: hello tony

hello tony
i've tried the randint command and it doesnt make anything better.
What do u sugest i randomize or change

%user input
procedure userInput
var x:array 1..5 of int:=init(60,80,100,120,140)
var y:array 1..5 of int:=init(60,80,100,120,140)
var space:array 1..5 of int:=init(-50,20,110,220,350)
for i:1..5 randint(x(i),x(1),x(5))
drawfillbox(space(i)+x(i),200,space(i)+x(i)+x(i),y(i)+200,i)
end for
end userInput

userInput


thanks
McKenzie




PostPosted: Sun Jan 18, 2004 10:01 pm   Post subject: (No subject)

It's still hard to tell exactly what you need to do. The best I can understand by your description; the size and location of your boxes are the same each time but you want the order to change. Please clarify. (why have a -50 size ?)
Must each of the 5 appear exactly once? Or is it the case that you want 5 randomly sized and located boxes (by what criteria does size translate to colour?)
johnbobbit




PostPosted: Sun Jan 18, 2004 10:09 pm   Post subject: Hi macKenzie

for this program i need the size of the boxes to stay the same but for their x location to change everytime the program is run, in the order that it is right now it goes smallest to largest(1,2,3,4,5) but i need it to run different each time like( 2,3,4,1,5) for example. Also each time it is run i need the color to stay with the specific sized sqaure, for example the small square is always blue.
thanks
Boarder16




PostPosted: Sun Jan 18, 2004 10:40 pm   Post subject: (No subject)

if you wanted to go really simple (in my opinion0 you could do seperate procedures.. heres an EXAMPLE

var box, boxx, boxy, boxc :int

proc box1
drawfillbox(boxx,boxy,boxx+20(width of box),boxy+20(height of box),boxc(color of box)
end box1

proc box2
drawfillbox(boxx,boxy,boxx+10(width of box),boxy+10(height of box),boxc(color of box)
end box2

proc box3
drawfillbox(boxx,boxy,boxx+25(width of box),boxy+25(height of box),boxc(color of box)
end box3

proc box4
drawfillbox(boxx,boxy,boxx+43(width of box),boxy+43(height of box),boxc(color of box)
end box4

proc box5
drawfillbox(boxx,boxy,boxx+30(width of box),boxy+30(height of box),boxc(color of box)
end box5

proc box6
drawfillbox(boxx,boxy,boxx+40(width of box),boxy+40(height of box),boxc(color of box)
end box6
loop
randint(boxx, 1, (maximum - however wide the box will be)(in other words how wide)

randint(boxy, 1, (maximum - however tall teh box will be)(in other word how tall)

randint(box, 1,6)
if box = 1 then box1
elsif box = 2 then box2
elsif box = 3 then box3
elsif box = 4 then box4
elsif box = 5 then box5
elsif box = 6 then box6
end if
%I'M NOT SURE HOW BUT YOU MUST FIND OUT HOW TO TAKE AWAY ONE VALUE FROM THE RANDINTS CHOICES, SO IT CANNOT CALL TEH SAME COLOR, OR BOX PROCEDURE TWICE... THIS IS A MORE SIMPLIER/EASIER WAY TO SEE OR UNDERSTAND IT..FOR ME ANYWAY BUT IT IS ALOT LENGTHIER THAN IT CAN BE DONE IN..I MEAN THIS IS VERY LONG LOL....BUT IF U DON'T CARE IT WILL BE FINE
end loop

MIND YOU THIS IS NOT THE COMPLETE CODE TO DO THIS..SOME TINKERING WILL HAVE TO BE DONE.. CASUE I JSUT TYPED IT NOW.. BUT IT IS A BASIC STRUCTURE FOR SOMETHIN LIKE THAT... OK
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 1  [ 8 Posts ]
Jump to:   


Style:  
Search: