zufällig Punkte Zeichnen
Übersicht

KaDuZaBetreff: zufällig Punkte Zeichnen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Huhu,
Ich bin gerade bei einen kleinen mini projekt was ich aus langeweile mache ![]() So die extreme simple engine steht ja auch schon fast aber ich habe ein Problem. Auf den ganzen Bildschirm sollen 10 zufällige punkte gezeichnet werden. Das läst sich ja auch leicht umsetzen aber ich habe keine ahnung, wo ich das im code schreiben sollte, in der hauptschleife zeichnet er sie immer anders, was nicht der sinn ist, und auch noch unschön aussieht, vor der hauptschleife geht es auch ned da in der hauptschleife das cls steht^^ Wäre froh wenn mir jemand sagen könne wie ich das am besten machen könnte. Damit die Problemlösung etwas schneller und angenehmer geht habe ich meinen Code auskommentiert. Code: [AUSKLAPPEN] AppTitle "Test game"
Graphics 640,480,16,1 SetBuffer BackBuffer() Include "keys.bb" ;Varibeln myx=0 myy=0 p2x=605 p2y=445 ;timer cpu = CreateTimer (60) ;bilder ;Spieler my=LoadImage("gfx\my.bmp") MaskImage my ,255,255,255 p2=LoadImage("gfx\p2.bmp") MaskImage p2 ,255,255,255 ;Punkte bullet=LoadImage("gfx\bullet.bmp") MaskImage bullet ,255,255,255 ;Punkte zeichnen For i = 1 To 10 DrawImage bullet ,Rand(605),Rand(445) Next ;Hauptschleife Repeat Cls DrawImage my , myx,myy DrawImage p2, p2x,p2y ;if abfragen(Bewegung, my) If KeyDown(key_left) Then myx=myx - 2 If KeyDown(key_right) Then myx=myx + 2 If KeyDown(key_up) Then myy=myy - 2 If KeyDown(key_down) Then myy=myy + 2 If myx < 0 Then myx=0 If myx > 605 Then myx=605 If myy < 0 Then myy=0 If myy > 445 Then myy = 445 ;if abfragen(bewegung p2) If KeyDown(key_a) Then p2x=p2x - 2 If KeyDown(key_d) Then p2x=p2x + 2 If KeyDown(key_w) Then p2y=p2y - 2 If KeyDown(key_s) Then p2y=p2y + 2 If p2x < 0 Then p2x=0 If p2x > 605 Then p2x=605 If p2y < 0 Then p2y=0 If p2y > 445 Then p2y = 445 WaitTimer cpu Flip 0 Until KeyHit(1) End MFG |
||
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
BlitzBasic: [AUSKLAPPEN] Function generate_plots(sx,sy,ex,ey) |
||
KaDuZa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich werde es wohl eher mit types lösen versuche gerade es umzusetzen^^ | ||
KaDuZa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok ich bin weiter gekommen ![]() jetz sollen aber wenn my (player 1) oder p2(player2) mit einen punkt kollidiert diesen auch löschen. bei player 2 funkt alles tadellos aber bei player 1 kommt die fehler meldung, objekt doesent exist. wäre dankbar für eine fehlerbehebung in meinen code weil ich einfach nicht weiterkomme Code: [AUSKLAPPEN] AppTitle "Test game"
Graphics 640,480,16,1 SetBuffer BackBuffer() Include "keys.bb" Type punkte Field bx Field by End Type ;Varibeln myx=0 myy=0 myp=0 p2x=605 p2y=445 ;timer cpu = CreateTimer (60) ;bilder ;Spieler my=LoadImage("gfx\my.bmp") MaskImage my ,255,255,255 p2=LoadImage("gfx\p2.bmp") MaskImage p2 ,255,255,255 ;Punkte bullet=LoadImage("gfx\bullet.bmp") MaskImage bullet ,255,255,255 For i =1 To 50 info.punkte = New punkte info\bx = Rand(0,605) info\by = Rand(0,445) Next ;Hauptschleife Repeat Cls Text myp,605/2,0 For info.punkte = Each punkte DrawImage bullet ,info\bx,info\by If ImagesCollide(my, myx,myy,0, bullet, info\bx,info\by,0) Then Delete info.punkte myp=myp+1 EndIf If ImagesCollide(p2, p2x,p2y,0, bullet, info\bx,info\by,0) Then Delete info.punkte p2p=p2p+1 EndIf Next DrawImage my , myx,myy DrawImage p2, p2x,p2y ;if abfragen(Bewegung, my) If KeyDown(key_left) Then myx=myx - 2 If KeyDown(key_right) Then myx=myx + 2 If KeyDown(key_up) Then myy=myy - 2 If KeyDown(key_down) Then myy=myy + 2 If myx < 0 Then myx=0 If myx > 605 Then myx=605 If myy < 0 Then myy=0 If myy > 445 Then myy = 445 ;if abfragen(bewegung p2) If KeyDown(key_a) Then p2x=p2x - 2 If KeyDown(key_d) Then p2x=p2x + 2 If KeyDown(key_w) Then p2y=p2y - 2 If KeyDown(key_s) Then p2y=p2y + 2 If p2x < 0 Then p2x=0 If p2x > 605 Then p2x=605 If p2y < 0 Then p2y=0 If p2y > 445 Then p2y = 445 ;kollisions abfrage WaitTimer cpu Flip 0 Until KeyHit(1) End |
||
![]() |
Blackside |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Problem ist, das du nachdem der Punkt bei Spieler 1 gelöscht wird, du bei der nächsten Abfrage nochmals versuchst auf den Punkt zuzugreifen. Ein einfaches Exit![]() Mfg Blackside[/code] |
||
Hier sollte eigentlich eine Signatur stehen! |
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
besser wäre es wenn du nicht bei jedem problem dein komplettes "projekt" postest und auf antwort wartest.. grenz den fehler ein(debugger?) versuch das problem zu lösen und sollte es dann selbst nach der suchfunktion nutzung nicht klappen kannst du den fehlerhaften code posten.
und ps: doppelposts sind hier ungern gesehen es gibt hier nen edit button(an deine beiträgen oben rechts) |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group