Hilfe beim Spiel
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> 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.
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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
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.

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.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
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.
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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
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:

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:
Leider ist dabei die Spielfigur(Box) beim Berühren der Wände immer eingefroren. Also ich konnte nichts mehr machenIf KeyboardPushed (#PB_Key_Down)
If PunktLU = #Farbe_Hintergrund And PunktRU = #Farbe_Hintergrund
Bally+2
EndIf
EndIf

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)
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
Hast du diesen Abschnitt in allen vier Bewegungsrichtungen eingefügt und vor allem entsprechend angepasst?TeamBaba hat geschrieben:Leider ist dabei die Spielfigur(Box) beim Berühren der Wände immer eingefroren. Also ich konnte nichts mehr machenCode: Alles auswählen
If KeyboardPushed (#PB_Key_Down) If PunktLU = #Farbe_Hintergrund And PunktRU = #Farbe_Hintergrund Bally+2 EndIf EndIf
[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.
Oh doch, die gibt es. Zum Beispiel auf http://www.purearea.netKaeru Gaman hat geschrieben:wobei mir allerdings im Moment auch nicht bekannt ist, ob es ein solch grundlegendes Einsteigertut überhaupt gibt.
Zuletzt geändert von Crawler am 28.03.2009 15:56, insgesamt 2-mal geändert.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
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...
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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
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)
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
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.
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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.