Autor Beitrag
amarschdiemarry
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 12.05.09 10:44 
Hallo,
habe folgende frage:
ich wollte ein Spiel Programieren:
Da sollen Kreise entstehen die von Oben nach unten Runterfallen. Diese Kreise Unterschiedlicher Größe soll man WegKlciken können, bevor sie unten angekommen sind.
Wie Kann man soetwas realisieren.

Vielen Dank!
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Di 12.05.09 11:21 
:welcome:

Welche Ansätze hast du denn bereits? Hast du schon begonnen zu programmieren?
Fertige Programme wird hier niemand posten - für diesen Zweck gibt es die Sparte "Jobbörse". Wenn du möchtest, dass ich deinen Beitrag dorthin verschiebe sag bitte Bescheid. Ansonsten gib uns bitte Informationen darüber, was du schon überlegt und vielleicht programmiert hast, damit wir dir konkret weiterhelfen können.

AXMD
ffgorcky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 573

WIN XP/2000 & 7Prof (Familie:Win95,Win98)

BeitragVerfasst: Di 12.05.09 11:37 
Also mal als Anregung:
Ich würde dafür eine Komponente wie einen Button nehmen, wobei der ja leider nicht rund ist.
Ansonsten könntest Du dem dann ja per Timer sagen:
ausblenden Delphi-Quelltext
1:
 Button.Top:=Button.Top+1;					

Dadurch würde er sich ja immer ein Stückchen weiter runterbewegen.
Und bei Button.OnClick(Sender) verzeichnest Du dann, dass er getroffen wurde und lässt ihn meinetwegen verschwinden.
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Di 12.05.09 13:28 
mmh... buttons sind dafür nicht gerade geeignet... Nimm lieber Eine paintbox und zeichne selber...
Die OH hilft da...
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Di 12.05.09 13:30 
Oder noch besser Shapes - da gibt es Kreise bereits vordefiniert ;)

AXMD
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 12.05.09 16:52 
Zur Anregung:
ausblenden Interface
1:
2:
3:
4:
5:
TKreis = record
  position, 
  velocity: TPoint;
  radius: integer;
end;

ausblenden Global oder in TForm
1:
var kreise: array of TKreis;					

ausblenden Timer
1:
2:
for i := 0 to high(kreise) do 
  kreise[i].position.y := kreise[i].position.y + kreise[i].velocity.y

ausblenden Repaint
1:
2:
for i := 0 to high(kreise) do 
  paintbox1.canvas.ellipse(kreise[i].position.x-radius, kreise[i].position.y-radius, kreise[i].position.x+radius, kreise[i].position.y+radius);


So oder so ähnlich könnte man das umsetzen. Müsste man halt noch einbauen, dass Mausklicks abgefragt werden und dementsprechend reagiert wird.

mfg
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Di 12.05.09 17:13 
Und dann könnte man noch einen virtuellen Canvas nehmen und die Kreise in der Farbe des Array-Indexes zeichnen. Dann weiß man auch schon, welcher Kreis an Position XY gerade ist, ist allerdings sehr speicherhungrig.