Spiel: Pong

  • So...mein Spiel Pong


    Was ist Pong (Wikipedia-Information)?

    Das Spielprinzip von Pong ist simpel und ähnelt dem des Tischtennis: Ein Punkt („Ball“) bewegt sich auf dem Bildschirm hin und her. Jeder der beiden Spieler steuert einen senkrechten Strich („Schläger) nach oben und unten. Lässt man den „Ball“ am „Schläger“ vorbei, erhält der Gegner einen Punkt.


    Feauters:


    • Viele Einstellmöglichkeiten (z.B. Spielfeldgröße, Ballgröße, Geschwindigkeiten...)
    • Objekte die das Spiel beeinflussen
    • Die "Klassischen" Spielelemente sind gegeben
    • Wird weiterentwickelt
    • Hoher Suchtfaktor :)


    Danke an

    Spoiler anzeigen

    Sprenger120 (Backpuffer-Problem gelöst)
    PrideRage (Verbesserungsvorschlag)
    stayawayknight (Training-Computergegner Geskriptet)
    Bakku (Verbesserungsvorschlag)
    Goldy (Bug gefunden)



    Version 1.2

    Spoiler anzeigen

    Version 1.3

    Spoiler anzeigen

    Version 1.4

    Spoiler anzeigen

    RAR muss heruntergeladen und entpackt werden (Siehe Angehngte Datei Version 1.4)

    Version 1.4.1

    Spoiler anzeigen

    RAR muss heruntergeladen und entpackt werden (Siehe Angehngte Datei Version 1.4.1)


    Tipps, Verbesserungsvorschläge oder ähnliches wäre gut, also wer hier noch ein paar ideen hätte :)


    ToDo:


    • Tastenbelegung frei wählbar
    • Mehr Einstellmöglichkeiten (z.B. frei Einstellbare Farben)
    • Bonusobjekte im Spiel (z.B. Schläger wird kleiner oder größer...)
    • Falls fehler festgestell werden, diese beheben
  • Hallo.
    Dein Pong ist gut gelungen, allerdings ist es etwas verwirrend, dass Player 1 Up & Down benutzt
    während Player 2 W & S benutzt.
    Andersrum wäre es besser bzw. wäre es auch cool seine eigene Tastenbelegung zu wählen.
    Was du auch sehr schön gemacht hast sind die Optionen die man am anfang einstellen kann (Spielfeldgröße,
    Ballgröße etc.)
    Mir ist aber auch aufgefallen, dass ein störendes Geräusch beim spielen kommt,
    wenn das Feld größer als der Bildschirm ist.
    MfG. PrideRage

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.

  • Danke für das Feedback :)

    Okay...das mit der eigenen Tastenbelegung sollte möglich sein.

    dann muss ich halt die ganzen tasten in ein array packen oder so :)

    Das mit dem Geräusch kann ich nicht beurteilen. Bei mir kommen keine geräusche?.

    Hmm wie kann ich das verhindern??


    Gruß

    4Soldier93

  • Finde das Pong gut gelungen!
    Habe das Script kurz für einen Computergegner umgebaut (Menü und so allerdings nicht angepasst).
    Vielleicht kannst du das ja gebrauchen, sodass man sich zwischen Mann gegen Mann und Mann gegen Computer-Spiel entscheiden kann...
    Der PC-Gegner ist momentan eigentich undbesiegbar
    Aber mir gefällt das Spiel!

    PS: Mit Strg+T kannst du in Scite dein Script "aufräumen" lassen, dann sieht das optisch besser aus!


    Computergegner(While-Schleife)
    [autoit]


    While Sleep(10)
    _GDIPlus_GraphicsFillRect($Backbuffer, 0, 0, $GuiBreite, $GuiHoehe - $AbstandObjGui, $hBrush)
    _GDIPlus_GraphicsFillEllipse($Backbuffer, $WPos, $HPos, $BallBreite, $BallHoehe, $ObjColor)
    _GDIPlus_GraphicsFillRect($Backbuffer, $WSchlaeger1pos, $HSchlaeger1pos, $Schlaeger1Breite, $Schlaeger1Hoehe, $ObjColor)
    _GDIPlus_GraphicsFillRect($Backbuffer, $WSchlaeger2pos, $HSchlaeger2pos, $Schlaeger2Breite, $Schlaeger2Hoehe, $ObjColor)
    _GDIPlus_GraphicsDrawImage($Graphics, $Bitmap, 0, 0)
    BallMoveW()
    BallMoveH()
    If _IsPressed("28", $dll) Then
    $HSchlaeger1pos = $HSchlaeger1pos + $Schlaer1Gesch
    EndIf
    If _IsPressed("26", $dll) Then
    $HSchlaeger1pos = $HSchlaeger1pos - $Schlaer1Gesch
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $HSchlaeger2pos = $HPos - $Schlaeger2Hoehe / 2

    [/autoit] [autoit][/autoit] [autoit]

    PosTestBreite()
    PosTestHoehe()
    PosSchlHoehe()
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von stayawayknight (26. September 2010 um 20:21)

  • Danke...werde ich heute oder morgen noch einbauen, mit auswahl im Menü.

    Stell dann die nuee version rein, und das mit dem "aufräumen", gute sache. hab danach schon gesucht xD

  • Schönes Spielchen!
    Habe nur 1 Sachen die ich ändern würde.
    Die MsgBox, die die verbleibenden Sekunden angibt, könnte man weglassen, und stattdessen den Countdown auf dem Spielfeld anzeigen lassen. Das sähe meiner Meinung nach besser aus. Aber sonst ist alles gut.
    Bei mir kann ich leider das Programm nicht gescheid schließen. Wenn ich auf schließen klicke, dann kommt immer die MsgBox die den Countdown angibt.
    Ist das bei jemand anderem auch so?

  • Aha...okay.

    Auch diesen Bug habe ich nicht :)

    Kann mal schaeun warum nicht, hab aber auf die schnelle keine erklärung,

    Ist eig. ein ganz normaler getmsg befehl, welcher dann das prog per Exit schließen sollte.


    ich versuchs zu beheben.

    Das mit den Zahlen kann ich auch machen. Sollte eig. nicht all zu schwer sein...


    Noch ein paar Verbesserungmöglichkeiten?? evtl ein paar Items einbauen, die dann z.B. die schläger verkleiner, vergrößern...???

    Kommt das gut an oder eher wenigere^^???

  • Nue Version erschienen ;)

    Zwei nuee Modis

    CPU_Gegner

    CPU_TrainingGegner (Unschlagbar)


    Countdown, Tastenbelegung und Fehlerbehebung nehm ich mir auch noch bald vor :)

    vllt hat ja jemand lust mir dabei zu helfen :)

  • Mach so das man den Ball nicht Größer als 100 machen kann , habe mal 150 eingeben , dann kann man den net mehr zurück schlagen.

    Und man sollte die spiel geschwindikeit ändern können.

    Meine Projekte :

    Taschenrechner [X]
    JamLegend Auto-Player [Canceld]
    Launcher [X]
    Multi-Game-Quest-Viewer [Canceld]


    [autoit]

    If $goffy or not $brain Then $DeleteInetCable

    [/autoit]
  • Mit Spielgeschwindigkeit, meinst du da die geschwindigkeit vom Ball??

    danke für die fehlerbeschreibung mit der ballgröße. werde ich einstellen.
    Werde für jede Einstellmöglichkeit ein maxwert festlegen, hab schon bei mehreren Punkten ein fehler gefunden wenn man es mit den Zahlen "übertreibt" :)

  • Neue Version:

    BugFixes:

    Bei zu hoher Gescwindigkeit ist der Ball, obwohl der Schläger da war, ins Ziel gerollt. Dieser Fehler sollte nun behoben sein.

    Außerdem wurde ein Größenlimit für die Ballröße festgelegt (Keine Sorge, Ball kann trotzdem noch sehr groß gemacht werden ^^)


    Hatte leider wenig Zeit die Tage.

    Werde bis morgen versuchen noch die Tastenbelegung mit rein zu programmieren.


    Für Tipps bin ich immer noch offen ;)

  • Hmm okay...habs gerade mal getestet. Also wenn man Spieler vs Coputer auswählz hat man chancen. Schwierigkeitsgrad kann man ganz einfach auswählen:

    Stell die Schlägergeschwindigkeit von Spieler 2 (also in dem Fall vom PC) herunter.

    Dann braucht er länger ;)

  • Neue version

    Verbesserungen:

    • Probleme bei großen Ballgrößen behoben
    • Aktionen könnne jetzt einigen Tasten zugewiesen werden
    • 3 Sekunden Countdown schöner gestaltet ohne MSGBoxen
    • Geschwindigkeitsanzeige
  • Also , ich würde auch die Ballgeschwindigkeit auf 20 - 25 Limit setzen.

    Weil wenn höher kommt der Bot auch nicht mehr nach und man selber also der Schläger ist viel zu langsam für diese Geschwindigkeit.

    Meine Projekte :

    Taschenrechner [X]
    JamLegend Auto-Player [Canceld]
    Launcher [X]
    Multi-Game-Quest-Viewer [Canceld]


    [autoit]

    If $goffy or not $brain Then $DeleteInetCable

    [/autoit]
  • Neue Version :)

    Verbesserungen:

    Geschwindigkeitslimit bei 30

    Bonusobjekte die Gesch erhöhen oder verringern.


    Mehr Objekte kommen noch.

    Möchte nur wissen ob das so in ordnung ist ;)


    da ich mal bisle Farbe reinbringen möchte, hab ich die bonis als .gif erstellt. Deshalb findet Ihr die neuste Version als Rar vor.


    Bitte testen und Berichten^^


    [EDIT:]

    Neue Version 1.4.1

    Kleine Fehlerbehebungen.

    Einmal editiert, zuletzt von 4Soldier93 (4. Oktober 2010 um 23:42)