Verfolger
-
- Beiträge: 6267
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Okay, also ich sehe einen roten kleine Klotz und nen Hellblauen größeren, sowie diverse Texte. Es rührt sich aber nichts. Auf dem Bildschirm steht unter anderm Pause, warum auch immer. Soll ich das ganze Anstieren oder was muß ich tun ?pm hat geschrieben:Hallo,
ich wäre übrigens auch froh, wenn ihr ein Feedback könntet schreiben!
Pascal
Zum Source: Sehr nostalgisch, erinnert mich an 1970
Ich hoffe Du versteht den unstrukturierten Code
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
-
- Beiträge: 630
- Registriert: 05.05.2005 19:06
-
- Beiträge: 630
- Registriert: 05.05.2005 19:06
Noch ne kleine Verbesserung:
Was ist anders:
Es gibt jetzt auch ein dunkelblaues Viereck. Wenn man das dunkelblaue Viereck berührt, ist alles verkehrt: Rechts ist Links und Links ist Rechts und Oben ist Unten und Unten ist Oben. Funktioniert nur bei Tastaturmodus.
Steuerung:
Bewegen: Maus oder Tastatur (Im Menü wählbar)
Beenden: Esc
Pause aktivieren/deaktivieren: P
Auswahl bestätigen: J
Auswählen: Cursortaste Hoch und Runter
Viel Spass beim spielen.
Pascal
P.S.: Bitte postet ein Feedback!
Code: Alles auswählen
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse()=0
MessageRequester("Error", "Can't open DirectX 7 or later", 0)
End
EndIf
#Benzin=1000
Zeitneu=500
auswahl=1
If OpenScreen(1024, 768, 16, "Sprite")
Repeat
ClearScreen(0,0,0)
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Escape)
End
EndIf
If KeyboardReleased(#PB_Key_Up)
If auswahl=1
auswahl=2
Else
auswahl=1
EndIf
ElseIf KeyboardReleased(#PB_Key_Down)
If auswahl=2
auswahl=1
Else
auswahl=2
EndIf
EndIf
StartDrawing(ScreenOutput())
DrawingMode(1)
If auswahl=2
FrontColor(255,255,255)
Locate(500,400)
DrawText("Tastatur")
Locate(500,420)
FrontColor(255,0,255)
DrawText("Maus")
Else
FrontColor(255,0,255)
Locate(500,400)
DrawText("Tastatur")
Locate(500,420)
FrontColor(255,255,255)
DrawText("Maus")
EndIf
Locate(500,460)
FrontColor(255,255,255)
DrawText("Auswahl bestätigen mit J")
StopDrawing()
If KeyboardPushed(#PB_Key_J)
auswahlfertig=1
If auswahl=1
var$="Tastatur"
Else
var$="Maus"
EndIf
EndIf
FlipBuffers()
Until auswahlfertig=1
Benzin=#Benzin
OpenPreferences("Optionen.dat")
Level$=ReadPreferenceString("Level", "1")
Level = Val(Level$)
PunkteTotal$=ReadPreferenceString("PunkteTotal", "0")
PunkteTotal = Val(PunkteTotal$)
DeleteFile("Optionen.dat")
speed1=8
x1=0
Dim speed2.f(100000)
Dim x2.f(100000)
Dim y2.f(100000)
speed2(1)=1
For I = 2 To 100000
y2(I)=1888
x2(I)=1888
Next I
x2(1)=1000
y1=0
y2(1)=500
x1=Random(1000)
y1=Random(650)
CreateImage(1,5,5)
UseImage(1)
StartDrawing(ImageOutput())
Box(0,0,5,5,RGB(255,0,0))
StopDrawing()
SaveImage(1,"Spieler.bmp")
FreeImage(1)
LoadSprite(0, "Spieler.bmp")
CreateImage(1,10,10)
UseImage(1)
StartDrawing(ImageOutput())
Box(0,0,10,10,RGB(0,255,255))
StopDrawing()
SaveImage(1,"Gegner.bmp")
FreeImage(1)
LoadSprite(1, "Gegner.bmp")
CreateImage(1,10,10)
UseImage(1)
StartDrawing(ImageOutput())
Box(0,0,10,10,RGB(0,0,255))
StopDrawing()
SaveImage(1,"Bonus.bmp")
FreeImage(1)
LoadSprite(2, "Bonus.bmp")
zeit=Zeitneu
letzt=1
Pa=1
Repeat
ClearScreen(0,0,0)
ExamineKeyboard()
ExamineMouse()
If Pa=0
zeit-1
If var$="Tastatur"
If verkehrt=0
If KeyboardReleased(#PB_Key_P)
Pa=1
EndIf
If KeyboardPushed(#PB_Key_Left)
x1-speed1
Benzin-1
If Benzin=0
Punkte-20
Benzin=#Benzin
EndIf
ElseIf KeyboardPushed(#PB_Key_Right)
x1+speed1
Benzin-1
If Benzin=0
Punkte-20
Benzin=#Benzin
EndIf
ElseIf KeyboardPushed(#PB_Key_Up)
y1-speed1
Benzin-1
If Benzin=0
Punkte-20
Benzin=#Benzin
EndIf
ElseIf KeyboardPushed(#PB_Key_Down)
y1+speed1
Benzin-1
If Benzin=0
Punkte-20
Benzin=#Benzin
EndIf
EndIf
Else
If KeyboardReleased(#PB_Key_P)
Pa=1
EndIf
If KeyboardPushed(#PB_Key_Left)
x1+speed1
Benzin-1
If Benzin=0
Punkte-20
Benzin=#Benzin
EndIf
ElseIf KeyboardPushed(#PB_Key_Right)
x1-speed1
Benzin-1
If Benzin=0
Punkte-20
Benzin=#Benzin
EndIf
ElseIf KeyboardPushed(#PB_Key_Up)
y1+speed1
Benzin-1
If Benzin=0
Punkte-20
Benzin=#Benzin
EndIf
ElseIf KeyboardPushed(#PB_Key_Down)
y1-speed1
Benzin-1
If Benzin=0
Punkte-20
Benzin=#Benzin
EndIf
EndIf
EndIf
ElseIf var$="Maus"
xm=MouseX()
ym=MouseY()
If xm=xmv
Else
Benzin-1
xmv=xm
EndIf
If ym = ymv
Else
Benzin-1
ymv=ym
EndIf
x1=xm
y1=ym
If Benzin=0 Or Benzin<0
Punkte-20
Benzin=#Benzin
EndIf
EndIf
If x1 = bx1
If y1 > by1
by1+Random(7)
ElseIf y1 < by1
by1-Random(7)
EndIf
Else
If x1 > bx1
bx1+Random(7)
ElseIf x1 < bx1
bx1-Random(7)
EndIf
EndIf
For I = 1 To 100
If x1 = x2(I)
If y1 > y2(I)
y2(I)+Random(6)
ElseIf y1 < y2(I)
y2(I)-Random(6)
EndIf
Else
If x1 > x2(I)
x2(I)+Random(6)
ElseIf x1 < x2(I)
x2(I)-Random(6)
EndIf
EndIf
Next I
Else
If KeyboardReleased(#PB_Key_P)
Pa=0
EndIf
EndIf
DisplaySprite(0, x1,y1)
For I = 1 To 100
DisplaySprite(1, x2(I), y2(I))
If SpriteCollision(0,x1,y1,1,x2(I),y2(I))
CloseScreen()
exit=1
DeleteFile("Gegner.bmp")
DeleteFile("Spieler.bmp")
DeleteFile("Bonus.bmp")
MessageRequester("GAME OVER!", "GAME OVER"+Chr(10)+"Sie haben "+Str(PunkteTotal)+" erreicht!", #MB_ICONINFORMATION)
DeleteFile("Optionen.dat")
CreatePreferences("Optionen.dat")
WritePreferenceString("Level", Str(Level))
WritePreferenceString("PunkteTotal", Str(PunkteTotal))
StartTimer=ElapsedMilliseconds()
Repeat
StopTimer=ElapsedMilliseconds()
TotalTimer=StopTimer-StartTimer
Until TotalTimer>5000
ClosePreferences()
End
EndIf
Next I
If zeit=0
x2(letzt+1)=Random(1000)
y2(letzt+1)=Random(650)
speed=Random(3)
If speed=0 : speed=1 : EndIf
speed2(letzt+1)=speed
letzt+1
Punkte+(speed*20*4)
zeit=Zeitneu
EndIf
Select Level
Case 1
Zeitneu=500
P=100
Case 2
Zeitneu=400
P=500
Case 3
Zeitneu=300
P=1000
Case 4
Zeitneu=200
P=1100
Case 5
Zeitneu=100
P=1500
Case 6
Zeitneu=90
P=2000
Case 7
Zeitneu=80
P=2100
Case 6
Zeitneu=70
P=2500
Case 7
Zeitneu=60
P=3000
Case 8
Zeitneu=50
P=3100
Case 9
Zeitneu=40
P=3500
Case 10
Zeitneu=30
P=4000
Case 11
Zeitneu=20
P=4100
Case 12
Zeitneu=10
P=4500
Case 13
Zeitneu=9
P=5000
Case 14
Zeitneu=8
P=5100
Case 15
Zeitneu=7
P=5500
Case 16
Zeitneu=6
P=6000
Case 17
Zeitneu=5
P=6100
Case 18
Zeitneu=4
P=6500
Case 19
Zeitneu=3
P=7000
Case 20
Zeitneu=2
P=8000
Case 21
Zeitneu=1
P=8100
EndSelect
If var$="Tastatur"
DisplaySprite(2,bx1,by1)
If SpriteCollision(0,x1,y1,2,bx1,by1)
verkehrt=1
EndIf
EndIf
If Punkte=P Or Punkte>P
x1=Random(1000)
y1=Random(650)
PunkteTotal+Punkte
Punkte=0
StartTimer=ElapsedMilliseconds()
Repeat
StopTimer=ElapsedMilliseconds()
ClearScreen(0,0,0)
StartDrawing(ScreenOutput())
Locate(1024/2-TextLength("Level geschafft"), 768/2)
DrawText("LEVEL GESCHAFFT!!!")
StopDrawing()
FlipBuffers()
TotalTimer=StopTimer-StartTimer
Until TotalTimer>5000
If Level=21
CloseScreen()
MessageRequester("Gratulation!", "Herzlichen Glückwunsch! Sie haben alle Level gemeistert!", #MB_ICONINFORMATION)
End
EndIf
verkehrt=0
Level+1
Pa=1
EndIf
StartDrawing(ScreenOutput())
DrawingMode(1)
FrontColor(255,255,255)
Locate(20,20)
DrawText("Level "+Str(Level))
Locate(20,40)
DrawText("Score: "+Str(Punkte)+"/"+Str(P))
Locate(20,60)
DrawText("Benzin: "+Str(Benzin)+" l")
Locate(20,100)
DrawText("Total Punkte: "+Str(PunkteTotal+Punkte))
If Pa=1
Locate(500,500)
DrawText("PAUSE")
EndIf
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or exit=1
DeleteFile("Gegner.bmp")
DeleteFile("Spieler.bmp")
DeleteFile("Bonus.bmp")
Else
MessageRequester("Error", "Can't open a 640*480 - 16 bit screen !", 0)
EndIf
End
Es gibt jetzt auch ein dunkelblaues Viereck. Wenn man das dunkelblaue Viereck berührt, ist alles verkehrt: Rechts ist Links und Links ist Rechts und Oben ist Unten und Unten ist Oben. Funktioniert nur bei Tastaturmodus.
Steuerung:
Bewegen: Maus oder Tastatur (Im Menü wählbar)
Beenden: Esc
Pause aktivieren/deaktivieren: P
Auswahl bestätigen: J
Auswählen: Cursortaste Hoch und Runter
Viel Spass beim spielen.
Pascal
P.S.: Bitte postet ein Feedback!
Zuletzt geändert von PMTheQuick am 21.07.2005 13:36, insgesamt 1-mal geändert.
- Green Snake
- Beiträge: 1394
- Registriert: 22.02.2005 19:08
-
- Beiträge: 630
- Registriert: 05.05.2005 19:06
-
- Beiträge: 6267
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Mach das ganze mit Figuren(Sprites) in einem Labirinth.pm hat geschrieben:P.S.: Wenn ihr Wünsche habt dann schreibt sie. Ich werde sie dann 100% erfüllen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
-
- Beiträge: 630
- Registriert: 05.05.2005 19:06
@DarkDragon
Ich habe jetzt zwar noch nicht ein Labyrinth eingebaut, habe aber die Vierecke durch Sprites ersetzt.
Download Link:
Beim nächsten Post.
Anleitung:
Jetzt sage ich nur noch, welches Sprite was ist:
Das schwarz-weisse Sprite macht alles verkehrt: Aus rechts wird Links Aus Oben wird unten u.s.w..
Das blaue Männchen ist der Gegner, das andere der Spieler.
Viel Spass
Pascal
P.S.: Bitte postet ein Feedback und wenn ihr Wünsche habt auch Wünsche.
Ich habe jetzt zwar noch nicht ein Labyrinth eingebaut, habe aber die Vierecke durch Sprites ersetzt.
Download Link:
Beim nächsten Post.
Anleitung:
Jetzt sage ich nur noch, welches Sprite was ist:
Das schwarz-weisse Sprite macht alles verkehrt: Aus rechts wird Links Aus Oben wird unten u.s.w..
Das blaue Männchen ist der Gegner, das andere der Spieler.
Viel Spass
Pascal
P.S.: Bitte postet ein Feedback und wenn ihr Wünsche habt auch Wünsche.
Zuletzt geändert von PMTheQuick am 06.08.2005 11:52, insgesamt 1-mal geändert.
-
- Beiträge: 630
- Registriert: 05.05.2005 19:06
Nochmal eine bessere Version mit besseren Grafiken: http://mitglied.lycos.de/pascalmathis/Codes/PureBasic/
Die Grafiken haben die gleiche Bedeutung wie vorher.
Pascal
Die Grafiken haben die gleiche Bedeutung wie vorher.
Pascal
Zuletzt geändert von PMTheQuick am 06.08.2005 15:49, insgesamt 1-mal geändert.