Seite 3 von 5
Verfasst: 28.03.2009 13:19
von Kaeru Gaman
> Das mit den Points klappt momentan nur mit der Break-Bedingung. Dann bricht er immer ab wenn man Berührt. Gibt es da auch irgendwas das er dann wieder von vorne beginnt.
hä?
also, wenn du es so einbaust wie ich gesagt habe, dann lässt er sich einfach nicht weiterbewegen, wenn er an eine Wand stößt.
Break ist eine Anweisung, keine Bedingung.
du hattest weiter oben nichts davon gesagt, dass du eine Aktion auslösen willst, du hast gefragt, wie man die Wände undurchlässig machst.
AUSSERDEM
hast du keinen Piep gesagt, dass du Bilders laden willst, warum haste das nicht früher gemacht,
dann kann man sich den ganzen strumpf mit den Points nämlich SPAREN!
Sorry, vielleicht habe ich heute auch nicht die passende Laune, mir das geduldig anzutun...
Aber ganz grundsätzlich bin ich der Meinung, wie ihr momentan vorgeht bringt euch GARNIX!
irgendwie sich auf die Mitte stürzen und dann mit dem Kopp durch die Wand wird euch keinen Erfolg bringen.
tretet erst mal einen schritt zurück. vergesst euer "spiel" komplett.
fangt an, euch anzuschauen was eine Schleife ist, was Bedingungen sind, was Variablen sind.
lernt diese Grundlagen, ohne dabei an irgendetwas wie ein Spiel zu denken.
und wenn ihr die Grundlagen kennt, wird es euch wesentlich leichter fallen, euer spiel so zu schreiben wie ihr es haben wollt.
wenn ihr vorgestern damit angefangen hättet, diese Grundlagen zu lernen,
könntet ihr morgen anfangen euer Spiel zu schreiben.
also setzt euch jetzt gleich auf eure Hintern und lernt die Grundlagen,
dann könnt ihr Überübermorgen mit dem Game anfangen,
ohne weiterhin zusammenhanglose und wenig fruchtbare Fragen zu stellen.
Verfasst: 28.03.2009 14:52
von TeamBaba
Wo soll ich das den Lernen entweder sind die Tutorials 200 Jahre alt

oder sind auf Englisch.... Ich habe erfahrungen in anderen Sprachen, wir dürfen aber nur PureBasic benutzen. Ich kenne es halt nur Objektorientiert bzw. anders. Mir gefällt die Syntax von PureBasic zwar, aber wenn man logisch denkt klappt irgendwie garnichts. Oder hast du ein Tutorial, was auf neuerem Stand ist und KOSTENLOS.
Verfasst: 28.03.2009 15:21
von Kaeru Gaman
du siehst mich einigermaßen von den Socken...
bis zu diesem Zeitpunkt ist mir niemals bewußt geworden, dass man Objektorientiert programmieren kann,
ohne den geringsten Schimmer von Schleifen und Bedingungen zu haben.
aber im Grunde nachvollziehbar.
wer sich nur mit Events, Properties und Methoden rumschlägt, braucht niemals eine Schleife oder Bedingung zu verwenden.
für Schleifen und Bedingungen brauchst du kein "aktuelles" Tutorial, da hat sich nichts geändert.
wobei mir allerdings im Moment auch nicht bekannt ist, ob es ein solch grundlegendes Einsteigertut überhaupt gibt.
Verfasst: 28.03.2009 15:32
von TeamBaba
Ok,ok ........
Wir haben uns nochmal verständigt also
1. Es bleibt bei der Box als Figur
2. Keine Sprites
Kaeru Gaman ich finde es super nett von dir, das du dir das antust. Danke.
Bleiben wir bei dem mit den Points() was jetzt von unserer Gruppe festgelegt wurde. Wie vielleicht noch nicht gesagt habe ich dein Beisiel benutzt:
If KeyboardPushed (#PB_Key_Down)
If PunktLU = #Farbe_Hintergrund And PunktRU = #Farbe_Hintergrund
Bally+2
EndIf
EndIf
Leider ist dabei die Spielfigur(Box) beim Berühren der Wände immer eingefroren. Also ich konnte nichts mehr machen

Verfasst: 28.03.2009 15:40
von TeamBaba
Code: Alles auswählen
ClearScreen($000000)
StartDrawing(ScreenOutput())
BackColor($CCFFFF)
FrontColor(255+256*255+256*256*255)
Box(Ballx,Bally,30,30,#Farbe_Hintergrund)
Box (80,390,560,10,#Farbe_Hintergrund)
Box (560,310,-560,10,#Farbe_Hintergrund)
Box (0,240,300,10,#Farbe_Hintergrund)
Box (350,240,290,10,#Farbe_Hintergrund)
Box (0,140,580,10,#Farbe_Hintergrund)
Box (80,80,560,10,#Farbe_Hintergrund)
Box (280,0,-280,10,#Farbe_Hintergrund)
Box (340,0,300,10,#Farbe_Hintergrund)
PunktLO = Point( Ballx - 1, Bally - 1 )
PunktRO = Point( Ballx + 30, Bally - 1 )
PunktLU = Point( Ballx - 1, Bally + 30 )
PunktRU = Point( Ballx + 30, Bally + 30 )
StopDrawing()
FlipBuffers()
Ballx+BewegungX
Bally+BewegungY
ExamineKeyboard ()
If KeyboardPushed (208)
[b]If PunktLU = #Farbe_Hintergrund And PunktRU = #Farbe_Hintergrund [/b]
Bally+2
EndIf
EndIf
If KeyboardPushed (200)
[b]If PunktLO = #Farbe_Hintergrund And PunktRO = #Farbe_Hintergrund [/b]
Bally-2
EndIf
EndIf
If KeyboardPushed (205)
Ballx+2
Bally+0
EndIf
If KeyboardPushed (203)
Ballx-2
bally+0
EndIf
Until Bally>480 Or BallY<0 Or KeyboardPushed (1)
So in diesem Ausschnitt sieht man alles->
Wie man sieht habe ich für die Pfeiltaste nach oben und die Pfeiltaste nach unten schon das Beispiel eingefügt, aber jetzt kann ich die Figur nicht mehr nach oben oder unten bewegen
Verfasst: 28.03.2009 15:42
von Crawler
TeamBaba hat geschrieben:
Code: Alles auswählen
If KeyboardPushed (#PB_Key_Down)
If PunktLU = #Farbe_Hintergrund And PunktRU = #Farbe_Hintergrund
Bally+2
EndIf
EndIf
Leider ist dabei die Spielfigur(Box) beim Berühren der Wände immer eingefroren. Also ich konnte nichts mehr machen

Hast du diesen Abschnitt in allen vier Bewegungsrichtungen eingefügt und vor allem entsprechend angepasst?
[edit] Der Code ist Murks. Erst mal ist da noch immer das chaotische Farbschema. PunktLO bis PunktRU müssen in der Hauptschleife stehen, die du zwar abschließt, jedoch nicht beginnst. Wo ist denn sonst das repeat? Also insgesamt noch nicht ausgegoren, was du da präsentierst.
Kaeru Gaman hat geschrieben:wobei mir allerdings im Moment auch nicht bekannt ist, ob es ein solch grundlegendes Einsteigertut überhaupt gibt.
Oh doch, die gibt es. Zum Beispiel auf
http://www.purearea.net
Verfasst: 28.03.2009 15:48
von Kaeru Gaman
anscheinend hast du das ja schon passend gemacht beim einsetzen....
lesen kann ich das nicht, weil du immer noch die Zahlen dort verwendest,
anstatt #PB_Key_UP reinzuschreiben wie sich das gehört.
dafür hat man Konstanten, damit man was lesen kann.
.... und btw, die Konstante für die Farbe darf man auch im Clearscreen-Befehl verwenden.
und bitte auch mal einrücken, damit man sehen kann, wo ein Abschnitt anfängt und wo er aufhört.
poste doch mal bitte den kompletten code, also auch mit screen öffnen und allem, damit ich den mal ausprobieren kann, wo etwas hakt...
Verfasst: 28.03.2009 15:51
von TeamBaba
Ok mache ich
Verfasst: 28.03.2009 16:10
von TeamBaba
Code: Alles auswählen
InitSprite()
InitKeyboard()
OpenScreen(640,480,16,"Game")
#Farbe_Hintergrund = $66330
#Clear_Screen=$000000
Global Ballx
Global Bally
Global Bewegung
Ballx=560
BallY=430
BewegungX=0
BewegungY=0
Repeat
ClearScreen(#Clear_Screen)
StartDrawing(ScreenOutput())
FrontColor(255+256*255+256*256*255)
Box(Ballx,Bally,30,30,#Farbe_Hintergrund)
Box (80,390,560,10,#Farbe_Hintergrund)
Box (560,310,-560,10,#Farbe_Hintergrund)
Box (0,240,300,10,#Farbe_Hintergrund)
Box (350,240,290,10,#Farbe_Hintergrund)
Box (0,140,580,10,#Farbe_Hintergrund)
Box (80,80,560,10,#Farbe_Hintergrund)
Box (280,0,-280,10,#Farbe_Hintergrund)
Box (340,0,300,10,#Farbe_Hintergrund)
PunktLO = Point( Ballx - 1, Bally - 1 )
PunktRO = Point( Ballx + 30, Bally - 1 )
PunktLU = Point( Ballx - 1, Bally + 30 )
PunktRU = Point( Ballx + 30, Bally + 30 )
StopDrawing()
FlipBuffers()
Ballx+BewegungX
Bally+BewegungY
ExamineKeyboard ()
If KeyboardPushed (#PB_Key_Down)
If PunktLU = #Farbe_Hintergrund And PunktRU = #Farbe_Hintergrund
Bally+2
EndIf
EndIf
If KeyboardPushed (#PB_Key_Up)
If PunktLO = #Farbe_Hintergrund And PunktRO = #Farbe_Hintergrund
Bally-2
EndIf
EndIf
If KeyboardPushed (#PB_Key_Right)
If PunktRO = #Farbe_Hintergrund And PunktRU = #Farbe_Hintergrund
Ballx+2
EndIf
EndIf
If KeyboardPushed (#PB_Key_Left)
If PunktLO = #Farbe_Hintergrund And PunktLU = #Farbe_Hintergrund
Ballx-2
EndIf
EndIf
Until Bally>480 Or BallY<0 Or KeyboardPushed (#PB_Key_Escape)
Verfasst: 28.03.2009 16:21
von Kaeru Gaman
ohauerha __.__
also, du solltest #Farbe_Hintergund schon als Hintergrund verwenden.
daraus folgt, dass du sie in ClearScreen packen musst,
aber eben nicht für deine Wände verwendest!
so wie es momentan ist, bewegt sich dat Dingen ja überhaupt nicht,
weil eben keiner der checkpunkt die #Farbe_Hintergund hat.