Computer Science Canada Programming C, C++, Java, PHP, Ruby, Turing, VB   Username:   Password: Wiki   Blog   Search   Turing   Chat Room  Members
Author Message
Rocky

my program got two circles and one of them is bouncing all over the screen and the only thing i want is to give me a code that makes the bouncy circle bounce back if it hit the other circle and not pass throu it.

azndragon

Posted: Thu Dec 19, 2002 9:13 am   Post subject: (No subject)

Read the tutorial for the pool game in the other Turing forum. It explains how to develop a very realistic physics system.
Rocky

Posted: Thu Dec 19, 2002 7:12 pm   Post subject: thankx but..

thank you but i still can't understand . let me just tell what iam doing

i made two circles one is big and the other one is small . i made the small one bounce all over the screen and i made the big one move usin the keyboared and the only thing is missing now is to make the small ball bounce back if hits the big one .... so please answer quickly ..plz.plz...i really need it today ...plz the code
krishon

Posted: Thu Dec 19, 2002 7:41 pm   Post subject: (No subject)

i'm not to sure bout how to do this, maybe if you can use the equation of a circle. Like if they touch, then since the x y co-ordinates ont he side change, you could make them bounce off. i not really sure how to do it with a circle, but i know how to do it with a straight line, like pong.
krishon

Posted: Thu Dec 19, 2002 7:47 pm   Post subject: (No subject)

well, actually, nm
u should reread the tutorial, with the code about the length between the centers and the if the distance of the length is less than the sum of the length of the radiuses, then it will bounce off. that is ur best bet.
Rocky

Posted: Thu Dec 19, 2002 8:29 pm   Post subject: ok can you..

ok u said that u can do it with a line right? i think that would be better because iam actully making a program that it's related to pong so clould u please show me the code or send it to aho_vip@hotmail.com

plz hurry up
Rocky

Posted: Thu Dec 19, 2002 8:34 pm   Post subject: i ask a lot sorry

could u please include the way of moving the line if u decided to send the code ...... i know i asked alot but i am new on turing and i don't know alot about it ...sorry
Dan

Posted: Thu Dec 19, 2002 8:59 pm   Post subject: time sucks

with all the stuff going on i dont have any time to wire this up for you but we do have two difrent pong progames that may help you out.

go to:

ftp://swat@danco.no-ip.com/

then go in to the turing dir, progames then there is dan pong and another one made by some one i know.
Computer Science Canada Help with programming in C, C++, Java, PHP, Ruby, Turing, VB and more!

Dan

Posted: Thu Dec 19, 2002 9:01 pm   Post subject: oh

oh, one more thing they are made for turing 3.0.1 so if you dont have a sprite comblet turing you may have some problems but the code for colasion dection is still good.

P.S. next time plz give your post a better title it will help us and poleop that are looking for help.
Computer Science Canada Help with programming in C, C++, Java, PHP, Ruby, Turing, VB and more!
Rocky

Posted: Thu Dec 19, 2002 9:10 pm   Post subject: sorry

iam have been trying to do what u said scence last week but as i said iam not really good at turing and i just found ur site yesterday and my program is due tommorw sooooooooooo pleaseeeeeeee help plz plz
Rocky

Posted: Thu Dec 19, 2002 9:20 pm   Post subject: (No subject)

this what i got tell now

-----------------------------------------------------------------------

%-----------------------------------------------------------------------------
%Variable Dictionary
%-----------------------------------------------------------------------------
var b, n : int %Cordenates of the cercle centre
var chars : array char of boolean %Arrys
var x : int % the center of the circle
var y : int % the center of the circle
var dx : int %The Change in x
var dy : int %The Change in y
var picID : int %The ball image
var picBack : int %the Background Picture
var t : array 1 .. 8 of int := init (100, 100, 135, 185, 220, 220, 185, 135) %initiling the lines of the polygon
var z : array 1 .. 8 of int := init (100, 150, 185, 185, 150, 100, 65, 65) %initiling the lines of the polygon
%-----------------------------------------------------------------------------
%Setting Values For Variables
%-----------------------------------------------------------------------------

x := 100 %assigning where the centre of the circle must be
y := 240 %assigning where the centre of the circle must be
dx := Rand.Int (10, 15) %setting the changes of x to random number
dy := Rand.Int (10, 15) %setting the changes of y to random number
b := 100 %Centre of the Circle
n := 100 %Centre of the Circle

%-----------------------------------------------------------------------------
% SET SCREEN SETTINGS
%-----------------------------------------------------------------------------

setscreen ("graphics:v16") % sets the screen for vga mode 640 x 480
setscreen ("nocursor") % Turn off cursor
setscreen ("noecho")% Do not echo keys

%----------------------------------------------------------------------------
%Drawing the intor screen
%----------------------------------------------------------------------------

Draw.FillBox (0, 0, maxx, maxy, black)
delay (1000)
Draw.FillPolygon (t, z, 8, brightblue)
Draw.Polygon (t, z, 8, cyan)
delay(1000)
var font4 : int
font4 := Font.New ("Palatino:40:bold,italic")
Font.Draw ("Wellcome", 200, 300, font4, green)
delay(1000)
put"Try to prevent the bouncy ball from going behind your big circle"
delay(3000)

%----------------------------------------------------------------------------
%Play Music while the program is running
%----------------------------------------------------------------------------

process Rock
loop
Music.PlayFile ("pong2.mid")
end loop
end Rock

fork Rock

%----------------------------------------------------------------------------
%Drawing Background
%----------------------------------------------------------------------------

Draw.FillBox (0, 0, maxx, maxy, 10)
for v : 80 .. 640 by 80
Draw.Line (v, 0, v, 480, 0)
end for

for h : 60 .. 640 by 60
Draw.Line (0, h, 640, h, 0)
end for

%---------------------------------------------------------------------------
% Capture Image as Background and Draw it
%---------------------------------------------------------------------------

picBack := Pic.New (0, 0, maxx, maxy)
Pic.Draw (picBack, 0, 0, picCopy)
cls

%---------------------------------------------------------------------------
%Drawing the Ball
%---------------------------------------------------------------------------

Draw.Oval (x, y, 10, 10, blue)
Draw.Dot (105, 240, 3)
Draw.Fill (105, 240, blue, blue)
picID := Pic.New (90, 200, 115, 250)

%---------------------------------------------------------------------------
%looping and setting the walls
%---------------------------------------------------------------------------

loop

Pic.Draw (picBack, 0, 0, picCopy)
Pic.Draw (picID, x, y, picMerge)
delay (40)
x := x + dx

if x >= maxx - 20 or x <= 0 then
dx:=-dx
end if

y := y + dy
if y >= maxy - 50 or y <= -30 then
dy := -dy
end if

%-----------------------------------------------------------------------------
%Make The Big Circle move using the Keyboared
%-----------------------------------------------------------------------------
Input.KeyDown (chars)

if chars (KEY_UP_ARROW) then
n := n + 5

elsif chars (KEY_RIGHT_ARROW) then
b := b + 5

elsif chars (KEY_LEFT_ARROW) then
b := b - 5

elsif chars (KEY_DOWN_ARROW) then
n := n - 5
end if

drawoval (b, n, 40, 40, red)
delay (5)

end loop
-----------------------------------------------------------------------------------
and as i said the only thing i want is to make the bouncy ball bounce back if it hits the big ball

plzzz help
Rocky

Posted: Thu Dec 19, 2002 9:23 pm   Post subject: if u..

if u dont know how make the ball bounce back pretend that it's aline and tell me how to move it

Tony

Posted: Thu Dec 19, 2002 10:48 pm   Post subject: solution

listen kid, you were told to read the tutorial on pool like 5 times already. By different people... I mean come on! It has all the code you need and it explains how to use it.

Quote:
if x >= maxx - 20 or x <= 0 then
dx:=-dx
end if

you obvisoly understand how to bounce the ball of the wall, now just make another if statment to bounce it of the other ball...

http://www.compsci.ca/bbs/viewtopic.php?t=129

here, just in case you don't know how to use links, I'll post the code up again from my tutorial that you were told to read:

 code: distance := ((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1))** 0.5 if distance < 10 %if collision then sp2x := round(sp1x*sp1x + sp1y*sp1y)**0.5 * ((x2-x1)/(x2-x1 + y2-y1)) sp2y := round(sp1x*sp1x + sp1y*sp1y)**0.5 * ((y2-y1)/(x2-x1 + y2-y1)) end if

follow the link above for the explanation of functions and how they were found and how to use them properly.
Tony's programming blog. DWITE - a programming contest.
Rocky

Posted: Thu Dec 19, 2002 10:55 pm   Post subject: man iam sorry

man i have read the tutourial more than 2 times but i still can't understand it but i'll keep reading but plz if u have time just tell how do do it
Tony

Posted: Thu Dec 19, 2002 11:05 pm   Post subject: (No subject)

It explains what variables stand for and what steps you need to take to make realistic physics.

hey, you can just do if distance < 50 then dx:=-dx

the ball will bounce off, just in the wrong direction. It would be as if it hit the solid vertical wall there.

tutorial explains how to find right angle after colision of 2 balls.
Tony's programming blog. DWITE - a programming contest.
 Display posts from previous: All Posts1 Day7 Days2 Weeks1 Month3 Months6 Months1 Year Oldest FirstNewest First

Page 1 of 2  [ 24 Posts ]
Goto page 1, 2  Next
 Jump to:  Select a forum  CompSci.ca ------------ - Network News - General Discussion     General Forums   -----------------   - Hello World   - Featured Poll   - Contests     Contest Forums   -----------------   - DWITE   - [FP] Contest 2006/2008   - [FP] 2005/2006 Archive   - [FP] 2004/2005 Archive   - Off Topic     Lounges   ---------   - User Lounge   - VIP Lounge     Programming -------------- - General Programming     General Programming Forums   --------------------------------   - Functional Programming   - Logical Programming   - C     C   --   - C Help   - C Tutorials   - C Submissions   - C++     C++   ----   - C++ Help   - C++ Tutorials   - C++ Submissions   - Java     Java   -----   - Java Help   - Java Tutorials   - Java Submissions   - Ruby     Ruby   -----   - Ruby Help   - Ruby Tutorials   - Ruby Submissions   - Turing     Turing   --------   - Turing Help   - Turing Tutorials   - Turing Submissions   - PHP     PHP   ----   - PHP Help   - PHP Tutorials   - PHP Submissions   - Python     Python   --------   - Python Help   - Python Tutorials   - Python Submissions   - Visual Basic and Other Basics     VB   ---   - Visual Basic Help   - Visual Basic Tutorials   - Visual Basic Submissions     Education ----------- - Student Life   Graphics and Design ----------------------- - Web Design     Web Design Forums   ---------------------   - (X)HTML Help   - (X)HTML Tutorials   - Flash MX Help   - Flash MX Tutorials   - Graphics     Graphics Forums   ------------------   - Photoshop Tutorials   - The Showroom   - 2D Graphics   - 3D Graphics     Teams ------ - dTeam Public

 Style: Appalachia blueSilver eMJay subAppalachia subBlue subCanvas subEmjay subGrey subSilver subVereor Search: