Ich frag nur ungern, aber könntet ihr mir nen tipp geben wie ich das mit den Aprallen schaffe?
Sin und Cos sind nicht wirklich meine freunde.Ich weiß nicht Wie und Wo ich die verwenden soll.Sonst habe ich die in etwa verstanden...
Ein kleiner Tipp wäre nicht schlecht /=
05:37 hours until first reply... respect, hab auf max 10 Minuten gewettet...
Google mal nach "Vektoralgebra", wenn du das raffst, dann bist du irgendwann auch mal dazu in der lage
Lage mehr als nur simple scripts zu schreiben... because this takes a big part in life ...
OMG ihr pumpt mich jz mit mathe voll o.O
Andere lösungen dafür gibt es nicht oder?
Was ist GDI+?
Spieleprogrammierung ist Mathematik...
Das hättest du dir vielleicht überlegen sollen, als du damit angefangen hast.
GDI+ ist nur eine schönere Variante das zu machen, aber Mathematik brauchst du da genauso (vielleicht sogar ein kleines bisschen mehr).
Das ist mir klar, ich habe ja gefragt ob es eine möglichkeit gibt die weniger Mathekentnisse beansprucht.
Ganz ehrlich? Nein!
Wenn du einen Abprallwinkel willst (und das braucht man), kommt man an Sin und Cos nicht vorbei. Wenn du es nicht verstehst heißt es Lernen.
GDI+ ist in Anbetracht an die ganze Situation eh noch zu kompliziert für dich. Beschäftige dich erstmal mit dem Abprallwinkel.
ich versteh nicht was an sin cos tan so schwer sein soll
hypotenuse: gerade gegenüber vom rechtenwinkel
ankathete: weg vom rechtenwinkel zu a (länger als gegenkathete, kürzer als hyp.)
gegenkathete: weg vom rechtenwinkel zu b (kürzeste strecke)
ich versteh nicht was an sin cos tan so schwer sein soll
hypotenuse: gerade gegenüber vom rechtenwinkel
ankathete: weg vom rechtenwinkel zu a (länger als gegenkathete, kürzer als hyp.)
gegenkathete: weg vom rechtenwinkel zu b (kürzeste strecke)
Hab den Code für dem Abprallen im Inet gefunden, aber ich muss noch hinbekommen das wenn der ball auf die linke seite des Spielers fliegt, auch nach links geneigt wieder abprallt.
Der gegner ist auch noch nicht der Schlechteste.(Musste schlechteste schreiben da er bis jetzt unschlagbar ist )
Das sind die 2 sachen die ich noch ändern muss.
Code:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ImageSearch.au3>
HotKeySet("{F2}","Neustart")
HotKeySet("{esc}","ENDE")
HotKeySet("{Left}","SpielerNachLinks")
HotKeySet("{Right}","SpielerNachRechts")
#region Constants
; Diese Werte kann man aus dem Bild direkt auslesen
; Sagen wir also dein Bild Ball.bmp ist 22 Pixel hoch und 30 breit
; Dann musst du auch dementsprechend das machen:
; $Width_Ball=30
; $High_Ball=22
Const $Width_Spieler=121
Const $Width_Ball=22
Const $Width_Gegner=121
Const $High_Spieler=23
Const $High_Ball=22
Const $High_Gegner=23
#endregion Constants
$down=1
$Verloren = 600
$Width = 436
$Height = 638
$X_Ball = 206
$Y_Ball = 308
$X_Spieler = 160
$Y_Spieler = 592
$X_Gegner = 160
$Y_Gegner = 16
$X_SF = 0
$Y_SF = 0
$left = 214
$top = 80
$ballleft = 408
$balltop = 664
$x = Random(1,3)
$y = Random(1,3)
$Time = TimerInit()
#Region ### START Koda GUI section ### Form=C:\Users\Jan\Desktop\Pong\Daten\Spielfeld GUI.kxf
$PongGui = GUICreate("Pong By WiiZocker", $Width, $Height, $left, $top)
$Ball = GUICtrlCreatePic("Daten\Ball.bmp", $X_Ball, $Y_Ball, 22, 22, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$GUI_ONTOP))
$Spieler = GUICtrlCreatePic("Daten\Spieler.bmp", $X_Spieler, $Y_Spieler, 121, 23, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$GUI_ONTOP))
$Gegner = GUICtrlCreatePic("Daten\Gegner.bmp", $X_Gegner, $Y_Gegner, 121, 23, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$GUI_ONTOP))
$Spielfeld = GUICtrlCreatePic("Daten\Spielfeld.bmp", $X_SF, $Y_SF, 435, 637, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$GUI_DISABLE))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$Abprallen = GUICtrlSetPos($ball, $X_Ball + $x, $Y_Ball + $y)
MsgBox(0,"Spielstart","Mit einem Klick auf OK startet das Spiel.")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
Start()
sleep(20)
Gegner()
WEnd
Func SpielerNachLinks()
If $X_Spieler > 15 Then
$X_Spieler = $X_Spieler - 7
GUICtrlSetPos($Spieler,$X_Spieler,$Y_Spieler)
EndIf
EndFunc
Func SpielerNachRechts()
If $X_Spieler < 295 Then
$X_Spieler = $X_Spieler + 7
GUICtrlSetPos($Spieler,$X_Spieler,$Y_Spieler)
EndIf
EndFunc
Func GegnerSteuern()
If $X_Gegner > 15 Or $X_Gegner < 295 Then ;Hier sollte er nicht durch die Mauer gehen. Wie kann ich das Ändern?
$X_Gegner = $X_Ball
$X_Gegner = $X_Gegner - 7
GUICtrlSetPos($Gegner,$X_Gegner,$Y_Gegner)
EndIf
EndFunc
Func BallBewegen()
if $down=1 Then
$Y_Ball = $Y_Ball + 12
else
$Y_Ball = $Y_Ball - 12
EndIf
If $Y_Ball >= $Verloren Then
MsgBox(0,"Verloren","Du hast Verloren")
Exit
EndIf
if $X_Ball < 19 Then $x = $x * -1
if $X_Ball > 416 - 12 Then $x = $x * -1
if $Y_Ball < 19 then $y = $y * -1
if $Y_Ball > 757 - 24 Then $y = $y * -1
$X_Ball = $X_Ball + $x
$Y_Ball = $Y_Ball + $y
$BallPosition = GUICtrlSetPos($Ball,$X_Ball,$Y_Ball)
;Eine Abprall funktion für die Linke und rechte seite des Spielers/Gegners
EndFunc
Func Collision($x1,$y1,$width1,$high1,$x2,$y2,$width2,$high2)
$hpos1=$y1+$high1
$wpos1=$x1+$width1
$hpos2=$y2+$high2
$wpos2=$x2+$width2
if (($hpos1>=$y2 and $y1<$y2) or ($hpos2>=$y1 and $y1>$y2)) Then
if (($wpos1>=$x2 and $x1<$x2) or ($wpos2>=$x1 and $x1>$x2)) then
return true
else
return false
endif
else
return false
endif
EndFunc
Func Start()
BallBewegen()
if Collision($X_Spieler,$Y_Spieler,$Width_Spieler,$High_Spieler,$X_Ball,$Y_Ball,$Width_Ball,$High_Ball)==true Then
$down=0
EndIf
if Collision($X_Ball,$Y_Ball,$Width_Ball,$High_Ball,$X_Gegner,$Y_Gegner,$Width_Gegner,$High_Gegner)==true Then
$down=1
EndIf
EndFunc
Func Neustart()
$X_Ball = 206
$Y_Ball = 308
$X_Spieler = 160
$Y_Spieler = 592
$X_Gegner = 160
$Y_Gegner = 16
$X_SF = 0
$Y_SF = 0
MsgBox(0,"Spielstart","Mit einem Klick auf OK startet das Spiel.")
EndFunc
Func ENDE()
Exit
EndFunc
Func Aktuell()
GUICtrlSetPos($Gegner,$X_Gegner,$Y_Gegner)
EndFunc
Func Gegner()
GegnerSteuern()
EndFunc
Und wie ändere ich das, dass der gegner nicht durch die Wand geht?
target verschieben 04/18/2010 - World of Warcraft - 4 Replies Hi ich hab mir so ein pack sozusagen downgelodet von rapid frames und nun wollt ich kurz fragen wie man dies hier verschiebt
http://img232.imageshack.us/img232/5009/unbenannt di.png
hab auch leider keine ahnung welches addon das ist
Angelfertigkeit verschieben? 11/01/2009 - Metin2 Private Server - 1 Replies Hallo
ich spiele auf Metin35 und will einen Angelbot benutzen.
Das Problem ist nur das ich die Angelfertigkeit nicht verschieben kann, und bei denn meisten Bot´s muss man die ja auf F4 legen.
Denke net das ich zu blöd bin da ich auf DE server und so das schon tausendma gemacht hab^^:D
also wie es geht weiß ich schon, aber i.wie is das bei mir fest, also nicht verschiebbar.
Kann das an der deutschen exe liegen oder was könnte das für gründe haben?
Hoffe mir kann jemand Helfen.:confused:
NPC verschieben 10/04/2009 - Metin2 Private Server - 0 Replies hallo
ich würde gerne wissen wie man npcs verschieben kann ;)
also z.b. den schmied auf den dorfplatz setzten oder so^^
suchen kann man ja nich weil bei npc sinds zu wenig buchstaben xD
wenns so ein thema schon gibt könnte pls jemand den link posten
thx nick
Quartz Bar verschieben 10/10/2007 - World of Warcraft - 9 Replies So, da ich mein interface überarbeitet hab, will ich von der castbar von Bongos auf die Quartz umsteigen...nur wie kann man die casting bar verschieben und die kleine ausmachen ;/
Verschieben 05/12/2005 - General Gaming Discussion - 4 Replies Kann man das spiel mal aus dem Upcomming releases raus kopieren in ne andere Kategorie oder ne Eigene erstellen?
Das sieht aus als leben wir hinterm Mond.