Hintergrund
Übersicht

Gehe zu Seite Zurück 1, 2, 3 Weiter
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
An deiner Frage sieht man eindeutig, dass du nicht im geringsten weißt, wie dein code funktioniert!
Ich geb dir mal nen tipp: Zitat: If KeyDown(205)
player_x=player_x+4 ;die position wird verschoben! Elseif not KeyDown(205) ;die position wird nicht verschoben ^^ EndIf ^^ hoffe mal, damit kannst du was anfangen!^^ |
||
Twitter
Download Jewel Snake! Windows|Android |
FBI-blitz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mal ehrlich:
Wie alt bist du? Wie vielte Klasse? Welche Vorkenntnisse hast du (Computer und -programmierung)? Arbeite dich mal von Anfang an durch so ein Tutorial durch. Dann lernst du auch, den Code zu verstehen. Sonst hat das keinen Sinn... |
||
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+ Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+ |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja ich bin 16 gehe in die 10te klasse ![]() VOm programmieren mit BB hab ich keine Ahnung habe vorher was mit rebol programmiert Ich bekomme eine Error Meldung "Wend" without "while" warum das auf einmal? und wenn ichs lösche meckert der was anderes |
||
FBI-blitz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die Fragen warn jetzt net so ernst gemeint ![]() Es ist halt n typisches Anfängerproblem, dass man keine Tuts liest. Aber um mal auf deine frage zurück zu kommen: Die Fehlermeldung sagt, dass du zwar Wend aber kein While geschrieben hast. Du hast also irgendwo eine while-Schleife gemacht (oder machen wollen) aber kein while geschrieben. Es kann aber auch sein, dass du vergessen hast, eine If-Abfrage mit Endif zu schließen oder eine andere Schleife mit dem Passenden Befehl zu schließen. Das hier gäbe beispielsweise eine solche Fehlermeldung: Code: [AUSKLAPPEN] While temp < 10 Print "bla" temp = temp + 1 For temp2 = 0 To 5 Print "lol" Wend Richtig müsste es so lauten: Code: [AUSKLAPPEN] While temp < 10 Print "bla" temp = temp + 1 For temp2 = 0 To 5 Print "lol" next Wend ich hoffe du verstehst, was ich meine. |
||
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+ Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+ |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
OK danke, aber
das mit der Kollision hab ich immernoch nicht raus, Ich habe jetzt auch mal probiert wie es Schoach und du geschrieben haben das heißt ich habe: wert=If ImagesCollide(player,player_x,player_y,0,wasserbg,1,1,0) If KeyDown(208) ;move player to down player_y=player_y+2 ;stop the player going 'off screen' If player_y>420 Then player_y=420 player=LoadImage("down.bmp") If wert then Else Not KeyDown(208) End If der meckert dann allerdings mit Endif und Wend weil es angeblich kein if und kein While gibt aber da ist es ja noch ^^ ![]() |
||
FBI-blitz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kann auch gar net klappen.
Code: [AUSKLAPPEN] wert=If ImagesCollide(player,player_x,player_y,0,wasserbg,1,1,0)
If KeyDown(208) ;move player to down player_y=player_y+2 ;stop the player going 'off screen' If player_y>420 Then player_y=420 player=LoadImage("down.bmp") If wert then [WAS SOLL DANN PASSIEREN?] Else Not KeyDown(208) Endif Du musst ja nach "then" auch was angeben ![]() Axo, übrigens, was soll das "Else Not Keydown(208)" - was willste damit bezwecken? |
||
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+ Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+ |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
dann vermisst der seine "end of line" ! [expecting end of line]
was genau will der noch? ![]() |
||
FBI-blitz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Schick nochmal den Code bitte | ||
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+ Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+ |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
hier =)
Code: [AUSKLAPPEN] Graphics 640, 480 , 16, 2 ;enable double buffering SetBuffer BackBuffer() ;load a player image player=LoadImage("up.bmp") wasserbg = LoadImage ("wasserbg.bmp") Hintergrund = LoadImage ("wasser.bmp") sound = LoadSound("brandung.wav") ;initialize player position player_x=320 player_y=400 ; Mittelpunkt des Schiffs als "Angriffspunkt" setzen MidHandle player ;loop until ESC hit... While Not KeyDown(1) ;is left key being held? If KeyDown(203) ;move player to the left player_x=player_x-2 ;stop the player going 'off screen' If player_x<0 Then player_x=0 player=LoadImage("left.bmp") If wert Then player_x=player+1 Else Not KeyDown(203) EndIf ;is right key being held? If KeyDown(205) ;move player to the right player_x=player_x+2 ;stop the player going 'off screen' If player_x>580 Then player_x=580 player=LoadImage("right.bmp") EndIf ;is up key being held? If KeyDown(200) ;move player to up player_y=player_y-2 ;stop the player going 'off screen' If player_y<0 Then player_y=0 player=LoadImage("up.bmp") EndIf ;is down key being held? If KeyDown(208) ;move player to down player_y=player_y+2 ;stop the player going 'off screen' If player_y>420 Then player_y=420 player=LoadImage("down.bmp") End If ;clear the screen Cls ; Transparente Farbe festlegen (blau). MaskImage wasserbg, 0, 0, 128 MaskImage player, 0, 0, 128 kanal = PlaySound(sound) ;draw the player DrawImage Hintergrund, 0, 0 DrawImage wasserbg, 0, 0 DrawImage player,player_x,player_y wert=ImagesCollide(player,player_x,player_y,0,wasserbg,1,1,0) ;swap front and back buffers Flip Wend |
||
FBI-blitz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du hast hinter ganz vielen IFs das "then" vergessen ![]() |
||
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+ Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+ |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
und das führt dann dazu? das der the end of line vermisst? oder liegt das wo anders dran? | ||
FBI-blitz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kann ich so nicht sagen, ich will ja jetzt nicht deinen Code Zeile für Zeile durcharbeiten. Aber probiers doch einfach mal und mach n Endif dran. | ||
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+ Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+ |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Blitz zeigt dir die Zeile an in der der Fehler auftrat:
Code: [AUSKLAPPEN] If wert Then player_x=player+1 Else Not KeyDown(203)
Das sollte bei dir mit blinkendem Cursor markiert sein. Problem: Du hast ein if then else und darauf ein not, damit kann der Compiler nix anfangen. Ich empfehle dir die Ifs in einzelne Zeilen zu zerlegen: Code: [AUSKLAPPEN] if dies und das then
bla bla else blub endif Es ist kein Problem ein Then wegzulassen, wenn der auszuführende Code in der Folgezeile kommt. EDIT: Das Problem in deinem Fall sit aber vielmehr dass du eine neue Bedingung stellst, allerdings ohne ein If. Der Compiler versucht das als auszuführenden Befehl (und nicht als Bedingung) zu verstehen und scheitert daran. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok ich habe den text zerlegt, jetzt fragt er nach einem end if ![]() vorher hat er das Not KeyDown(203) eingeblendet wo er epecting the end of line meinte |
||
FBI-blitz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
BladeRunner hat Folgendes geschrieben: Es ist kein Problem ein Then wegzulassen, wenn der auszuführende Code in der Folgezeile kommt.
o.O wusste ich nicht. Entschuldigt bitte. Edit: Poste doch (nur den Ausschnitt) des Codes! |
||
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+ Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+ |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Für jedes if das Du machst brauchst du - sofern es über mehrere Zeilen geht - auch ein endif.
Ohne Code können wir aber wieder nur raten. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
das hier ist der code:
Code: [AUSKLAPPEN] If KeyDown(203) Then ;move player to the left player_x=player_x-2 ;stop the player going 'off screen' If player_x<0 Then player_x=0 player=LoadImage("left.bmp") If wert Then player_x=player+1 Else Not KeyDown(203) EndIf Wenn ich das endif direkt hinter das not keydown(203) schreibe sagt der trozdem das in dieser zeile ein endif fehlt! |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie ich dir vorhin schon schrieb ist "not kewdown()" keine gültige befehlssyntax.
Der compiler hat eine Bedingung (if wert) und führt den Code dahinter aus. Sollte wert 0 sein wird der Teil hinter dem Else ausgeführt. hier trifft er auf 'not keydown'. "Not keydown was ?" fragt er sich verzweifelt, denn er erwartet Befehle, keine Bedingungen (noch dazu da nur eine halbe Bedingung da ist). Also bricht er verzweifelt ab: "ich kann keinen Befehl entdecken, also müsste doch das Endif nun kommen!" Was soll denn diese Zeile (Not KeyDown(203) ) deiner Meinung nach machen ? |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
FBI-blitz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du hast BladeRunners post wohl nicht gelesen. Das was du jetzt machst, ist nur eine Halb-Umsetzung von dem, was er schrieb.
Das mit dem "Not KeyDown(203) hat er ja schon gesagt, aber so sieht doch auch die IF-Abfrage schon besser aus: Code: [AUSKLAPPEN] If wert Then player_x=player+1 Else Print "Irgendwas" Endif |
||
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+ Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+ |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das soll machen, das wenn wert besteht das so wirkt als ob die taste (203)
nicht gedrückt worden wäre achso naja ich möchte ja keinen text mehr anzeigen sondern das das schiff nicht über die insel fährt dies hab ich schon geschaft durch ImagesCollide(player,player_x,player_y,0,wasserbg,1,1,0) Then player_x,player_x+1 , player_y,player_y+1 Das bedeutet aber, das ich von einer seite wenn ich auf die inselfahre komplett drüber geschoben werde, deswegen muss es noch eine andere möglichkeit geben. |
||
Gehe zu Seite Zurück 1, 2, 3 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group