Multiplayer-Game 'Kurven-Spiel'

  • Zitat von Padmak

    in der version 1.2 ist des bei mir total langsam


    Bei mir sind alle Versionen gleich schnell.
    Du kannst aber in Zeile 248 den Parameter $Len anpassen, das ist die Geschwindigkeit!
    Kann sein, dass du dann auch den Parameter $Winkelweite verändern musst, damit du engere Kurven fahren kannst.

    [autoit]

    Func _DrawLine_Angle(ByRef $aPos_x, ByRef $a_Pos_y, $Angle, $hPen, $Len = 5) ; Stell mal $Len z.B. auf 10 ;)

    [/autoit]


    Zitat von $User

    ich würde sowas auch gerne können


    Meiner Meinung nach war das überhaupt nicht schwierig!
    Ich selber hatte es mir viel schwieriger vorgestellt, aber ich habe nur eineinhalb Tage dafür gebraucht.
    Man muss sich nur ein bisschen mit den GDI+ Befehlen beschäftigen, dann noch _IsPressed, eine schwarze toplevel Gui und schon ist man fertig.
    Das kann man relativ schnell lernen, am wichtigsten ist nur, dass man eine gute Idee für ein Projekt hat.

    Nochmals danke für das Lob!!

  • wenn du meinst :S
    aber ich bin ein riesiger noob ^^


    EDIT BugFix Ich glaube, wir hatten dir schonmal nahegelegt, dein äüßerst unpassendes Avatar zu ändern. :thumbdown:

    Einmal editiert, zuletzt von BugFix (1. Februar 2009 um 18:13)

  • mir gefällt dein spiel super gut! Schön gemacht. Eine Online/LAN Version wäre natürlich noch besser. Wenn du willst kannst ud dich ja mal da ranwagen ;)

  • Es gibt eine neue Version!
    Da ich immer allein vor dem PC bin, habe ich den Versuch gewagt, Computer-Gegner für mein Kurven-Spiel zu erschaffen.
    Beurteilt selbst, was dabei raus gekommen ist.

    Einschalten der PC-Gegner funktioniert mit einem zweiten Druck auf die Taste zum Einschalten des Players, ausschalten analog dazu.


    Download siehe Post #1

    Vllt kommt auch mal eine LAN-Version heraus. Kann ich aber nicht versprechen.
    Bei Problemen, Fragen, Vorschlägen oder Bugs --> einfach hierauf antworten ;)
    Nochmals Danke für Euer Lob!

  • Also die neue Version ist super. Eine exelente Leistung :thumbup: ! Macht richtig Spaß gegen einen computer zu zocken egal wie viele andere Mitspieler mitspielen ;)

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

  • hmm komisch. bei mir läuft das Spiel einfach saumäßig lahm. Nach 10s ist es 1cm auf dem Bildschirm vorwärts gekommen
    (Is auch ohne CPU Gegner so. Version 1.2 lief wie ne 1(hmm komisch ich hab gerade 1.2 getestet und da ruckelts auch so))

  • Hey,SEHR gut gelungen.
    Geruckelt hat es bei mir keineswegs.

    Der PC Gegner scheint noch folgende Fehler zu haben:
    *Er/Sie ;) versucht des öfteren,am Anfang in die Ecke unten links zu laufen und schenkt einem damit einen Punkt
    *Er/Sie ist unrealistisch gut,wenn man versucht ihm am Bildschirmrand den Weg abzuschneiden. Ein paar Fehler wären dabei doch recht schön ;) Also eine 20% Chance,dann gegen die Wand zu fahren,wenn die Wand näher als sagen wir 1 cm ist.

    Desweiteren würde ich mir eine (ganz einfache) Screenshot-Funktion wünschen (p drücken -> Screenshot)
    Vielleicht dann in naher Zukunft eine Funktion um Demos auszuzeichnen (vielleicht ein anderes Tool einbinden/exe dazugeben und diese dann mit dem Aufnehmenbefehl aufrufen ?)

    Ansonsten sehr schön,
    Dakeschön

    Zitat

    Programmieren ist so lange lustig bis ein Fehler auftritt!


    ~ Dankeschön

  • hmm komisch. bei mir läuft das Spiel einfach saumäßig lahm. Nach 10s ist es 1cm auf dem Bildschirm vorwärts gekommen
    (Is auch ohne CPU Gegner so. Version 1.2 lief wie ne 1(hmm komisch ich hab gerade 1.2 getestet und da ruckelts auch so))

    Ich habe dasselbe Problem, es ist extrem! langsam....hm, hab vista, weiß nicht ob es daran liegt.

  • Ein Vorschlag: Was würdest du/ihr von einer Highscorefunktion halten?
    Server und Highscore erstellen könnte ich problemlos übernehmen.
    Leider kann ich dieses dann nur als fertige .Exe anbieten :| , da im Source ja leider alle Passwörter mitgegeben werden müssen.
    Oder ich könnte mir eine Verschlüsslung ausdenken,welche natürlich nicht DIE sicherste ist. Vorraussetzung wäre nur,dass niemand versucht Sie zu knacken.....
    Mir kam da nämlich grade eine Idee,wie ich das anstellen könnte..... 8o

    Also?

    Zitat

    Programmieren ist so lange lustig bis ein Fehler auftritt!


    ~ Dankeschön

  • Ich habe kA woran es liegt, dass es bei manchen Vista-Usern nicht richtig funktioniert ?(

    Hier kommt sozusagen der erste Intelligenz-Patch für die PC-Gegner. Einfach die Funktion _AutoScan in der Version 1.3 mit dieser Funktion austauschen.
    Ich freue mich über Feedback.

    Version 1.4 wird noch auf sich warten lassen. Ich muss mir noch überlegen, wie ich das mit dem Highscore anstelle. Die Screenshot-Funktion wird auf alle Fälle mit dabei sein und vllt eine noch bessere Version der _AutoScan-Funktion (hoffe ich)!

    Kurven-Spiel: neue Funktion _AutoScan
    [autoit]

    Func _AutoScan($aPos_x, $aPos_y, $Angle, $Len = $Speed)
    Local $ScanFaktor = 40
    Local $ScanStreuung = 3
    Local $ScanIntensity = 3
    Local $Chance
    Local $arrayPos[2]
    Local $Pixel_Match_l = 0, $Pixel_Match_r = 0, $Pixel_Match_m = 0
    For $i = 1 To $ScanFaktor
    $arrayPos[0] = $Len / $ScanIntensity * $i * Cos($Angle + $Winkelweite * $ScanStreuung) + $aPos_x
    $arrayPos[1] = $Len / $ScanIntensity * $i * Sin($Angle + $Winkelweite * $ScanStreuung) + $aPos_y
    If PixelGetColor($arrayPos[0], $arrayPos[1]) <> '0x000000' Then $Pixel_Match_l += ($ScanFaktor + 1 - $i)
    $arrayPos[0] = $Len / $ScanIntensity * $i * Cos($Angle - $Winkelweite * $ScanStreuung) + $aPos_x
    $arrayPos[1] = $Len / $ScanIntensity * $i * Sin($Angle - $Winkelweite * $ScanStreuung) + $aPos_y
    If PixelGetColor($arrayPos[0], $arrayPos[1]) <> '0x000000' Then $Pixel_Match_r += ($ScanFaktor + 1 - $i)
    $arrayPos[0] = $Len / ($ScanIntensity / 2) * $i * Cos($Angle) + $aPos_x
    $arrayPos[1] = $Len / ($ScanIntensity / 2) * $i * Sin($Angle) + $aPos_y
    If PixelGetColor($arrayPos[0], $arrayPos[1]) <> '0x000000' Then $Pixel_Match_m += ($ScanFaktor + 1 - $i)
    Next
    Select
    Case $Pixel_Match_m > $Pixel_Match_l And $Pixel_Match_l >= $Pixel_Match_r
    Return 1
    Case $Pixel_Match_m > $Pixel_Match_r And $Pixel_Match_r >= $Pixel_Match_l
    Return 2
    Case $Pixel_Match_l > 0 And $Pixel_Match_l > $Pixel_Match_r
    Return 1
    Case $Pixel_Match_r > 0 And $Pixel_Match_r > $Pixel_Match_l
    Return 2
    Case $Pixel_Match_l > 0
    Return 1
    Case $Pixel_Match_r > 0
    Return 2
    Case Else
    $Chance = Random(0, 2, 1)
    If $Chance > 0 Then $Chance = Random(0, 2, 1)
    Return $Chance
    EndSelect
    EndFunc ;==>_AutoScan

    [/autoit]


    Zitat von Dankeschön

    Der PC Gegner scheint noch folgende Fehler zu haben:
    *Er/Sie versucht des öfteren,am Anfang in die Ecke unten links zu laufen und schenkt einem damit einen Punkt
    *Er/Sie ist unrealistisch gut,wenn man versucht ihm am Bildschirmrand den Weg abzuschneiden. Ein paar Fehler wären dabei doch recht schön Also eine 20% Chance,dann gegen die Wand zu fahren,wenn die Wand näher als sagen wir 1 cm ist.


    Punkt 1 hat sich um einiges gebessert
    zu Punkt 2: Der PC soll auch ein paar Vorteile haben, sonst gewinnt man ja immer ;)

  • Zitat

    Server und Highscore erstellen könnte ich problemlos übernehmen.

    Wie gesagt,ich könnte das mit dem Highscore machen.
    Und das mit dem Screenshot baue ich auch gleich ein.
    Ich mach mich gleich mal dran...... :huh:

    Zitat

    Programmieren ist so lange lustig bis ein Fehler auftritt!


    ~ Dankeschön

  • Ich finde das schade, dass es bei manchen nicht richtig funktioniert. Padmak, gehe in recht in der Annahme, dass du auch Vista verwendest? Auf allen XP-Rechnern auf denen ich es getestet habe (5) lief es einwandfrei. Das was den hauptsächlichen Unterschied zwischen Version 1.0 und den neueren Versionen ausmacht sind die Schleifen (For $i = 0 To 5). Vorher hatte ich fast alles ausprogrammiert. Aber warum sollte das in Vista einen Unterschied machen??
    Padmak, ich kann dir vllt morgen einmal die neueste Version ohne Schleifen machen und dann zukommen lassen. Vllt liegt es ja wirklich daran.


    Gibt es schon Testergebnisse von XP-Usern mit der neuen Funktion?