Leben begrenzen + Cheats

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Ardalic

Betreff: Leben begrenzen + Cheats

BeitragDo, Feb 05, 2009 23:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich hab zwei probleme.

1. Ich wollt im Spiel das Leben auf maximal 6 mal begrenzen ich wei bloß nicht wie ich es anstellen soll ich hab schon im Forum gesucht aber nichts gefunden.

2. Ich habe in mein Spiel Cheats eingefügt die frage ist wie es geht, dass mann mehrer buchstaben hintereinander tippen soll ich habe schon If KeyDown(2) And KeyDown(3) Then ... versucht aber dann bekomm ich unendlich leben.

Xeres

Moderator

BeitragDo, Feb 05, 2009 23:11
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Lässt sich doch mit 2 Variablen lösen.
2. Schreibe dir eine Input-Routine die nichts anzeigt... Dazu sollte es viel Beispielmaterial im Forum geben.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

The_Nici

BeitragDo, Feb 05, 2009 23:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Zu 1
Code: [AUSKLAPPEN]

If leben >6 then leben = 6


Zu 2
Code: [AUSKLAPPEN]

;GrafikModus und BackBuffer
Graphics 800,600,32,2
SetBuffer BackBuffer()

;Spieler Variablen
x% = 0
y% = 0
Global speed% = 1

;Cheat Variable
cheat$ = ""

While Not KeyHit(1)
   ;Playermovement
   If KeyDown(200) Then y = y - speed
   If KeyDown(208) Then y = y + speed
   If KeyDown(203) Then x = x - speed
   If KeyDown(205) Then x = x + speed
   
   ;Cheatfunktion
   cheat$ = GetCheat(cheat$)
   ;Player zeichnen
   Oval x-16,y-16,32,32,1
   Text 0,0,cheat$
   ;Flip, Cls
   Flip
   Cls
Wend

Function GetCheat$(hax$)
   a = GetKey()
   If a <> 0 Then ;Prüfen ob überhaupt was gedrückt wurde
      If Instr("ABCDEFGHIJKLMNOPQRSTUVWXYZ", Upper(Chr(a))) <> 0   ;Prüfen ob der Buchstabe des ASCII Codes a (mit GetKey ermittelt) im Alphabet enthalten ist
         hax$ = hax$ + Chr(a)   ;Den Buchstaben von der Taste hinzufügen
      EndIf
   EndIf
   If Upper(hax$) = "OMGLEETHAX" Then   ;Wenn a (Grossgeschrieben mit Upper()) = "OMGLEETHAX" ist, wird der Speed auf 4 gesetzt
      speed = 4
   EndIf
   Return hax$   ;Hax zurückgeben, um die Routine immer wieder ausführen zu können
End Function


Wenn du Fragen hast, dass frag ruhig. Smile

MfG
 

Ardalic

BeitragFr, Feb 06, 2009 0:18
Antworten mit Zitat
Benutzer-Profile anzeigen
The_Nici du bist meine retung THX Wink Wink Exclamation Exclamation
Ein problem gibt es da es ja nur in der Pause laufen, da ja Paue ein schleife ist widehohlt es sich aj so oft das man wieder 6 leben hat.

Code: [AUSKLAPPEN]
If MouseHit(2)
Repeat
Setbuffer Frontbuffer()
Text 250,250,"Pause"


 
 cheat$ = GetCheat(cheat$)
   Text 0,0,cheat$


Setbuffer Backbuffer()
Until MouseHit(2)

The_Nici

BeitragFr, Feb 06, 2009 0:45
Antworten mit Zitat
Benutzer-Profile anzeigen
In deinem Code seh ich ja schonmal was böses - Du setzt den Buffer in der Schleife!
Du kannst das ganz einfach mit einer Schaltervariable lösen. Also wenn du den Cheat eingibst, setzt du cheated auf 1, und GetCheat wird nur ausgeführt wenn cheated = 0 ist. Wenn man wieder Pause macht, musst du einfach cheated auf 0 setzen - ausserhalb der Schleife!
MfG

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group