Kleines Spielchen....
Verfasst: 11.05.2008 00:56
Halllöle
Hab vor 1nem Monat angefangen mich für PB zu intressieren....
Hab schon viele sachen ausprobiert ( zum TEIL auch erfolgreich xD )
Hätte aber doch eine / oder mehrene Fragen:
Und zwar hab ich mal en bisschen mit dem Code(s) in dem Tobic rumgespielt...
http://www.purebasic.fr/german/viewtopic.php?t=16464
Hab einfach ein paar Stunden ein paar sachen daran ausprobiert.
Dachte mir das ich da vie. noch etwas hinzufügen / "verbessern" kann.
Aber hab da ein Problem. (oder auch mehrene )
Das wäre der Code :
ICH WEIS DER CODE IS GROTTIG
Aber hab trotzdem fragen
1stens = Ich habe ja als Anleitung den MessageRequester benutzt da ich nicht GENAU wusste ich wie ich ein Menü einbinde in einem Spiel ( in einem Programm ist es ja relativ einfach. )
2tens ich würde gerne das 2 ( später auch 3 ) verschiedene Noten fallen.
Doch sobald ich :
Die IFPAUSE > erhöhe ( also höher als die andere IF PAUSE )
fällt enweder das eine oder das andere....
Würde eben gerne es so machen das beide "gleichzeitig" fallen.
3tens
Würde auch gerne noch einen Timer einbauen also wie lange man spielen kann.... ( z.b nach 30 Sek ist das dann zu Ende und das Spiel geht wieder ins Hauptmenü oder beendet und geht zum Dekstop )
Hab da en Code nur der is auf Französisch geschrieben ( und den versteh ich leider nicht sooo gut
)
4tens
Nachdem en Spiel zu Ende ist würde ich gerne ein Fenster oder ein einblenung haben die den grade erreichten Highsocre anzeigt, das habe ich auch zum teil selbst hinbekommen als MessageRequester , aber das sah nicht sooo schön aus.
Mit
StartDrawing(ScreenOutput())
...blablabala...
StopDrawing()
Hab ichs auch versucht allerdings wird das nicht richtig eingeblendt.
5tens
Wenn ich das Spiel starte muss ich erst 5 -7 Sek warten bis der "Mensch" bewegt.
Liegt das an der Bmp image ?
Wäre nett wenn mir jemand helfen würde, ich würde es vorziehen wenn ihr schreibt WIE ich es machen sollte , damit der "Lern" Effekt größer ist, Codes sind zwar auch willkommen aber lieber ist mir ein "Lösungsweg"
Hab einfach kurz Symbole in Paint gezeichnet (da ich die Symbole als unwichtiger Teil des Codes zur Zeit sehe xD )
Sobald der Code ansatzweise steht mach ich auch mit Photoshop schönere....
Hier könnt ihr die Symbole Downloaden ,sowie Code und test.exe ( NICHT LACHEN
)
http://rapidshare.com/files/114012049/C ... n.rar.html
Mfg Andreas
Hab vor 1nem Monat angefangen mich für PB zu intressieren....
Hab schon viele sachen ausprobiert ( zum TEIL auch erfolgreich xD )
Hätte aber doch eine / oder mehrene Fragen:
Und zwar hab ich mal en bisschen mit dem Code(s) in dem Tobic rumgespielt...
http://www.purebasic.fr/german/viewtopic.php?t=16464
Hab einfach ein paar Stunden ein paar sachen daran ausprobiert.
Dachte mir das ich da vie. noch etwas hinzufügen / "verbessern" kann.
Aber hab da ein Problem. (oder auch mehrene )
Das wäre der Code :
Code: Alles auswählen
Test$ = "Ihr müsst versuchen so viele Punkte zu machen wie nur möglich !"+ Chr(10) +"Zur erklärung der Punkte vergabe:"+ Chr(10) +" Die 1 gibt 100 Punkte "+ Chr(10) +" Die 2 gibt noch 10 Punkte "+ Chr(10) +" Und die 6 gibt -50 Punkte "+ Chr(10) +" "+ Chr(10) +"Bei jeder nicht gefanger Note werden 10 Punkte abgezogen !"+ Chr(10) +" "+ Chr(10) +"Spiel kann mit Esc Beendet werden...."
MessageRequester ("Schlechte Noten ?", Test$)
InitSprite()
InitKeyboard()
OpenScreen(640,480,32,"Beispiel 7_1")
Global SchlaegerX.w
Global SchlaegerY.w
Global BewegX.w
Global BewegY.w
Global Bild1X.w
Global Bild1Y.w
Global Bild2X.w
Global Bild2Y.w
Global Burger.w
Global Punkte.w
Structure Burger
x.l
y.l
EndStructure
Structure Burger1
x.l
y.l
EndStructure
Global NewList Burger.Burger()
Global NewList Burger1.Burger1()
BewegX = - 1
BewegY = - 1
SchlaegerX = 639 - 500
SchlaegerY = 330
Bild1Y = 0
Bild1X = 0
Bild2X = 0
Bild2Y = 0
LoadSprite(2,"Datein\Image\Zahl 1.BMP",1)
TransparentSpriteColor(2,RGB(255,0,0))
LoadSprite(3,"Datein\Image\Zahl 2.BMP",1)
TransparentSpriteColor(2,RGB(255,0,0))
LoadSprite(4,"Datein\Image\Zahl 6.BMP",1) ; <----- Hab ich NOCH nicht verwendet ....
TransparentSpriteColor(2,RGB(255,0,0))
LoadSprite(1,"Datein\Image\Hintergrund.bmp",1)
TransparentSpriteColor(1,RGB(255,0,0))
LoadSprite(0,"Datein\Image\Mensch.bmp",0)
TransparentSpriteColor(0,RGB(255,255,255))
Repeat
ClearScreen(0)
DisplaySprite(1,testX,testY)
DisplaySprite(0,SchlaegerX,SchlaegerY)
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Right)
If SchlaegerX < 640-120
SchlaegerX + 7
EndIf
EndIf
If KeyboardPushed(#PB_Key_Left)
If SchlaegerX > 0
SchlaegerX - 7
EndIf
EndIf
If SchlaegerY < 60
SchlaegerY = 20
ElseIf SchlaegerY > 460 - 30
SchlaegerY = 460 - 30
EndIf
If KeyboardPushed(#PB_Key_A)
testX + 1
EndIf
If KeyboardPushed(#PB_Key_S)
testX - 1
EndIf
If testY < 60
testY = 20
ElseIf testY > 460 - 30
testY = 460 - 30
EndIf
Pause + 1
If Pause > 250
Pause = 0
AddElement(Burger())
Burger()\x = testX+Random(600)
Burger()\y = testY
EndIf
If Pause > 50
Pause = 0
AddElement(Burger1())
Burger1()\x = testX+Random(600)
Burger1()\y = testY
EndIf
ForEach Burger()
Burger()\y + 6
DisplayTransparentSprite(2,Burger()\x,Burger()\y)
If Abs(Burger()\x-SchlaegerX) < 60 And Abs(Burger()\y-SchlaegerY) < 60
DeleteElement(Burger())
MeinePunkte + 100
ElseIf Burger()\y > 480 ; Aus dem Bildschirm
DeleteElement(Burger())
MeinePunkte - 10
EndIf
Next
; UND AB HIER bin ich mir nicht mehr sicher ( wie ich das einsetzte das 2 verschiedene Sybole gleichzeitig fallen
ForEach Burger1()
Burger1()\y + 2
DisplayTransparentSprite(3,Burger1()\x,Burger1()\y)
If Abs(Burger1()\x-SchlaegerX) < 60 And Abs(Burger1()\y-SchlaegerY) < 60
DeleteElement(Burger1())
MeinePunkte + 10
ElseIf Burger1()\y > 480 ; Aus dem Bildschirm
DeleteElement(Burger1())
MeinePunkte - 10
EndIf
Next
; Ich würde ja sogar noch ein weiters Symbol fallen lassen wollen.
StartDrawing(ScreenOutput())
DrawText(5,5,Str(MeinePunkte),RGB(255,255,255), RGB(0,0,0)) ; hab extra 5,5 genommen da MEIN BILDSCHIRM es so am besten wiedergibt....
DrawText(40,5,"Punkte hast du schon!",RGB(255,255,255), RGB(0,0,0))
StopDrawing()
FlipBuffers()
ExamineKeyboard()
Until KeyboardPushed(1)
Aber hab trotzdem fragen

1stens = Ich habe ja als Anleitung den MessageRequester benutzt da ich nicht GENAU wusste ich wie ich ein Menü einbinde in einem Spiel ( in einem Programm ist es ja relativ einfach. )
2tens ich würde gerne das 2 ( später auch 3 ) verschiedene Noten fallen.
Doch sobald ich :
Code: Alles auswählen
If Pause > 250
Pause = 0
AddElement(Burger())
Burger()\x = testX+Random(600)
Burger()\y = testY
EndIf
If Pause > 50
Pause = 0
AddElement(Burger1())
Burger1()\x = testX+Random(600)
Burger1()\y = testY
EndIf
fällt enweder das eine oder das andere....
Würde eben gerne es so machen das beide "gleichzeitig" fallen.
3tens
Würde auch gerne noch einen Timer einbauen also wie lange man spielen kann.... ( z.b nach 30 Sek ist das dann zu Ende und das Spiel geht wieder ins Hauptmenü oder beendet und geht zum Dekstop )
Hab da en Code nur der is auf Französisch geschrieben ( und den versteh ich leider nicht sooo gut

4tens
Nachdem en Spiel zu Ende ist würde ich gerne ein Fenster oder ein einblenung haben die den grade erreichten Highsocre anzeigt, das habe ich auch zum teil selbst hinbekommen als MessageRequester , aber das sah nicht sooo schön aus.

Mit
StartDrawing(ScreenOutput())
...blablabala...
StopDrawing()
Hab ichs auch versucht allerdings wird das nicht richtig eingeblendt.
5tens
Wenn ich das Spiel starte muss ich erst 5 -7 Sek warten bis der "Mensch" bewegt.
Liegt das an der Bmp image ?
Wäre nett wenn mir jemand helfen würde, ich würde es vorziehen wenn ihr schreibt WIE ich es machen sollte , damit der "Lern" Effekt größer ist, Codes sind zwar auch willkommen aber lieber ist mir ein "Lösungsweg"
Hab einfach kurz Symbole in Paint gezeichnet (da ich die Symbole als unwichtiger Teil des Codes zur Zeit sehe xD )
Sobald der Code ansatzweise steht mach ich auch mit Photoshop schönere....
Hier könnt ihr die Symbole Downloaden ,sowie Code und test.exe ( NICHT LACHEN

http://rapidshare.com/files/114012049/C ... n.rar.html
Mfg Andreas