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

Username:   Password: 
 RegisterRegister   
 Need help with my Program
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
CoD




PostPosted: Thu Jun 16, 2011 11:23 am   Post subject: Need help with my Program

I need help with collision because if the circles touch eachother then the program ends but I can't get the circles to go behind one another and if they try the program ends.

colorback (black)
var x := maxx div 2
var y := maxy div 2
const INCREMENT : int := 10
var chars : array char of boolean
var shoot : boolean := false
var r := x + 10
var distance : real
var a := 100
var b := 170
var circle1rad : int
var circle2rad :int
circle1rad := 12
circle2rad := 12



loop
cls
Draw.FillOval (a + 20, b + 30,circle1rad, circle1rad , white)
Draw.FillOval (x, y,circle2rad,circle2rad, red)

Input.KeyDown (chars)
if chars (KEY_LEFT_ARROW) and chars (KEY_UP_ARROW) then
x := x - INCREMENT
y := y + INCREMENT
Draw.FillOval (x - 1, y - 1, 5, 5, red)
elsif chars (KEY_RIGHT_ARROW) and chars (KEY_UP_ARROW) then
x := x + INCREMENT
y := y + INCREMENT
Draw.FillOval (x + 2, y + 1, 5, 5, red)
elsif chars (KEY_LEFT_ARROW) and chars (KEY_DOWN_ARROW) then
y := y - INCREMENT
x := x - INCREMENT
Draw.FillOval (x - 1, y - 1, 5, 5, red)
elsif chars (KEY_RIGHT_ARROW) and chars (KEY_DOWN_ARROW) then
y := y - INCREMENT
x := x + INCREMENT
Draw.FillOval (x + 1, y + 1, 5, 5, red)
elsif chars (KEY_LEFT_ARROW) then
x := x - INCREMENT
Draw.FillOval (x - 4, y - 1, 5, 5, red)
elsif chars (KEY_RIGHT_ARROW) then
x := x + INCREMENT
Draw.FillOval (x + 5, y - 1, 5, 5, red)
elsif chars (KEY_UP_ARROW) then
y := y + INCREMENT
Draw.FillOval (x + 1, y + 5, 5, 5, red)
elsif chars (KEY_DOWN_ARROW) then
y := y - INCREMENT
Draw.FillOval (x - 1, y - 5, 5, 5, red)

end if


if chars ('a') and chars ('w') then
a := a - INCREMENT
b := b + INCREMENT
Draw.FillOval (a + 20, b + 30, 5, 5, white)
elsif chars ('a') and chars ('s') then
a := a - INCREMENT
b := b - INCREMENT
Draw.FillOval (a + 21, b + 28, 5, 5, white)
elsif chars ('d') and chars ('w') then
a := a + INCREMENT
b := b + INCREMENT
Draw.FillOval (a + 22, b + 30, 5, 5, white)
elsif chars ('d') and chars ('s') then
a := a + INCREMENT
b := b - INCREMENT
Draw.FillOval (a + 20, b + 29, 5, 5, white)
elsif chars ('a') then
a := a - INCREMENT
Draw.FillOval (a + 15, b + 29, 5, 5, white)
elsif chars ('d') then
a := a + INCREMENT
Draw.FillOval (a + 25, b + 30, 5, 5, white)
elsif chars ('w') then
b := b + INCREMENT
Draw.FillOval (a + 20, b + 36, 5, 5, white)
elsif chars ('s') then
b := b - INCREMENT
Draw.FillOval (a + 20, b + 25, 5, 5, white)
end if
distance := sqrt ((x - a) ** 2 + (circle2rad - circle1rad) ** 2)
if distance <= circle1rad + circle2rad then
exit
end if
delay (30)
end loop
Sponsor
Sponsor
Sponsor
sponsor
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  [ 1 Posts ]
Jump to:   


Style:  
Search: