Seite 1 von 2

SpringBall - mein erstes Game in PB

Verfasst: 26.10.2008 15:19
von Dare Devil
Hallo
Da ich nun frisch von BB auf PB umgestiegen bin, habe ich mir gedacht, ich erstelle zur Uebung eine Springball-Variante... hat wunderbar geklappt und es gab kaum Probleme...

Ziel ist es mit dem Ballfaenger den Ball zum gruenen Block zu lenken.. (Koordinaten des gruenen Blocks werden durch Zufall bestimmt) Wenn man ihn trifft gibt es 5 Punkte ...

http://www.file-upload.net/download-120 ... l.exe.html

Naja ich hoffe euch gefaellt es und es laeuft auch bei euren Rechnern problemlos.

Verfasst: 26.10.2008 15:24
von X360 Andy
Bekomme ne Virus meldung ?
Win32:KdCrypt [Cryp]
Virus/Wurm

Verfasst: 26.10.2008 15:24
von STARGÅTE
läuft problemlos.

ein Paar anmerkungen:
- Manchem prallt der Bild vom Grünen Balken falsch ab.
- Es wäre gut wenn man mit dem Schläger den ball noch ein bisschen besser steuern könnte, sodass er nicht immer genau mit 45° oder -45° durch den Raum fliegt ...

Verfasst: 26.10.2008 15:38
von Dare Devil
X360 Andy hat geschrieben:Bekomme ne Virus meldung ?
Win32:KdCrypt [Cryp]
Virus/Wurm
echt? :shock: naja ist definitiv kein Virus ... wenn du mir nicht traust dann kannst du den Code selbst kompilieren und testen:

Code: Alles auswählen

; ************************************
; SPRING-BALL - Projekt
; ************************************

If OpenWindow(0, 100, 100, 300, 300, "Spring Ball - by Dare Devil") = 0
  MessageRequester("Laufzeit - Fehler", "Konnte Spiel nicht starten. Programm wird beendet.")
  End
EndIf

If InitSprite() = 0
  MessageRequester("Laufzeit - Fehler", "Konnte Spiel nicht starten. Programm wird beendet.")
  End
EndIf

If OpenWindowedScreen(WindowID(0), 0, 0, 300, 300, 0, 0, 0) = 0
  MessageRequester("Laufzeit - Fehler", "Konnte Spiel nicht starten. Programm wird beendet.")
  End
EndIf

If InitKeyboard() = 0
  MessageRequester("Laufzeit - Fehler", "Konnte Tastatur nicht finden. Programm wird beendet.")
  End
EndIf

wandx.l = 100
wandy.l = 250
wandwidth.l = 50
wandheight.l = 10
ballx.l = 100
bally.l = 10
ballg.l = 1
ballgx.l = 0
punkte.l = 0
zufallx.l = Random(270)
zufally.l = Random(50)

CreateSprite(1, 5, 5)
CreateSprite(2, wandwidth, wandheight)
CreateSprite(3, 30, 10)
Repeat
  ExamineKeyboard()
  ClearScreen(0)
  If StartDrawing(ScreenOutput()) = 0
    MessageRequester("Laufzeit - Fehler", "Konnte Spiel nicht starten. Programm wird beendet.")
    End
  EndIf
  
  Box(wandx, wandy, wandwidth, wandheight, RGB(0, 0, 255))
  Box(zufallx, zufally, 30, 10, RGB(0, 255, 0))
  Circle(ballx, bally, 5, RGB(255, 0, 0))
  DrawText(220, 270, "Punkte: " + Str(punkte), RGB(255, 255, 255), 0)
  
  StopDrawing()
  
  FlipBuffers()
  
  If KeyboardPushed(#PB_Key_Left) And wandx > 0
    wandx - 5
  ElseIf KeyboardPushed(#PB_Key_Right) And wandx < 250
    wandx + 5
  EndIf
  
  If ballg = 1
    bally + 1
  ElseIf ballg = 0
    bally - 1
  EndIf
  
  If SpriteCollision(1, ballx, bally, 2, wandx, wandy)
    ballg = 0
    If ballx < wandx + (wandwidth / 2)
      ballgx = 2
    ElseIf ballx > wandx + (wandwidth / 2)
      ballgx = 1
    ElseIf ballx = wandx + (wandwidth / 2)
      ballgx = 0
    EndIf
  ElseIf bally <= 0
    ballg = 1
  EndIf
  
  If ballgx = 1
    ballx + 1
  ElseIf ballgx = 2
    ballx - 1
  EndIf
  
  If ballx >= 300
    ballgx = 2
  ElseIf ballx <= 0
    ballgx = 1
  EndIf
  
  If SpriteCollision(1, ballx, bally, 3, zufallx, zufally)
    punkte + 5
    zufallx.l = Random(270)
    zufally.l = Random(50)
    
    If ballgx = 1
      ballgx = 2
    ElseIf ballgx = 2
      ballgx = 1
    EndIf
  EndIf
  
  If bally > wandy
    but = MessageRequester("Verloren!", "Sie haben leider verloren! Moechten Sie erneut spielen?", #PB_MessageRequester_YesNo)
    If but = #PB_MessageRequester_Yes
      ballx = 100
      bally = 10
      ballg = 1
      ballgx = 0
      punkte = 0
      zufallx = Random(270)
      zufally = Random(50)
    ElseIf but = #PB_MessageRequester_No
      End
    EndIf
  EndIf
  
  If WindowEvent() = #PB_Event_CloseWindow
    Break
  EndIf
  Delay(10)
ForEver
  
  
  
Dann koennt ihr auch gleich noch ueber mein Coding-Stil meckern :mrgreen:



STARGÅTE hat geschrieben:läuft problemlos.

ein Paar anmerkungen:
- Manchem prallt der Bild vom Grünen Balken falsch ab.
- Es wäre gut wenn man mit dem Schläger den ball noch ein bisschen besser steuern könnte, sodass er nicht immer genau mit 45° oder -45° durch den Raum fliegt ...
Zum ersteren: hab ich schon bemerkt, weiss auch nicht woran es liegt, muss noch guckn
Zum zweiteren: Das ist im Prinzip kein Problem ... werde mich darum kuemmern :D

Verfasst: 26.10.2008 16:01
von Kaeru Gaman
Ich bekomme die selbe Virenmeldung...

die Scheiß Heuristik is mal wieder'n bissel Trigger-Happy.

hast du die exe irgendwie gepackt, oder ist das direktes Kompilat?

lad lieber ZIP oder RAR archive hoch, dann bekommt man's zumindest runtergeladen und er meckert erst beim entpacken.
wenn er beim downloaden selber meckert, muss man den Virenscanner komplett abschalten um die Daten überhaupt zu ziehen.

... leider sind die Virenchecker heutzutage nicht in der Lagen, einen effektiven "Ignorieren"-Button zur Verfügung zu stellen.

Verfasst: 26.10.2008 16:12
von Dare Devil
Hallo

Also warum die Virenmeldung bei euch kommt ist mir unklar...Vielleicht kann das mal jemand klaeren ... Mein McAffee jammert zumindest nicht ... :(

Jedenfalls sind beide Probleme die STARGATE bereits angesprochen hat behoben... Man kann den Winkel jetzt steuern (je nachdem wie man den Ball faengt) und ausserdem prallt der Ball korrekt ab, sobald man den gruenen Balken getroffen hat ^^

Das neue Spiel gibts jetzt hier im ZIP-Format

http://www.file-upload.net/download-120 ... l.zip.html

Verfasst: 26.10.2008 16:13
von Kaeru Gaman
Dare Devil hat geschrieben:Also warum die Virenmeldung bei euch kommt ist mir unklar...Vielleicht kann das mal jemand klaeren ...
Kaeru Gaman hat geschrieben:die Scheiß Heuristik is mal wieder'n bissel Trigger-Happy.

Verfasst: 26.10.2008 17:51
von PMTheQuick
Kaeru Gaman hat geschrieben:
Dare Devil hat geschrieben:Also warum die Virenmeldung bei euch kommt ist mir unklar...Vielleicht kann das mal jemand klaeren ...
Kaeru Gaman hat geschrieben:die Scheiß Heuristik is mal wieder'n bissel Trigger-Happy.
Gutes Spiel, aber mit der Zeit etwas langweilig. Ideen:

- Mehr Hindernisse
- Mehr Spielfläche
- Wird immer schneller

OT: zippen/rarren bringt aber auch nich immer etwas. Wenn ich hier ne 5-fach gezippte/gerrate/was-weiss-ich Datei herunterlade, meckert er auch schon beim Download, sobald etwas erkannt wird. (bzw ne Signatur) (Ja auch mit 1x, 2x...)

Verfasst: 26.10.2008 17:58
von Kaeru Gaman
in diesem fall hat es geholfen... er hat überhaupt nicht mehr gemeckert.


@topic

du solltest die verfehlt-bedingung überarbeiten:
scheint so zu sein, dass man verfehlt hat, wenn der mittelpunkt des kreises an der box vorbei fliegt.
eigentlich sollte er dann noch mit sehr flachem winkel abprallen...

ähnlich auch beim rand-abpraller:
der Ball fliegt bis zum Mittelpunkt aus dem Screen.

Verfasst: 26.10.2008 19:55
von Dare Devil
Kaeru Gaman hat geschrieben: @topic

du solltest die verfehlt-bedingung überarbeiten:
scheint so zu sein, dass man verfehlt hat, wenn der mittelpunkt des kreises an der box vorbei fliegt.
eigentlich sollte er dann noch mit sehr flachem winkel abprallen...

ähnlich auch beim rand-abpraller:
der Ball fliegt bis zum Mittelpunkt aus dem Screen.
Habe jetzt beide Bugs behoben.. Der Ball prallt jetzt richtig von den Waenden hab (ohne "geschnitten" zu werden).
Ausserdem muss der Ball jetzt bis ganz runter fliegen, dass man verliert... Und wenn man den Ball jetzt "gerade noch so" mit dem Rand der Box faengt, fliegt der Ball im flachen Winkel und sehr schnell weiter...

Hier die aktualisierte Version:
http://www.file-upload.net/download-120 ... l.zip.html

Falls ihr noch Bugs findet immer her damit ... Will ja, dass mein erstes Spiel in PB so ziemlich fehlerfrei wird :D

Und Level einbauen usw... ne... Das Spiel diente fuer mich nur zur Uebung... :D