Kleine hilfe beim Game-Project

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Marvin133
Beiträge: 80
Registriert: 25.01.2010 15:51
Computerausstattung: Win 7 Home Premium 64 Bit \ PB 4.41 Demo\2.8Ghz QuadCore \4GB RAM\ nVidia GTS 250
Kontaktdaten:

Kleine hilfe beim Game-Project

Beitrag von Marvin133 »

Ich habe angefangen mit einem kleine game das ein zelda clone wird nun habe ich das fenster was man vergößern kann und erst wenn man ober rechst den close button drück startet das erste hauptporgramm und dann ist das so das man mit der Tatse PadEnter das menü öffnet und erstmal die position auswähelen kann und dabei enstehen vole felhler der player wird an die stellle hingesetzt wo man das letzte mal die auswahl hatte uznd so weiter uns so fort bitte schaut es auch an und sagt mir falls ihr eine lösung hbabtz ie man das verbessert.


http://www.file-upload.net/download-223 ... ng.7z.html
Win 7 Home Premium 64 Bit \ PB 4.41 Demo\2.8Ghz QuadCore \4GB RAM\ nVidia GTS 250

Bild
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: Kleine hilfe beim Game-Project

Beitrag von c4s »

Marvin133 hat geschrieben:Ich habe angefangen mit einem kleine game das ein zelda clone wird nun habe ich das fenster was man vergößern kann und erst wenn man ober rechst den close button drück startet das erste hauptporgramm und dann ist das so das man mit der Tatse PadEnter das menü öffnet und erstmal die position auswähelen kann und dabei enstehen vole felhler der player wird an die stellle hingesetzt wo man das letzte mal die auswahl hatte uznd so weiter uns so fort bitte schaut es auch an und sagt mir falls ihr eine lösung hbabtz ie man das verbessert.
Machst du das extra? Willst du uns ärgern?
Also mein erster Lösungsansatz wäre die deutsche Rechtschreibung zu befolgen, wenn du Hilfe von uns erwartest.
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Benutzeravatar
Marvin133
Beiträge: 80
Registriert: 25.01.2010 15:51
Computerausstattung: Win 7 Home Premium 64 Bit \ PB 4.41 Demo\2.8Ghz QuadCore \4GB RAM\ nVidia GTS 250
Kontaktdaten:

Re: Kleine hilfe beim Game-Project

Beitrag von Marvin133 »

Sorry wegen der falschen Rechtschreibung.Nur ich war in Eile und musste mich beeilen und deswegen klingt das ganze auch ein wenig komisch.Ich habe angefangen ein Zelda-Clon zu programmieren und habe schon die bewegung nach links,unten und oben programmiert und halt das menü.am anfang wenn man das programm startet muss man erst die fenstergröße einstellen und dann auf den close button drücken damit er das erste programm aktiviert.aber dann lädt er nicht das intro menü sondern das item menü und da gibts ne menge fehler in sache von bewegung des auswahl fensters.wenn man es dann mit escape schließt und wieder mit enter öffnet,eine neue auswahl macht und es wieder schließt dann lädt er link an diese stelle.außerdem muss man immer das programm schließen um in eine andere richtung laufen zu können.

Nun ist meine Frage wüssstet ihr wie man diese fehler beheben könnte,denn ich habe erst vor kurzem mit purebasic angefangen und bin erst neu in diesem gebiet.

Mit freundlichen Grüßen Marvin133 :)

Den Link mit den ganzen benötigten Dateien habe ich ja schon im letzten post aufgeschrieben
Win 7 Home Premium 64 Bit \ PB 4.41 Demo\2.8Ghz QuadCore \4GB RAM\ nVidia GTS 250

Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Kleine hilfe beim Game-Project

Beitrag von Kaeru Gaman »

also, wenn ich mir das so durchlese dann wirst du irgendwo deine Flags durcheinander werfen, die steuern, wann welches Fenster geöffnet wird, welche Funktion ausgeführt wird und so weiter.

das bedeutet, dir sind die logischen Abläufe überhaupt nicht klar.

normalerweise wäre mein Rat jetzt, leg das mal auf Eis und überleg dir ein viel viel kleineres Brötchen,
aber ob du eins findest, was dir genau solche Logigprobleme erklärt ist auch fraglich.

Wenn ich später Bock hab, lad ich mir dein Projekt mal runter und schau mal rein.

Grundsätzlich solltest du den code solange er nicht ewigst riesig ist trotzdem noch mal direkt posten.
und eigentlich solltest du Code posten können, der keine ewig vielen ressourcen braucht, sondern den man so mal starten kann.

und das nächste Mal: wenn du keine Zeit hast, dann poste nicht!
so ein unerträglicher Kauderwelsch wie in deinem ersten Posting ist einfach nur störend.

das alles zusammen macht den Kollegen hier nicht gerade Lust darauf, dir irgendwie zu helfen:
Fürchterlicher Kauderwelsch, nur ein Archiv zum runterladen aber kein Code zum angucken,
und Fragen, die man sich eher selbst beantworten können sollte, bevor man wagt, sich auf einen Level zu begeben den man auch nur ansatzweise "Zelda-Clon" nennen darf.


Und zu Guter Letzt - ich werde dein Topic in den Anfänger-Bereich verschieben, denn da gehört es hin.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Marvin133
Beiträge: 80
Registriert: 25.01.2010 15:51
Computerausstattung: Win 7 Home Premium 64 Bit \ PB 4.41 Demo\2.8Ghz QuadCore \4GB RAM\ nVidia GTS 250
Kontaktdaten:

Re: Kleine hilfe beim Game-Project

Beitrag von Marvin133 »

ich habe ja auch erst angefangen mit purebasic,dann ist es ja auch kein wunder das ich alles sofort kann.ich bin ja auch erst 14 und wollte nur einen kleien zelda klone machen und auch nicht so aufwendig.aber ich wollte es ja mal versuchen und nur durch fragen und probieren kann man auch ne menge lernen.ich hatte ja auch vorher noch nie etwas mit programmieren am hut.und wenn ich etwas mache dann will ich auch stolz darauf sein etwas vollständiges zu machen was auch funktioniert und eion kleines spiel fand ich da genau das richtige.

das ganze soll ja auch erstmal in 2d sein und vllt nur ne kleien map erst mal.

und das mit dem logischen programmierdenken das kommt auch noch mit der zeit
Win 7 Home Premium 64 Bit \ PB 4.41 Demo\2.8Ghz QuadCore \4GB RAM\ nVidia GTS 250

Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Kleine hilfe beim Game-Project

Beitrag von Kaeru Gaman »

also, wie beim letzten mal schon, ich kann dein Archiv nicht öffnen, "Incorrect command line"

1. poste code
2. mach ein zip
3. probier solche Logigsachen mit keineren Beispielen aus, wo du nur ein paar Schalterchens und Ifs und so benutzt.

ich hab auch mit 13 angefangen zu programmieren, und damals war das noch was Besonderes
mein erstes Programm hat nur Texteingaben von Ja/Nein verarbeitet und blöde Antworten gegeben.
also, besser kleine Brötchen backen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Marvin133
Beiträge: 80
Registriert: 25.01.2010 15:51
Computerausstattung: Win 7 Home Premium 64 Bit \ PB 4.41 Demo\2.8Ghz QuadCore \4GB RAM\ nVidia GTS 250
Kontaktdaten:

Re: Kleine hilfe beim Game-Project

Beitrag von Marvin133 »

Code: Alles auswählen

;Main Programm:
IncludeFile "initsystem.pb"

LoadSprite(0,"Data\sprites\intro\intro.bmp",0)
LoadMovie(0,"Data\sounds\background\background1.mp3")

DisplaySprite(0,10,10)
PlayMovie(0,0)

Repeat
ExamineKeyboard()
If KeyboardReleased(#PB_Key_Space)
   IncludeFile"menu.pb"
   IncludeFile"moving.pb"
   enter=1
If KeyboardReleased(#PB_Key_Escape)
   End
EndIf
EndIf
Until enter=1

;Initsystem:
InitMovie()
InitSound()
InitSprite()
InitKeyboard()                                              


OpenWindow(0, 0, 0, 600, 400, "Zelda", #PB_Window_SystemMenu | #PB_Window_SizeGadget |#PB_Window_MaximizeGadget |#PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)
CreateStatusBar(0, WindowID(0))
AddStatusBarField(320)
      
     
OpenWindowedScreen(WindowID(0), 0, 0,600,400, 1, 1, 20) 
    
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow

;menu:
LoadSound(0,"Data\sounds\menu\main-menu\next.wav")
LoadSprite(0,"Data\sprites\menu\menu.bmp",0)
LoadSprite(1,"Data\sprites\menu\select.bmp",0)

ende=0
left=0
right=0
down=0
up=0
x=0
y=0


Repeat
ExamineKeyboard()
FlipBuffers()
ClearScreen(RGB(150,150,150))

DisplayTransparentSprite(0,0,0)
DisplayTransparentSprite(1,x,y)



;-----Rechts-----
If KeyboardReleased(#PB_Key_Right)  
   x=x+31
   right=right+1
   PlaySound(0)
   Delay(50)
EndIf

;-----Links-----
If KeyboardReleased(#PB_Key_Left)  
   x=x-31
   left=left+1
   PlaySound(0)
   Delay(50)
EndIf

;-----Runter-----
If KeyboardReleased(#PB_Key_Down)  
   y=y+31
   down=down+1
   PlaySound(0)
   Delay(50)
EndIf

;-----Hoch-----
If KeyboardReleased(#PB_Key_Up)  
   y=y-31
   up=up+1
   PlaySound(0)
   Delay(50)
EndIf

;überprüfen
If  right=3
    right=0
    x=0
    y=0
EndIf      

If  left=3
    left=0
    x=x+93
EndIf   

If  down=2
    down=0
    y=0
EndIf     

If  up=2
    up=0
    y=0
EndIf     

If  right=3
    right=0
    x=0
EndIf       

If KeyboardReleased(#PB_Key_Escape)
   ende=1
   x=0
   y=0
EndIf
Until ende=1


;Moving:
IncludeFile "ZeldaPlayerDown.pb"
IncludeFile "ZeldaPlayerUp.pb"
IncludeFile "ZeldaPlayerLeft.pb"

;ZeldaPlayerDown:
LoadSprite(1,"Data\sprites\down\down1.bmp",0)
LoadSprite(2,"Data\sprites\down\down2.bmp",0)
LoadSprite(3,"Data\sprites\down\down3.bmp",0)
LoadSprite(4,"Data\sprites\down\down4.bmp",0)
LoadSprite(5,"Data\sprites\down\down5.bmp",0)
LoadSprite(6,"Data\sprites\down\down6.bmp",0)
LoadSprite(7,"Data\sprites\down\down7.bmp",0)
LoadSprite(8,"Data\sprites\down\down8.bmp",0)
LoadSprite(9,"Data\sprites\down\down9.bmp",0)
LoadSprite(10,"Data\sprites\down\down10.bmp",0)


x=10
y=10

img = 1
For sprite = 1 To 10 Step 1
TransparentSpriteColor(sprite,RGB(255,255,255))
Next

      
Repeat                                                 
  ExamineKeyboard()
  FlipBuffers()                                         
  ClearScreen(0)
  DisplayTransparentSprite(img,x,y)
  If KeyboardPushed(#PB_Key_Down)
     If img = 10
        img = 1
     Else
      img+1
      y+4
     EndIf
     Delay(70) 
  If y>=600
     y=0
  EndIf
EndIf   
If KeyboardReleased(#PB_Key_PadEnter)
   IncludeFile"menu.pb"
EndIf   
Until KeyboardReleased(1)

;ZeldaPlayerUp:
LoadSprite(1,"Data\sprites\up\up1.bmp",0)
LoadSprite(2,"Data\sprites\up\up2.bmp",0)
LoadSprite(3,"Data\sprites\up\up3.bmp",0)
LoadSprite(4,"Data\sprites\up\up4.bmp",0)
LoadSprite(5,"Data\sprites\up\up5.bmp",0)
LoadSprite(6,"Data\sprites\up\up6.bmp",0)
LoadSprite(7,"Data\sprites\up\up7.bmp",0)
LoadSprite(8,"Data\sprites\up\up8.bmp",0)
LoadSprite(9,"Data\sprites\up\up9.bmp",0)
LoadSprite(10,"Data\sprites\up\up10.bmp",0)


x=10
y=10

img = 1
For sprite = 1 To 10 Step 1
TransparentSpriteColor(sprite,RGB(255,255,255))
Next


Repeat                                                 
  ExamineKeyboard()
  FlipBuffers()                                         
  ClearScreen(0)
  DisplayTransparentSprite(img,x,y)
  If KeyboardPushed(#PB_Key_Up)
     If img = 10
        img = 1
     Else
      img+1
      y-4
     EndIf
     Delay(70) 
  If y<=1
     y=550
  EndIf
EndIf   
If KeyboardReleased(#PB_Key_PadEnter)
   IncludeFile"menu.pb"
EndIf   
Until KeyboardReleased(1)


;ZeldaPlayerLeft:
LoadSprite(1,"Data\sprites\left\left1.bmp",0)
LoadSprite(2,"Data\sprites\left\left2.bmp",0)
LoadSprite(3,"Data\sprites\left\left3.bmp",0)
LoadSprite(4,"Data\sprites\left\left4.bmp",0)
LoadSprite(5,"Data\sprites\left\left5.bmp",0)
LoadSprite(6,"Data\sprites\left\left6.bmp",0)
LoadSprite(7,"Data\sprites\left\left7.bmp",0)
LoadSprite(8,"Data\sprites\left\left8.bmp",0)
LoadSprite(9,"Data\sprites\left\left9.bmp",0)
LoadSprite(10,"Data\sprites\left\left10.bmp",0)
LoadSprite(11,"Data\sprites\left\left11.bmp",0)
LoadSprite(12,"Data\sprites\left\left12.bmp",0)
LoadSprite(13,"Data\sprites\left\left13.bmp",0)


x=100
y=10

img = 1
For sprite = 1 To 13 Step 1
TransparentSpriteColor(sprite,RGB(255,255,255))
Next



      
Repeat                                                 
  ExamineKeyboard()
  FlipBuffers()                                         
  ClearScreen(0)
  DisplayTransparentSprite(img,x,y)
  If KeyboardPushed(#PB_Key_Left)
     If img = 13
        img = 1
     Else
      img+1
      x-4
     EndIf
     Delay(70) 
  If x<=0
     x=400
  EndIf
EndIf   
If KeyboardReleased(#PB_Key_PadEnter)
   IncludeFile"menu.pb"
EndIf   
Until KeyboardReleased(1)
so das sind alle filles in einem

http://www.file-upload.net/download-223 ... e.zip.html
Win 7 Home Premium 64 Bit \ PB 4.41 Demo\2.8Ghz QuadCore \4GB RAM\ nVidia GTS 250

Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Kleine hilfe beim Game-Project

Beitrag von Kaeru Gaman »

also

Code: Alles auswählen

    If KeyboardReleased(#PB_Key_PadEnter)
       IncludeFile"menu.pb"
    EndIf   
kann schon mal nicht richtig sein.

das bedeutet, dass du dort ein komplettes codefile einfügst, und zwar gleich beim compilieren.
das steht dann in einer bedingung, wird also ausgeführt, wenn du PadEnter losläßt.
ebenso

Code: Alles auswählen

    IncludeFile "ZeldaPlayerDown.pb"
    IncludeFile "ZeldaPlayerUp.pb"
    IncludeFile "ZeldaPlayerLeft.pb"
das ist eine völlig falsche verwendung von Includes.
ich hab mir mal den Spaß gemacht, und deinen Code so zusammengesetzt wie er nach einfügen der Includes aussieht.

Code: Alles auswählen

;#####
;#####
;#####  I N I T
;#####
;#####

InitMovie()
InitSound()
InitSprite()
InitKeyboard()                                             


OpenWindow(0, 0, 0, 600, 400, "Zelda", #PB_Window_SystemMenu | #PB_Window_SizeGadget |#PB_Window_MaximizeGadget |#PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)
CreateStatusBar(0, WindowID(0))
AddStatusBarField(320)
     
     
OpenWindowedScreen(WindowID(0), 0, 0,600,400, 1, 1, 20)
   
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow

;#####
;#####
;#####  M A I N
;#####
;#####

LoadSprite(0,"Data\sprites\intro\intro.bmp",0)
LoadMovie(0,"Data\sounds\background\background1.mp3")

DisplaySprite(0,10,10)
PlayMovie(0,0)

Repeat
ExamineKeyboard()
If KeyboardReleased(#PB_Key_Space)

;#####
;#####
;#####  M E N U
;#####
;#####
    

    LoadSound(0,"Data\sounds\menu\main-menu\next.wav")
    LoadSprite(0,"Data\sprites\menu\menu.bmp",0)
    LoadSprite(1,"Data\sprites\menu\select.bmp",0)

    ende=0
    left=0
    right=0
    down=0
    up=0
    x=0
    y=0


    Repeat
    ExamineKeyboard()
    FlipBuffers()
    ClearScreen(RGB(150,150,150))

    DisplayTransparentSprite(0,0,0)
    DisplayTransparentSprite(1,x,y)



    ;-----Rechts-----
    If KeyboardReleased(#PB_Key_Right) 
       x=x+31
       right=right+1
       PlaySound(0)
       Delay(50)
    EndIf

    ;-----Links-----
    If KeyboardReleased(#PB_Key_Left) 
       x=x-31
       left=left+1
       PlaySound(0)
       Delay(50)
    EndIf

    ;-----Runter-----
    If KeyboardReleased(#PB_Key_Down) 
       y=y+31
       down=down+1
       PlaySound(0)
       Delay(50)
    EndIf

    ;-----Hoch-----
    If KeyboardReleased(#PB_Key_Up) 
       y=y-31
       up=up+1
       PlaySound(0)
       Delay(50)
    EndIf

    ;überprüfen
    If  right=3
        right=0
        x=0
        y=0
    EndIf     

    If  left=3
        left=0
        x=x+93
    EndIf   

    If  down=2
        down=0
        y=0
    EndIf     

    If  up=2
        up=0
        y=0
    EndIf     

    If  right=3
        right=0
        x=0
    EndIf       

    If KeyboardReleased(#PB_Key_Escape)
       ende=1
       x=0
       y=0
    EndIf
    Until ende=1

;#####
;#####
;#####  M O V I N G
;#####
;#####

    ;ZeldaPlayerDown:
    LoadSprite(1,"Data\sprites\down\down1.bmp",0)
    LoadSprite(2,"Data\sprites\down\down2.bmp",0)
    LoadSprite(3,"Data\sprites\down\down3.bmp",0)
    LoadSprite(4,"Data\sprites\down\down4.bmp",0)
    LoadSprite(5,"Data\sprites\down\down5.bmp",0)
    LoadSprite(6,"Data\sprites\down\down6.bmp",0)
    LoadSprite(7,"Data\sprites\down\down7.bmp",0)
    LoadSprite(8,"Data\sprites\down\down8.bmp",0)
    LoadSprite(9,"Data\sprites\down\down9.bmp",0)
    LoadSprite(10,"Data\sprites\down\down10.bmp",0)


    x=10
    y=10

    img = 1
    For sprite = 1 To 10 Step 1
    TransparentSpriteColor(sprite,RGB(255,255,255))
    Next

         
    Repeat                                                 
      ExamineKeyboard()
      FlipBuffers()                                         
      ClearScreen(0)
      DisplayTransparentSprite(img,x,y)
      If KeyboardPushed(#PB_Key_Down)
         If img = 10
            img = 1
         Else
          img+1
          y+4
         EndIf
         Delay(70)
      If y>=600
         y=0
      EndIf
    EndIf   
    If KeyboardReleased(#PB_Key_PadEnter)
        ;#####
        ;#####
        ;#####  M E N U
        ;#####
        ;#####
            
        
            LoadSound(0,"Data\sounds\menu\main-menu\next.wav")
            LoadSprite(0,"Data\sprites\menu\menu.bmp",0)
            LoadSprite(1,"Data\sprites\menu\select.bmp",0)
        
            ende=0
            left=0
            right=0
            down=0
            up=0
            x=0
            y=0
        
        
            Repeat
            ExamineKeyboard()
            FlipBuffers()
            ClearScreen(RGB(150,150,150))
        
            DisplayTransparentSprite(0,0,0)
            DisplayTransparentSprite(1,x,y)
        
        
        
            ;-----Rechts-----
            If KeyboardReleased(#PB_Key_Right) 
               x=x+31
               right=right+1
               PlaySound(0)
               Delay(50)
            EndIf
        
            ;-----Links-----
            If KeyboardReleased(#PB_Key_Left) 
               x=x-31
               left=left+1
               PlaySound(0)
               Delay(50)
            EndIf
        
            ;-----Runter-----
            If KeyboardReleased(#PB_Key_Down) 
               y=y+31
               down=down+1
               PlaySound(0)
               Delay(50)
            EndIf
        
            ;-----Hoch-----
            If KeyboardReleased(#PB_Key_Up) 
               y=y-31
               up=up+1
               PlaySound(0)
               Delay(50)
            EndIf
        
            ;überprüfen
            If  right=3
                right=0
                x=0
                y=0
            EndIf     
        
            If  left=3
                left=0
                x=x+93
            EndIf   
        
            If  down=2
                down=0
                y=0
            EndIf     
        
            If  up=2
                up=0
                y=0
            EndIf     
        
            If  right=3
                right=0
                x=0
            EndIf       
        
            If KeyboardReleased(#PB_Key_Escape)
               ende=1
               x=0
               y=0
            EndIf
            Until ende=1
    EndIf   
    Until KeyboardReleased(1)

    ;ZeldaPlayerUp:
    LoadSprite(1,"Data\sprites\up\up1.bmp",0)
    LoadSprite(2,"Data\sprites\up\up2.bmp",0)
    LoadSprite(3,"Data\sprites\up\up3.bmp",0)
    LoadSprite(4,"Data\sprites\up\up4.bmp",0)
    LoadSprite(5,"Data\sprites\up\up5.bmp",0)
    LoadSprite(6,"Data\sprites\up\up6.bmp",0)
    LoadSprite(7,"Data\sprites\up\up7.bmp",0)
    LoadSprite(8,"Data\sprites\up\up8.bmp",0)
    LoadSprite(9,"Data\sprites\up\up9.bmp",0)
    LoadSprite(10,"Data\sprites\up\up10.bmp",0)


    x=10
    y=10

    img = 1
    For sprite = 1 To 10 Step 1
    TransparentSpriteColor(sprite,RGB(255,255,255))
    Next


    Repeat                                                 
      ExamineKeyboard()
      FlipBuffers()                                         
      ClearScreen(0)
      DisplayTransparentSprite(img,x,y)
      If KeyboardPushed(#PB_Key_Up)
         If img = 10
            img = 1
         Else
          img+1
          y-4
         EndIf
         Delay(70)
      If y<=1
         y=550
      EndIf
    EndIf   
    If KeyboardReleased(#PB_Key_PadEnter)
        ;#####
        ;#####
        ;#####  M E N U
        ;#####
        ;#####
            
        
            LoadSound(0,"Data\sounds\menu\main-menu\next.wav")
            LoadSprite(0,"Data\sprites\menu\menu.bmp",0)
            LoadSprite(1,"Data\sprites\menu\select.bmp",0)
        
            ende=0
            left=0
            right=0
            down=0
            up=0
            x=0
            y=0
        
        
            Repeat
            ExamineKeyboard()
            FlipBuffers()
            ClearScreen(RGB(150,150,150))
        
            DisplayTransparentSprite(0,0,0)
            DisplayTransparentSprite(1,x,y)
        
        
        
            ;-----Rechts-----
            If KeyboardReleased(#PB_Key_Right) 
               x=x+31
               right=right+1
               PlaySound(0)
               Delay(50)
            EndIf
        
            ;-----Links-----
            If KeyboardReleased(#PB_Key_Left) 
               x=x-31
               left=left+1
               PlaySound(0)
               Delay(50)
            EndIf
        
            ;-----Runter-----
            If KeyboardReleased(#PB_Key_Down) 
               y=y+31
               down=down+1
               PlaySound(0)
               Delay(50)
            EndIf
        
            ;-----Hoch-----
            If KeyboardReleased(#PB_Key_Up) 
               y=y-31
               up=up+1
               PlaySound(0)
               Delay(50)
            EndIf
        
            ;überprüfen
            If  right=3
                right=0
                x=0
                y=0
            EndIf     
        
            If  left=3
                left=0
                x=x+93
            EndIf   
        
            If  down=2
                down=0
                y=0
            EndIf     
        
            If  up=2
                up=0
                y=0
            EndIf     
        
            If  right=3
                right=0
                x=0
            EndIf       
        
            If KeyboardReleased(#PB_Key_Escape)
               ende=1
               x=0
               y=0
            EndIf
            Until ende=1

    EndIf   
    Until KeyboardReleased(1)


    ;ZeldaPlayerLeft:
    LoadSprite(1,"Data\sprites\left\left1.bmp",0)
    LoadSprite(2,"Data\sprites\left\left2.bmp",0)
    LoadSprite(3,"Data\sprites\left\left3.bmp",0)
    LoadSprite(4,"Data\sprites\left\left4.bmp",0)
    LoadSprite(5,"Data\sprites\left\left5.bmp",0)
    LoadSprite(6,"Data\sprites\left\left6.bmp",0)
    LoadSprite(7,"Data\sprites\left\left7.bmp",0)
    LoadSprite(8,"Data\sprites\left\left8.bmp",0)
    LoadSprite(9,"Data\sprites\left\left9.bmp",0)
    LoadSprite(10,"Data\sprites\left\left10.bmp",0)
    LoadSprite(11,"Data\sprites\left\left11.bmp",0)
    LoadSprite(12,"Data\sprites\left\left12.bmp",0)
    LoadSprite(13,"Data\sprites\left\left13.bmp",0)


    x=100
    y=10

    img = 1
    For sprite = 1 To 13 Step 1
    TransparentSpriteColor(sprite,RGB(255,255,255))
    Next



         
    Repeat                                                 
      ExamineKeyboard()
      FlipBuffers()                                         
      ClearScreen(0)
      DisplayTransparentSprite(img,x,y)
      If KeyboardPushed(#PB_Key_Left)
         If img = 13
            img = 1
         Else
          img+1
          x-4
         EndIf
         Delay(70)
      If x<=0
         x=400
      EndIf
    EndIf   
    If KeyboardReleased(#PB_Key_PadEnter)
        ;#####
        ;#####
        ;#####  M E N U
        ;#####
        ;#####
            
        
            LoadSound(0,"Data\sounds\menu\main-menu\next.wav")
            LoadSprite(0,"Data\sprites\menu\menu.bmp",0)
            LoadSprite(1,"Data\sprites\menu\select.bmp",0)
        
            ende=0
            left=0
            right=0
            down=0
            up=0
            x=0
            y=0
        
        
            Repeat
            ExamineKeyboard()
            FlipBuffers()
            ClearScreen(RGB(150,150,150))
        
            DisplayTransparentSprite(0,0,0)
            DisplayTransparentSprite(1,x,y)
        
        
        
            ;-----Rechts-----
            If KeyboardReleased(#PB_Key_Right) 
               x=x+31
               right=right+1
               PlaySound(0)
               Delay(50)
            EndIf
        
            ;-----Links-----
            If KeyboardReleased(#PB_Key_Left) 
               x=x-31
               left=left+1
               PlaySound(0)
               Delay(50)
            EndIf
        
            ;-----Runter-----
            If KeyboardReleased(#PB_Key_Down) 
               y=y+31
               down=down+1
               PlaySound(0)
               Delay(50)
            EndIf
        
            ;-----Hoch-----
            If KeyboardReleased(#PB_Key_Up) 
               y=y-31
               up=up+1
               PlaySound(0)
               Delay(50)
            EndIf
        
            ;überprüfen
            If  right=3
                right=0
                x=0
                y=0
            EndIf     
        
            If  left=3
                left=0
                x=x+93
            EndIf   
        
            If  down=2
                down=0
                y=0
            EndIf     
        
            If  up=2
                up=0
                y=0
            EndIf     
        
            If  right=3
                right=0
                x=0
            EndIf       
        
            If KeyboardReleased(#PB_Key_Escape)
               ende=1
               x=0
               y=0
            EndIf
            Until ende=1
    EndIf   
    Until KeyboardReleased(1)

   enter=1
If KeyboardReleased(#PB_Key_Escape)
   End
EndIf
EndIf
Until enter=1
mach das erst mal komplett ohne includes, damit kannst du dich später beschäftigen.

womöglich willst du eigentlich Unterprogramme haben.

das LoadSprite wiederum hat im eigentlichen Unterprogramm nichts zu suchen, das kommt ganz oben ins Init.
das bewirkt nämlich, dass ein Sprite aus der Datei in den Speicher geladen wird.
später, wenn man was anzeigen will, muss das Sprite bereits da sein, da zeigt man es nur an.

also, dein Hauptproblem war, dass du Include verwendet hast, obwohl du das überhaupt nicht wolltest.

du solltest bitte erst mal die Hilfe wirklich lesen und verstehen.

es ist ja schön dass du den Mut hast, dich in so ein Projekt zu stürzen,
und es ist ja auch nichts, wo ein Wolkenkratzer einstürzt wenn man Mist baut,
aber bitte lern doch erst mal Grundlagen, wenn du die geringste Chance haben willst, auf einen grünen Zweig zu kommen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: Kleine hilfe beim Game-Project

Beitrag von c4s »

Es ist schon seltsam. Manchmal habe ich das Gefühl PureBasic dürfte nicht so einfach sein, damit nicht jeder Anfänger denkt seine Programmier-Karriere mit einem klasse Jump'n'Run-Spielchen beginnen zu können.

Wenn man die Materie des Programmierens wirklich eintauchen will, muss man - wie Kaeru bereits sagte - klein anfangen, denn es ist nicht möglich "einfach mal so etwas zu programmieren".
Marvin133, wenn du also wirklich ein guter Programmierer werden willst, rate ich dir erstmal dein Spielchen beiseite zu legen und die Hilfe-Datei zu studieren, d.h. herausfinden wie das Eventhandling abläuft, Variablentypen, etc. Dann darauf folgend kannst du die vorhandenen Beispiel modifizieren z.B. diesen Space-Shooter.
Andernfalls solltest du dir ein schon vorhandenes Spiel suchen, dass einen Editor bereitstellt und dort deine Levels erstellen. Beispiele:
http://sourceforge.net/projects/mmario/
http://www.secretmaryo.org/
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Antworten