Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Billard grundprinzip ... Kugeln und Tisch mit canvas erzeugt

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.12.2005, 10:04 Uhr
Donar



Also, ich hab folgendes Problem:

Ich soll für die Schule eine Art Billardtisch aufbauen! Der Tisch und die Kugeln sollen per Canvas erzeugt werden. Sollen allerdings nur 3 Kugeln sein, die ihre geschwindigkeit nicht verändern. Wir sollen lediglich die kollisionen erkennen und die Kugeln voneinander und von der Bande abprallen lassen. Die geschwindigkeit muss sich auch nicht verringern!

Jetzt mein Problem ... wenn ich mit Canvas einen Kreis zeichne werden 4 Werte angegeben .. halt die coords für die 2 Punkte aus denen der Kreis erzeugt wird. Aber wie kann ich es jetzt bewerkstelligen, dass dieser Kreis in eine bestimmte richtung läuft und vor allem, wie mache ich es, dass das Programm die Kollisionen erkennt?

Ich hoffe mir kann jemand dabei weiter helfen!!

MfG
Donar
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.12.2005, 10:38 Uhr
~Thorsten1896
Gast


hallo,

ich habe von canvas keine ahnung, allerdings, durch schleifen und deiner angegebenen grösse bzw. radius müsste es doch möglich sein.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
06.12.2005, 10:45 Uhr
Sponge



Naja das Programm wird sicherlich die Kollision nicht selbst erkennen, dass müsstest du sicherlich selbst machen. Ist bei einem Viereck (die Bande des Tisches) und einem Kreis (Kugel) recht simpel.. du weisst wo der Kreis ist und den Radius des Kreises.. dann einfach prüfen, ob der Kreis über die Bande geht.
x1 < xKreis < x2 wobei x1 die linke Seite des Vierecks ist und x2 die rechte
analog für y
Man könnte sicherlich auch andere Kollisionserkennungen durchführen, ist hier aber zu hochgestochen.
Damit sich der Kreis bewegt, setzt du einfach immer seine Kooridnaten neu.. also
zeiche Tisch
zeichne Kugel an Stelle (x,y)

lösche gesamtbild
zeichne Tische
zeichne Kugel an Stelle(x+1,y+1)

und schon hast du deine Kugel verschoben

Damit man das auch erkennen kann, soltest du das neuzeichnen des Gesamtbildes über einen Timer steuern.

Als kleine Anleitung kann ich folgendes empfehlen:
www.gaw.fh-mannheim.de/Erste%20Schritte.pdf
--
Es gibt 10 Arten von Leuten:
die, die das binäre System verstanden haben,
und die, die es nicht verstanden haben ^^
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: