Hilfe bei Pong-Computer Spieler

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

WüstLing

Betreff: Hilfe bei Pong-Computer Spieler

BeitragDi, Nov 13, 2007 20:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Ich möchte dass mein Computer Schläger dem Ball nachfahrt. Habe Chance 1:3 eingebaut. Funktioniert aber nicht.
Ausserdem wollte ich wissen ob es egal ist ob ich einen Tastenbefehl und eine Computerbesetzung auf einen Schläger setze.

der Code:

Code: [AUSKLAPPEN]
 If KeyDown (72)

Gegner_y=Gegner_y-4
If Spieler_y<0 Then Spieler_y=0

EndIf

If KeyDown (80)

Gegner_y=Gegner_y+4

If Gegner_y>400 Then Gegner_y=400

EndIf


Random= Rand(1,3)

If Ball_Y>Gegner_Y Then

If Random = 1 Then Gegner_y=Gegner_Y

Else Gegner_y=Gegner_y-5

EndIf

If Ball_y>Gegner_y Then

If Random = 1 Then Gegner_y=Gegner_y

Else Gegner_y=Gegner_y+5

EndIf

Markus2

BeitragDi, Nov 13, 2007 20:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstmal solltest du dir Gedanken machen warum du im Spiel
den Schläger nach oben oder unten lenkst .
Diese Regeln machst du für den Computer Gegner und der
kann dann nur das was ein normaler Spieler auch kann .
Also eine Funk. die sagt hoch/nix/runter
Und dann läßte zwei Computer Gegeneinander spielen und
guckst ob deine Regeln taugen .

WüstLing

BeitragDi, Nov 13, 2007 22:29
Antworten mit Zitat
Benutzer-Profile anzeigen
vielen dank. habe durch meine überlegungen das problem eigentlich gelöst.
das einzige ist dass der computer jetzt unbesiegbar ist^^

Markus2

BeitragDi, Nov 13, 2007 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann mußte Regeln finden die es dir ermöglichen ein Tor zu schießen .
z.B. verzögerungen einbauen bzw. den Computer ablenken oder irritieren .

WüstLing

BeitragDi, Nov 13, 2007 22:57
Antworten mit Zitat
Benutzer-Profile anzeigen
also kein Fehler mit dem Random..

Markus2

BeitragDi, Nov 13, 2007 23:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Sagen wir mal so ,
wie du es versucht hast ist es zu grob und zu einfach Wink
 

HyDr0x

BeitragMi, Nov 14, 2007 18:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab auch mal ne einfache Pong KI zu meiner Anfangszeit mit BB gemacht. Bei mir reichte es damals aus ne kleine Verzögerung reinzubauen dann haste es geschafft. Ach und vergiss nicht die Winkel zu ändern Wenn der Ball irgednwo aufkommt sonst wirds schnell langweilig Very Happy .

The_Nici

BeitragMi, Nov 14, 2007 18:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Überprüfe ob der Ball oben am gegner ist. wenn ja: Bewegen ihn um 2 Pixel nach oben.
Ist er unter dem Gegner, bewege ihn um 2 Pixel nach unten.
 

HyDr0x

Betreff: Re: Hilfe bei Pong-Computer Spieler

BeitragDo, Nov 15, 2007 9:45
Antworten mit Zitat
Benutzer-Profile anzeigen
WüstLing hat Folgendes geschrieben:
Hallo,

Code: [AUSKLAPPEN]
 
Random= Rand(1,3)

[b]If Ball_Y>Gegner_Y Then[/b]

If Random = 1 Then Gegner_y=Gegner_Y

Else Gegner_y=Gegner_y-5

EndIf

[b]If Ball_y>Gegner_y Then[/b]

If Random = 1 Then Gegner_y=Gegner_y

Else [b]Gegner_y=Gegner_y+5[/b]

EndIf



Auch wenns ein bisschen spät ist, mir ist aufgefallen das da ein Fehler ist.
Du hattest immer mit > gerechnet anstatt mit <. (Nur eine kleine Anm. von mir)

WüstLing

BeitragDo, Nov 15, 2007 16:16
Antworten mit Zitat
Benutzer-Profile anzeigen
diesen fehler hab ich schon selber gefunden
danke aber

WüstLing

BeitragFr, Nov 16, 2007 19:05
Antworten mit Zitat
Benutzer-Profile anzeigen
habt ihr vielleicht nen kleinen "codetipp" für mich..




Code: [AUSKLAPPEN]
also das mit dem computer ist das kleinere problem..da hab ich ja ne ahnung wie ich das machen soll, mein größeres problem ist das mit dem abprallwinkel.
Danke!!

P.S: Sorry für not edit
  • Zuletzt bearbeitet von WüstLing am Fr, Nov 16, 2007 21:42, insgesamt einmal bearbeitet

The_Nici

BeitragFr, Nov 16, 2007 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Coden darfst du selber, ich gebe dir trotzdem ein Beispiel.

Code: [AUSKLAPPEN]

If ball_y<computer_y then computer_y=computer_y+2 ;Gegner um zwei nach Unten schieben.
If ball_y>computer_y then computer_y=computer_y-2 ;Gegner um zwei nach Oben verschieben


PS: Edit benutzen, bitte! ~ein freundlicher User

WüstLing

BeitragSa, Nov 17, 2007 0:15
Antworten mit Zitat
Benutzer-Profile anzeigen
also das mit dem computer ist das kleinere problem..da hab ich ja ne ahnung wie ich das machen soll, mein größeres problem ist das mit dem abprallwinkel.
Danke!!

P.S: Sorry für not edit

The_Nici

BeitragSa, Nov 17, 2007 0:24
Antworten mit Zitat
Benutzer-Profile anzeigen
DerHase war so nett und zeigte mir erst gerade die Lösung.
Den Winkel umkehren, macht man wie folgt:
Code: [AUSKLAPPEN]

geschwindigkeit_x=geschwindigkeit_x*-1
geschwindigkeit_y=geschwindigkeit_y*-1


Es "negiert" den Wert, d.h. kehrt ihn um.
Für den Rest mit Vektorberechnungen kannst du Dee fragen, der erklärt dir das gerne. ~_^
 

freestylecoder

BeitragFr, Nov 23, 2007 0:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Mhhh...


Aufprallwinkel = Aprallwinkel

Wenn du da jetzt auch eine sehr kleine Chance reinbaust das der WInkel sich um nen paar Grad ändert (nicht viel) hast du das schonmal.

Wie du den Winkel ausrechnst sollte dir ja bekannt sein, nehm einfach einige positionen und mach daraus ein dreieck und wende dann mathematische sätze an.

The_Nici

BeitragFr, Nov 23, 2007 17:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Das heisst 1. Einfallswinkel=Ausfallswinkel. 2. Ist das "um ein paar Grad ändern" auch was mathematisches. vektorberechnung, damit er auf der Seite etwas flacher wegfliegt.
3. war dein Post sowas von unbrauchbar, da du einfach alles wiederholst.
4. Flame ich. Very Happy

WüstLing

BeitragSa, Nov 24, 2007 22:22
Antworten mit Zitat
Benutzer-Profile anzeigen
wen meinst du?
 

HyDr0x

BeitragSo, Nov 25, 2007 13:01
Antworten mit Zitat
Benutzer-Profile anzeigen
ich würd einfach mal so behaupten das er den freestylecoder meinte ...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group