Neues Fenster öffnen

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Ed

Betreff: Neues Fenster öffnen

BeitragMo, Dez 29, 2008 2:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich bin neu hier und programmiere noch nicht lange BlitzBasic.
Meine Frage ist ob es möglich ist ein 2tes Fenster zu öffnen und wenn ja wie es geht.
Danke im Voraus.
Gruß Ed

Pummelie

BeitragMo, Dez 29, 2008 3:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, das kommt darauf an was für ein Fenster du meinst...
wenn du eine 2. Grafikfenster öffnen willst, gebe den Grafic befehl einfach nocheinmal ein.
Bei Blitz Plus Fenstern musst du einfach auch nur den Code wiederhohen zb.
Code: [AUSKLAPPEN]

; erstes fenster
win = createwindow("1. Fenster",300,300,100,200,wind1,33)
; zweites fenster
win2 = createwindow("2. Fenster",300,300,100,200,wind2,33)
;warten auf tasteneingabe
waitkey
;ende
end

wenn du aber so ein dos fenster oder wie man das auch immer nenen kann meinst, wüsste ich nicht, das man mehrere davon aufhaben haben kann.
It's done when it's done.

ozzi789

BeitragMo, Dez 29, 2008 11:29
Antworten mit Zitat
Benutzer-Profile anzeigen
2 Exes machen, also je 2 Programme schreiben und dan in den einem das andere mit execfile öffnen Wink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

Ed

BeitragMo, Dez 29, 2008 12:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich programmiere ein Textadventure und wollte die wichtigsten Werte wie z.B. Leben, Gold...
in einem extra Fenster anzeigen lassen das man beliebig verschieben kann.


Graphics 640, 480 ,32, 2
Graphics 320, 240 ,32, 2

Wenn man das macht wird das aktuelle Fenster einfach nur verkleinert.
Und wenn ich 2 exes mache kann man nicht in dem einen die Variablen aus dem anderen anzeigen oder?
Natürlich könnte man sie jedesmal in eine Datei schreiben und mit anderen wieder auslesen aber das ist mir zuviel Aufwand da ich in diesem Fenster ja nicht nur eine Variable anzeigen will sondern mehrere und die Gold oder Leben kann sich fast überall im Programm verändern.

Hier die aktuelle Version

Der Eisvogel

BeitragMo, Dez 29, 2008 12:33
Antworten mit Zitat
Benutzer-Profile anzeigen
http://east-power-soft.de/inde...codes_pipe
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

The_Nici

BeitragMo, Dez 29, 2008 12:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest eine Libary wie z.B. WinBlitz benutzen, um ein sogenanntes GUI, ein Graphical User Interface, zu erstellen.

MfG

tedy

BeitragMo, Dez 29, 2008 13:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest einfach einen Tcp Stream erstellen und deine Variablen darüber schiken wie Der Eisvogel schon sagte.
Das geht auch schnell genug
01010100 01100101 01000100 01111001 00100000 00111010 01000100
 

Ed

BeitragMo, Dez 29, 2008 14:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
also das mit dem NamedPipe versteh ich nicht.
Sry bin halt wirklich noch Anfänger.

@The_Nici ist es möglich das du einen Link dazu postest.

Gruß Ed

ozzi789

BeitragMo, Dez 29, 2008 14:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Das wirst du brauchen
https://www.blitzforum.de/help/?subcat=2


Pseudo Code

TCP Stream erstellen
Hauptprogramm schickt variabeln
Nebenfenster schickt bestätigung zurück

Total simpel eigentlich, schau dir doch die Beispiele an in der Hilfe Wink
mfg
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Der Eisvogel

BeitragMo, Dez 29, 2008 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, du musst die Datei "namedpipe.decls" in "deinBlitzVerzeichnis\userlibs" kopieren.

In deinem Hauptprogramm muss folgendes stehen:
Code: [AUSKLAPPEN]
If Not( Pipe_Create() ) Then RuntimeError("Server konnte nicht gestartet werden.") ;Hierwird die Verbindung geöffnet.

ExecFile("Lebensanzeige.exe")

Repeat

PipeWrite( "leb:"+leben% ) ;Hier wird das Leben gesendet.

;Code

Until KeyDown(1)

PipeDisconnect() ;Hier wird die Verbindung geschlossen.
End


Jetzt muss in dem Programm "Lebensanzeige.exe" das stehe:
Code: [AUSKLAPPEN]
If Not( Pipe_Connect() ) Then RuntimeError("Client konnte nicht verbunden werden.") ;Verbindung aufbauen

Repeat
If Pipe_DataAvail() Then
   msg$ = Pipe_Read$()
   If Upper$( msg$ ) = "EXIT" Then Exit ;Programm beenden
   If Left(msg$,4)="leb:" then leben%=Int(Mid(msg$,5,-1))
EndiIf

Text 10,10, leben% ;Leben ausgeben.

;Code

Until KeyDown(1)

PipeDisconnect() ;Verbindung schließen
End


Verständlich?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

Ed

BeitragMo, Dez 29, 2008 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Der sagt jetzt aber: "Function 'pipe_create' not found"
Was hab ich falsch gemacht?
Gruß Ed

ozzi789

BeitragMo, Dez 29, 2008 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Also, du musst die Datei "namedpipe.decls" in "deinBlitzVerzeichnis\userlibs" kopieren.


hast du das gemacht?
und die dll auch?

mfg
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Der Eisvogel

BeitragMo, Dez 29, 2008 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ups, ja du musst noch die "namedpipe.bb" includen.

Hauptprogramm:
Code: [AUSKLAPPEN]
Graphics 640,480,0,2
AppTitle "Hauptprogramm"
SetBuffer BackBuffer()

Include "namedpipe.bb"

If Not Pipe_Create() Then RuntimeError("Das Starten des Programms ist fehlgeschlagen, bitte versuchen sie es später nocheinmal.")

ExecFile("Lebensanzeige.exe")

Repeat
Cls

Text 10,10,"Sie haben "+gold+" Goldstücke."

If KeyHit(203) Then gold=gold-1
If gold<0 Then gold=0
If KeyHit(205) Then gold=gold+1

If gold<>gold_temp Then Pipe_Write("gold:"+gold)

gold_temp=gold_temp

Flip
Until KeyDown(1)
Pipe_Write("EXIT")
End



Lebensanzeige:
Code: [AUSKLAPPEN]
Graphics 320,240,0,2
AppTitle "Hauptprogramm"
SetBuffer BackBuffer()

Include "namedpipe.bb"

If Not Pipe_Connect() Then RuntimeError("Das Starten des Programms ist fehlgeschlagen, bitte versuchen sie es später nocheinmal.")

Repeat
Cls

Text 10,10,"Sie haben "+gold+" Goldstücke."

If Pipe_DataAvail() Then
   msg$=Pipe_Read$()
   If Upper$(msg$)="EXIT"Then Exit
   If Left(msg$,5)="gold:" Then gold=Int(Mid(msg$,6,-1))
End If

Flip
Until KeyDown(1)
End


Die Lebensanzeige muss du Compilieren, bevor du das Hauptprogramm startest.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

Ed

BeitragMo, Dez 29, 2008 15:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bekomme es irgendwie nicht hin. Kann mir wer sagen wie ich das hier machen müsste:
Code: [AUSKLAPPEN]
Include "Printl.bb"



;Version
version#= 0.56


AppTitle "Spiel " + version#
.start
SeedRnd MilliSecs()



Graphics 640, 480 ,32, 2


map = LoadImage("Map.bmp")
kreuz = LoadImage("Kreuz.bmp")



;Anfangswerte
leb1 = 50
nleb = leb1
scha1 = 12
gscha1 =scha1
ver1 = 3
gold = 100
se=0
erfahr = 0
level = 1
berfahr = 600
waffe$ = "Schwerer Ast"
ruestung$ = "Bürgerkleidung"
klasse$ = "Gildenlos"
bwaffe1=0
bwaffe2=0
waffenschaden = 1
bruestung1=0
bruestung2=0
ruestungspunkte=1
maxse=0


;Quests
Quest1=1
Quest2=1
Quest2A1=1




Cls
Locate 580,480
Print "v." + version#
Printl "Hallo"
Color 230,0,0
Print "Ein paar Hinweise:"
Color 255,255,255
Print ""
Print "1.Bitte wählen sie ihren Namen nicht länger als 10 Zeichen!!!"
Print "  Bei Missachtung kann das Spiel unspielbar werden!"
Print "2.Bugs und Verbesserungsvorschläge bitte hier: http://spiel.forumieren.de/forum.htm"
Print "3.Es kann nur ein Speicherstand angelegt werden."
Print "  Der alte Speicherstand wird überschrieben. Ich versuche das zu ändern."
Color 230,0,0
Print "4.An machen Orten kann man M eingeben um die Map zu öffnen"
Color 255,255,255
Print ""
Print "Ich wünsche noch viel Spaß"
Print "Gruß Ed"
Print ""
Print "Mit Enter geht es weiter!"
WaitKey
Cls

Printl "Wie ist dein Name? "
Name$ = Input ()
Cls
Printl name$ + " ist in einer Stadt"
Print name$ + " kann sich an nichts mehr erinnern"
WaitKey




;Stadt
.stadt

;Fehler, Gold < 0
If gold < 0 Then
Cls
Printe ("Gold:" + Gold,"")
Printl "Fehler: Weniger als 0 Gold"
Print "Falls sie diese Fehlermeldung sehen:"
Print "Benachrichtige mich bitte über diesen Fehler,"
Print "und sag mir wie du weniger als 0 Gold bekommen hast"
Print "legofilme@web.de"
WaitKey
Gosub ende
EndIf



Cls
Printe ("Gold:" + Gold,"Level:" + level)
Printl name$ + " ist in der Stadt und hat mehrere Möglichkeiten:"
Print ""
Print "end=Programm beenden"
Print "load=laden"
Print "save=speichern"
Print "1=Die Stadt verlassen"
Print "2=Zum Marktplatz"
Print "3=Tagebuch"
Print "4=Burg"
Print "5=Magierhaus"
Print "6=Bank"
Print ""
frage1$ = Input ("Was machst du?")





;Beenden
If frage1$ = "end" Then
.beenden
Cls
Printl "1=ja"
Print "2=nein"
frage13 = Input ("Wirklich beenden?")
If frage13 = 1 Then
Gosub ende

ElseIf frage13= 2 Then
Cls
Gosub stadt

Else
Cls
Gosub beenden
EndIf



Gosub ende

;Speichern
ElseIf frage1$ = "save" Then
Cls
Gosub speichern
WaitKey
Gosub stadt

;Laden
ElseIf frage1$ = "load" Then
Cls
Gosub laden
WaitKey
Gosub stadt

;Das Lager verlassen
ElseIf frage1$ = "1" Then
Gosub Gebietauswahl
Cls


;Map
ElseIf frage1$ = "m" Then
Cls
DrawImage map, 0,0
MaskImage kreuz, 255, 0, 0
DrawImage kreuz, 242,220
WaitKey
Cls
Gosub stadt




;Marktplatz
ElseIf frage1$ = "2" Then
Cls
Gosub Markt
WaitKey
Gosub stadt

;Tagebuch
ElseIf frage1$ = "3" Then
.tagebuch
Cls
Printe ("Gold:" + Gold,"Level:" + level)
Printl "1=zurück zur Stadt"
Print "2=Charaktereigenschaften"
Print "3=Quests"

frage2 =  Input ("Was möchtest du wissen?")

;zurück zur Stadt
If frage2 = 1 Then
Cls
Gosub Stadt

;Charaktereigenschaften
ElseIf frage2 = 2 Then
Cls

Tagebucherfahrung = berfahr-erfahr


 Printl "Du bist bei den/der " + klasse$ + "."
    Print ""
    Print "Du bist Level " +level + "."
    Print "Du brauchst noch " + Tagebucherfahrung + " Erfahrung bis zum nächsten Level."
    Print "Deine Waffe/n ist/sind:" + waffe$ + "."
    Print "Deine Rüstung ist eine " + ruestung$ + "."
    Print "Du hast " + gold + " Gold"
    Print "Du hast " + bankgold + " Gold auf der Bank"
   Print "Du hast " + se + " schwarzes Erz"
    Print ""
    WaitKey
    Cls
    Printl "Du hast:" + leb1 + " Lebenspunkte"
    Print "Du machst:" + scha1 + " Schaden"
    Print "Du hast:" + ver1 + " Verteidigung"
    WaitKey
Gosub tagebuch

;Quests
ElseIf Frage2 = 3 Then
    Cls
    Printl "Deine aktuellen Quests:"
    Print
If Quest1 = 1 Then
    Print "Steige auf Level 5 auf"
EndIf
   
If Quest2=3 Then
Print "Töte einen Orkspäher"
EndIf
WaitKey
    Cls
   
Gosub tagebuch



;Sonst zurück zum Tagebuch
Else
Cls
Gosub tagebuch
EndIf



;Burg
ElseIf frage1$ = "4" Then
Gosub Burg


;magierhaus
ElseIf frage1$ = "5" Then
Gosub magierhaus

;Bank
ElseIf frage1$ = "6" Then
Gosub Bank


ElseIf frage1$ = "marvin" Then
gold=gold+5000
Gosub stadt



;Falsche Eingabe
Else
Cls
Gosub stadt
EndIf

;Burg

.Burg
If level <5 Then
Cls
Printl "Du musst Level 5 sein um in die Burg zu kommen!"
WaitKey
Cls
Gosub stadt
EndIf
 
Cls
Printl "Du bist in der Burg"
Print ""
Print "1=zurück zur Stadt"
Print "2=Mit Lord Andre sprechen"
Print "3=Hütte"
frage3 = Input ("Was machst du?")
If frage3 = 1 Then
Cls
Gosub stadt


ElseIf frage3= 2 Then
.Andre
Cls

If Quest2=3 And Quest2A=2 And Quest2A1=1 Then
Quest2A1=2
Quest2=5
erfahr=erfahr+500
gold=gold+400
Cls
Printl "Du hast die Quest:"
Print "Töte einen Orkspäher, erfüllt"
Print "Du erhälst 400 Gold und 500 Erfahrung"
Gebiet$ = "Andre"
WaitKey
Cls
Gosub Erfahrung
EndIf


If Quest2 = 1 Then
Printl "Ich zahle dir 400 Gold wenn du einen Orkspäher tötest"
Print "1=zurück in die Burg"
EndIf

If Quest2 = 3 Or Quest2 =5 Then
Printl "1=zurück in die Burg"
EndIf

If klasse$ = "Gildenlos" Then
Print "2=Miliz beitreten"
EndIf

If Quest2 = 1 Then
Print "3=Quest annehmen"
EndIf



Print ""
frage7= Input ("Was machst du?")

If frage7 = 1 Then
Gosub Burg

ElseIf frage7=3 And Quest2=1 Then
Cls
printl "Töte einen Orkspäher"
Quest2=3
WaitKey
Gosub Stadt

;Gilde anschließen
ElseIf frage7= 2 And klasse$ = "Gildenlos" Then
Cls

;Schon in einer Gilde?
If Not klasse$ = "Gildenlos" Then
Cls
Printl "Du gehörst schon einer Gilde an."
WaitKey
Gosub Andre
EndIf

;Level 10
If level < 10 Then
Cls
Printl "Du must Level 10 erreichen um dich der Miliz anschließen zu können"
WaitKey
Gosub Andre
EndIf

;Miliz anschließen
Printl "Du schließt dich der Miliz an."
klasse$= "Miliz"
scha1 = scha1+10
leb1 =leb1+5
ver1=ver1+5
Print "Du bist jetzt bei der Miliz,"
Print "du bekommst jetzt eine Milizklinge und eine Milizrüstung."
WaitKey
Cls
Gosub Milizklinge




Else
Cls
Gosub Andre
EndIf

;Hütte
ElseIf frage3 = 3 Then
Gosub Hutte



Else
Cls
Gosub Burg
EndIf



;magierhaus
.magierhaus
If level < 5 Then
Cls
Printl "Du musst Level 5 sein um in das Magierhaus zu kommen!"
WaitKey
Cls
Gosub stadt
EndIf


Cls
Printe  ("Gold:" + Gold,"Level:" + level)

Printl "Du bist in dem Magierhaus."
Print ""
Print "1=zurück zur Stadt"
Print "2=Trank kaufen"
Print "3=Mit Milten reden"
frage5 = Input ("Was machst du?")
If frage5 = 1 Then
Cls
Gosub stadt

ElseIf frage5 = 2 Then
Gosub Trankekauf

ElseIf frage5 = 3 Then
Gosub Milten


Else
Cls
Gosub magierhaus
EndIf

.Trankekauf

Cls
Printe  ("Gold:" + Gold,"Level:" + level)

Printl "1=zurück zur Stadt"
Print "2=Stärketrank kaufen(400 Gold)(+1 Stärke)"
Print "3=Lebenstrank kaufen(500Gold)(+5 Lebenspunkte)"
Print ""
Frage6 = Input ("Was machst du?")


If Frage6 = 1 Then
Cls
Gosub stadt
EndIf

;Lebenstrank
If Frage6 = 3 Then


If gold <500 Then
Cls
Printl "Du hast nicht genug Gold"
WaitKey
Gosub Trankekauf
EndIf

If gold >= 500 Then
Cls
gold=gold-500
leb1=leb1+5
Printl "Deine Lebenspunkte wurden um 5 erhöht"
WaitKey
Gosub Trankekauf
EndIf
EndIf




;Stärketrank
If Frage6 = 2 Then

If gold < 400 Then
Cls
Printl "Du hast nicht genug Gold"
WaitKey
Gosub Trankekauf
EndIf

If gold >= 400 Then
Cls
gold=gold-400
scha1=scha1+1
Printl "Dein Schaden wurde um 1 erhöht"
WaitKey
Gosub Trankekauf
EndIf








Else
Cls
Gosub magierhaus
EndIf

;Milten
.Milten
Cls

Printl "1=zurück ins Magierhaus"

frage14 = Input ("Was machst du?")

If frage14 = 1 Then
Cls
Gosub Magierhaus

Else
Cls
Gosub Milten
EndIf






;Bank
.Bank
Cls


Printe ("Gold:" + Gold,"Bank:" + bankgold)
Printl "Du bist in der Bank"
Print ""
Print "1=zurück zur Stadt"
Print "2=Gold einzahlen"
Print "3=Gold abheben"

frage8 = Input ("Was machst du?")

If frage8 = 1 Then
Cls
Gosub stadt


;einzahlen
ElseIf frage8= 2 Then
.einzahlen
Cls

Printe ("Gold:" + Gold,"Bank:" + bankgold)

Printl "Die Bank behält 5% als Zinsen"
Print "Wie viel Gold möchtes du einzahlen?"
Print ""
goldeinzahlen =Input ()

If goldeinzahlen < 0 Then
Cls
Printl "Du Cheater"
WaitKey
Cls
Gosub einzahlen
EndIf
 
If goldebinzahlen > gold Then
Cls
Printl "Du hast nicht genug Gold!"
WaitKey
Gosub einzahlen
EndIf

gold = gold-goldeinzahlen

Zinsen = (goldeinzahlen / 100) * 5
bankgold = bankgold + goldeinzahlen-Zinsen
Cls
Printl "Du hast jetzt: " + bankgold + " Gold in der Bank"
WaitKey
Cls
Gosub bank

;abheben
ElseIf frage8=3 Then
.abheben
Cls

Printe ("Gold:" + Gold,"Bank:" + bankgold)
Printl "Wie viel Gold möchtest du abheben?"
Print ""

goldabheben = Input()

If goldabheben=0 Then
Cls
Gosub Bank
EndIf
If goldabheben > bankgold Then
Cls
Printl "Du hast nicht so viel Gold auf der Bank"
WaitKey
Gosub bank
EndIf

bankgold = bankgold - goldabheben
gold = gold + goldabheben

Cls
Printl "Du hebst " + goldabheben + " Gold von der Bank ab."
Print "Du hast noch " + bankgold + " auf der Bank"
WaitKey
Gosub bank






Else
Cls
Gosub Bank
EndIf









;Markt
.Markt
Cls

Printe  ("Gold:" + Gold,"Level:" + level)

    Printl "Was machst du?"
    Print
    Print "1=zurück zur Stadt"
    Print "2=Waffe kaufen"
    Print "3=Rüstung kaufen"
    Print "4=Schwarzes Erz verkaufen"
  Frage4 =  Input ("")
   
   
    If frage4 = 1 Then
        Cls
        Gosub Stadt
   
    ElseIf frage4=2 Then
                    Cls
                    Gosub Waffenwahl
                   

    ElseIf frage4=3 Then
        Cls
        Gosub ruestungwahl


ElseIf frage4=4 Then
Cls
Gosub severkauf
       
   
   Else
        Cls
        Gosub Markt
    End If
   
   
.Waffenwahl
Cls
   
Printe  ("Gold:" + Gold,"Level:" + level)

   

Printl "Welche Waffe möchtest du kaufen?"
Print "1=zurück zum Markt"
Print  "2=Rostiges Schwert 200 Gold"
Print  "3=Kurzschwert 600 Gold (Level 5)"
Print  "4=Grobes Schwert 3000 Gold (Level 10)"
Print "5=Schwert 5000 Gold (Level 15)"
Print "6=Langschwert 8000 Gold (Level 25)"
Print "7=Rubinklinge 20000 Gold (Level 40)"

        wahlwaffe = Input ("")
Cls
   
   
    If wahlwaffe = 1 Then
        Cls
        Gosub Markt


;Rostiges Schwert
ElseIf wahlwaffe = 2 Then


bwaffe2 = 1
neuwaffenschaden = 5
waffengold = 200
waffenlevel = 1
neuwaffe$ = "Rostiges Schwert" 
Gosub waffenpruefen


;Kurzschwert
ElseIf wahlwaffe = 3 Then


bwaffe2 = 2
neuwaffenschaden = 10
waffengold = 600
waffenlevel = 5
neuwaffe$ = "Kurzschwert" 
Gosub waffenpruefen


;Grobes Schwert
ElseIf wahlwaffe = 4 Then


bwaffe2 = 3
neuwaffenschaden = 15
waffengold = 3000
waffenlevel = 10
neuwaffe$ = "Grobes Schwert" 
Gosub waffenpruefen




;Schwert
ElseIf wahlwaffe = 5 Then


bwaffe2 = 4
neuwaffenschaden = 20
waffengold =5000
waffenlevel = 15
neuwaffe$ = "Schwert" 
Gosub waffenpruefen



;Langschwert
ElseIf wahlwaffe = 6 Then


bwaffe2 = 6
neuwaffenschaden = 25
waffengold =8000
waffenlevel = 25
neuwaffe$ = "Langschwert" 
Gosub waffenpruefen



;Rubinklinge
ElseIf wahlwaffe = 6 Then


bwaffe2 = 7
neuwaffenschaden = 40
waffengold = 20000
waffenlevel = 40
neuwaffe$ = "Rubinklinge" 
Gosub waffenpruefen


;Milizklinge
.Milizklinge
Milizklinge=1

bwaffe2 = 5
neuwaffenschaden = 30
waffengold =  0
waffenlevel = 0
neuwaffe$ = "Milizklinge" 
Gosub waffenpruefen







Else
Cls
Gosub Waffenwahl
EndIf






;Prüfen
.waffenpruefen
        If bwaffe2 =< bwaffe1 Then
            Printl "Du hast diese Waffe schon oder eine bessere Waffe"
            WaitKey
            Cls
            Gosub Waffenwahl
           
   
        ElseIf gold < waffengold Then
            Printl "Du hast nicht genug Gold!!!"
            WaitKey
            Cls
            Gosub Waffenwahl
 
ElseIf level < waffenlevel Then
Printl "Du must erst Level: " + waffenlevel + " erreichen!"
WaitKey
Gosub Waffenwahl
EndIf
   
   




.Neuewaffe

Cls       

       bwaffe1=bwaffe2
        gold=gold-waffengold
        scha1=scha1+neuwaffenschaden
        waffe$=neuwaffe$

Printl "Du legst deine alte Waffe weg!"
Print "Du verlierst: " + waffenschaden + " Schaden."
WaitKey
Cls
waffenschaden=neuwaffenschaden

If Not Milizklinge=1 Then

        Printl "Du hast dir " + neuwaffe$ + " gekauft."
EndIf

If Milizklinge=1 Then
Printl "Du hast die " + neuwaffe$ + " bekommen."
EndIf

        Print "Dein Schaden wurde um " + neuwaffenschaden + " erhöht!"
        WaitKey
        Cls
If Milizklinge=1 Then
Milizklinge=0
Gosub Milizruestung
EndIf

Gosub Stadt



. Ruestungwahl

Cls
   
Printe  ("Gold:" + Gold,"Level:" + level)

   

Printl "Welche Rüstung möchtest du kaufen?"
Print "1=zurück zum Markt"
Print  "2=Bauernkleidung 200 Gold"
Print  "3=leichte Lederrüstung 600 Gold (Level 5)"
Print  "4=Lederrüstung 3000 Gold (Level 10)"
Print "5=schwere Lederrüstung  5000 Gold (Level 15)"
Print "6=leichte Banditenrüstung 8000Gold (Level 25)"
Print "7=Banditenrüstung 20000 Gold (Level 40)"

        wahlruestung = Input ("")
Cls
   
   
    If wahlruestung = 1 Then
        Cls
        Gosub Markt


;Bauernkleidung
ElseIf wahlruestung = 2 Then


bruestung2 = 1
neuruestungspunkte = 5
ruestungsgold = 200
ruestungslevellevel = 1
neuruestung$ = "Bauernkleidung" 
Gosub ruestungpruefen


;leichte Lederrüstung
ElseIf wahlruestung = 3 Then


bruestung2 = 2
neuruestungspunkte = 10
ruestungsgold = 600
ruestungslevel = 5
neuruestung$ = "leichte Lederrüstung" 
Gosub ruestungpruefen



;Lederrüstung
ElseIf wahlruestung = 4 Then


bruestung2 = 3
neuruestungspunkte = 15
ruestungsgold = 3000
ruestungslevel = 10
neuruestung$ = "Lederrüstung" 
Gosub ruestungpruefen




;schwere Lederrüstung
ElseIf wahlruestung = 5 Then


bruestung2 = 4
neuruestungspunkte = 20
ruestungsgold = 5000
ruestungslevel= 15
neuruestung$ = "schwere Lederrüstung" 
Gosub ruestungpruefen

;leichte Banditenrüstung
ElseIf wahlruestung = 6 Then


bruestung2 = 6
neuruestungspunkte = 25
ruestungsgold = 8000
ruestungslevel= 25
neuruestung$ = "leichte Banditenrüstung" 
Gosub ruestungpruefen



;Banditenrüstung
ElseIf wahlruestung = 7 Then


bruestung2 = 7
neuruestungspunkte = 35
ruestungsgold = 20000
ruestungslevel= 40
neuruestung$ = "Banditenrüstung" 
Gosub ruestungpruefen


;Milizrüstung
.Milizruestung
Milizruestung=1

bruestung2 = 5
neuruestungspunkte = 30
ruestungsgold = 0
ruestungslevel= 0

neuruestung$ = "Milizrüstung" 
Gosub ruestungpruefen













Else
Cls
Gosub ruestungwahl
EndIf






;Prüfen
.ruestungpruefen
        If bruestung2 =< bruestung1 Then
            Printl "Du hast die Rüstung schon oder eine bessere Rüstung"
            WaitKey
            Cls
            Gosub ruestungwahl
           
   
        ElseIf gold < ruestungsgold Then
            Printl "Du hast nicht genug Gold!!!"
            WaitKey
            Cls
            Gosub ruestungwahl
 
ElseIf level < ruestungslevel Then
Printl "Du must erst Level: " + ruestungslevel + " erreichen!"
WaitKey
Gosub ruestungwahl
EndIf
   
   




.Neueruestung

Cls       

       bruestung1=bruestung2
        gold=gold-ruestungsgold
        ver1=ver1+neuruestungspunkte
        ruestung$=neuruestung$

Printl "Du legst deine alte Rüstung weg!"
Print "Du verlierst: " + ruestungspunkte + " Verteidigung "
WaitKey
Cls
ruestungspunkte=neuruestungspunkte

If Not Milizruestung=1 Then

        Printl "Du hast dir " + neuruestung$ + " gekauft."
EndIf

If Milizruestung=1 Then
Printl "Du hast die " + neuruestung$ + " bekommen."
EndIf


Print "Deine Verteidigung wurde um " + neuruestungspunkte + " erhöht!"
WaitKey
Cls

If Milizruestung=1 Then
Milizruestung=0
Gosub Andre
EndIf

Gosub Stadt




.SEverkauf
Cls

Printe  ("Gold:" + Gold,"SE:" + se)

Printl "1=zurück zum Markt"
Print  "2=Ein Schwarzes Erz verkaufen (+500 Gold)"

frage15 = Input ("Was machst du?")

If frage15 = 1 Then
Cls
Gosub Markt

ElseIf frage15 = 2 Then
Cls

;Kein Schwarzes Erz
If SE < 1 Then

Printe  ("Gold:" + Gold,"SE:" + se)
Printl "Du hast kein Schwarzes Erz!"

WaitKey
Gosub SEverkauf
EndIf

;Schwarzes Erz verkaufen
se=se-1
gold=gold+500


Printe  ("Gold:" + Gold,"SE:" + se)
Printl "Du verkaufst 1 SE und bekommst 500 Gold"
WaitKey
Gosub SEverkauf





Else
Cls
Gosub SEverkauf
EndIf





















;Gebietauswahl
. Gebietauswahl
Cls
reg=1

Printe  ("Gold:" + Gold,"Level:" + level)

Printl "1=zurück zur Stadt"
Print "2=in den Wald gehen"
Print "3=in das Orkgebiet gehen (Level 10)"
Print "4=zu den Drachen gehen (Level 20)"

frage9 = Input ("Was machst du?")

If frage9= 1 Then
Cls
Gosub stadt

ElseIf frage9 = 2 Then
Cls
Gosub wald1

ElseIf frage9 = 3 Then
Cls
Gosub orkgebiet

ElseIf frage9 = 4 Then
Cls
Gosub drachen

Else
Cls
Gosub Gebietauswahl
EndIf



;Orkgebiet
.Orkgebiet
Cls
Printe  ("Gold:" + Gold,"Level:" + level)

gebiet$ = "Orkgebiet"


If Level < 10 Then
Printl "Du must Level 10 sein um in das Orkgebiet zu kommen"
WaitKey
Cls
Gosub Gebietauswahl
EndIf

Printl "Was machst du?"
Print ""
Print "0=zurück zur Stadt"
Print "1=Gegen Orkspäher kämpfen"
Print "2=Gegen Ork kämpfen"
Print "3=Gegen Orkkrieger kämpfen"
Print "4=Gegen Orkelite kämpfen"

wahl2 = Input ("")

;Map
If KeyHit(50) Then
Cls
DrawImage map, 0,0
MaskImage kreuz, 255, 0, 0
DrawImage kreuz, 340,110
WaitKey
Cls
Gosub wald1
EndIf






If wahl2 = 0 Then
    Cls
Gosub stadt


ElseIf wahl2 = 1 Then
    Cls
    leb2=140
    scha2=50
    ver2=20
    gegner$= "Orkspäher"
    maxgold=350
    gerfahr=450
Quest2A = 1
    Gosub Kampf1


ElseIf wahl2 = 2 Then
    Cls
    leb2=180
    scha2=65
    ver2=30
    gegner$= "Ork"
    maxgold=400
    gerfahr=500
    Gosub Kampf1

ElseIf wahl2 = 3 Then
    Cls
    leb2=220
    scha2=75
    ver2=40
    gegner$= "Orkkrieger"
    maxgold=450
    gerfahr=550

    Gosub Kampf1


ElseIf wahl2 = 4 Then
    Cls
    leb2=240
    scha2=85
    ver2=50
    gegner$= "Orkelite"
    maxgold=500
    gerfahr=600

   Gosub Kampf1


Else
Cls
Gosub Orkgebiet
EndIf





;Drachen
.Drachen
Cls
Printe  ("Gold:" + Gold,"Level:" + level)

gebiet$ = "Drachen"


If Level < 20 Then
Printl "Du must Level 20 sein um in das Drachengebiet zu kommen"
WaitKey
Cls
Gosub Gebietauswahl
EndIf

Printl "Was machst du?"
Print ""
Print "0=zurück zur Stadt"
Print "1=Gegen Drachenechse kämpfen"
Print "2=Gegen Feuergolem kämpfen"
Print "3=Gegen Sumpfdrache kämpfen"
Print "4=Gegen Feuerdrache kämpfen"

wahl3 = Input ("")

;Map
If KeyHit(50) Then
Cls
DrawImage map, 0,0
MaskImage kreuz, 255, 0, 0
DrawImage kreuz, 300,380
WaitKey
Cls
Gosub wald1
EndIf







If wahl3 = 0 Then
    Cls
Gosub stadt


ElseIf wahl3 = 1 Then
.drachenechse
If sumpfdrache=1 Then
Sumpfdrache2=Sumpfdrache2+1
gebiet$= "drachenechse1"
EndIf

If Feuerdrache=1 Then
Feuerdrache2=Feuerdrache2+1
gebiet$= "drachenechse2"
EndIf


  Cls
    leb2=280
    scha2=100
    ver2=50
    gegner$= "Drachenechse"
    maxgold=550
    gerfahr=650
    Gosub Kampf1



ElseIf wahl3 = 2 Then
    Cls
    leb2=320
    scha2=120
    ver2=60
    gegner$= "Feuergolem"
    maxgold=600
    gerfahr=700
    Gosub Kampf1

ElseIf wahl3 = 3 Then

Cls
Sumpfdrache=1

Sumpfdrache2=1
Printl "Du gehst in einen Sumpf."
Print "Du siehst eine riesige Gestalt"
Print "Drachenechsen kommen auf dich zu!"
reg=0
WaitKey
Gosub Drachenechse

.sumpfdrache
If sumpfdrache2=5 Then
   Cls
    leb2=400
    scha2=140
    ver2=80
    gegner$= "Sumpfdrache"
    maxgold=1000
    gerfahr=2000
maxse=1
Printl "Nun ist es soweit"
Print "Der Sumpfdrache kommt auf dich zu"
Gebiet$= "Drachen"
WaitKey
Cls
Gosub Kampf1

ElseIf sumpfdrache2 < 5 Then
Gosub drachenechse

EndIf








ElseIf wahl3 = 4 Then
    Cls

Feuerdrache=1
Feuerdrache2=1

Printl "Du gehst in eine Höhle."
Print "Überall lieger Skelette herum."
Print "Du siehst eine riesige Gestalt."
Print "Drachenechsen kommen auf dich zu!"

reg=0
WaitKey
Gosub Drachenechse

.Feuerdrache
If feuerdrache2=5 Then
   Cls
    leb2=500
    scha2=160
    ver2=100
    gegner$= "Feuerdrache"
    maxgold=1500
    gerfahr=3000
maxse=2

Printl "Nun ist es soweit"
Print "Der Feuerdrache kommt auf dich zu"
WaitKey
Cls
Gebiet$= "Drachen"
    Gosub Kampf1

ElseIf Feuerdrache2 < 5 Then
Gosub drachenechse

EndIf


Else
Cls
Gosub Drachen
EndIf


















;Wald
.wald1
Cls

gebiet$ = "Wald"


Printe  ("Gold:" + Gold,"Level:" + level)
Printl "Was machst du?"
Print ""
Print "0=zurück zur Stadt"
Print "1=Gegen Scavenger kämpfen"
Print "2=Gegen Wolf kämpfen"
Print "3=Gegen Schattenläufer kämpfen"
Print "4=Gegen Skelett kämpfen"
Print "5=Gegen Skelettkrieger kämpfen"





wahl1 = Input ("")

;Map
If KeyHit(50) Then
Cls
DrawImage map, 0,0
MaskImage kreuz, 255, 0, 0
DrawImage kreuz, 200,90
WaitKey
Cls
Gosub wald1
EndIf





If wahl1 = 0 Then
    Cls
Gosub stadt



ElseIf wahl1 = 1 Then
    Cls
    leb2=40
    scha2=12
    ver2=2
    gegner$= "Scavenger"
    maxgold=30
    gerfahr=100
    Gosub Kampf1


ElseIf wahl1 = 2 Then
    Cls
    leb2=70
    scha2=18
    ver2=4
    gegner$= "Wolf"
    maxgold=60
    gerfahr=200
    Gosub Kampf1


ElseIf wahl1 = 3 Then
    Cls
    leb2=100
    scha2=30
    ver2=8
    gegner$= "Schattenläufer"
    maxgold=140
    gerfahr=300
    Gosub Kampf1


ElseIf wahl1 = 4 Then
    Cls
    leb2=120
    scha2=35
    ver2=12
    gegner$= "Skelett"
    maxgold=230
    gerfahr=350
    Gosub Kampf1



ElseIf wahl1 = 5 Then
    Cls
    leb2=140
    scha2=40
    ver2=17
    gegner$= "Skelettkrieger"
    maxgold=300
    gerfahr=400
    Gosub Kampf1








Else
Cls
Gosub wald1
EndIf


.Kampf1

If reg=1 Then
nleb1 = leb1
EndIf

nleb2 =leb2


Printk  (name$ + ":" + nleb1 + " Leben" ,Gegner$ + ":" + nleb2 + " Leben")
Printl name$  + " hat " + nleb1 + " Lebenspunkte"
Print "Der " +  gegner$ + " hat " + nleb2 + " Lebenspunkte"
Delay 1700
Cls

.Wiederholung

   gscha1 = Rnd (scha1/2, scha1)
   
gscha1 = gscha1-ver2

If gscha1 < 0 Then
    gscha1=0
EndIf

nleb2=nleb2-gscha1
If nleb2 > 0 Then
Printk  (name$ + ":" + nleb1 + " Leben" ,Gegner$ + ":" + nleb2 + " Leben")
EndIf

If gscha1= 0 Then
Printl name$ + " verfehlt " + gegner$ + "."
EndIf

If gscha1 >0 And gscha1<6 Then
Printl name$ + " streift " +gegner$ + " und macht " + gscha1 + " Schaden."
EndIf

 
If gscha1>=6 Then
X1= Rnd(1,5)
If X1 = 1 Then
Printl name$  + " greift an und macht " + gscha1 + " Schaden."

ElseIf X1=2 Then
Printl name$ + " verletzt den Gegner mit " + gscha1 + " Schaden."

ElseIf X1 =3 Then
Printl name$ + " haut drauf und macht " + gscha1 + " Schaden."

ElseIf X1 =4 Then
Printl name$ + " schlägt mit " + waffe$ + " zu und macht " +gscha1 + " Schaden."

ElseIf X1 =5 Then
Printl name$ + "trifft  den Gegner  und macht " +gscha1 + " Schaden."


EndIf
EndIf

If nleb2 < 1 Then

    Gosub gewonnen

EndIf

Print  gegner$  + " hat noch " + nleb2 + " Lebenspunkte"

Delay 1700
Cls


   gscha2= Rnd  (scha2/2, scha2)
 
gscha2=gscha2-ver1

If gscha2 < 0 Then
    gscha2 = 0
EndIf

nleb1=nleb1-gscha2
If nleb1 > 0 Then
Printk  (name$ + ":" + nleb1 + " Leben" ,Gegner$ + ":" + nleb2 + " Leben")
EndIf

If gscha2 = 0 Then
Printl gegner$ + " verfehlt " + name$ + "."
EndIf

If gscha2 >0 And gscha2<6 Then
Printl gegner$ + " streift " +name$ + " und macht " + gscha2 + " Schaden."
EndIf

If gscha2 >= 6 Then
X2= Rnd(1,2)

If X2 = 1 Then
Printl gegner$  + " greift an und macht " + gscha2 + " Schaden."

ElseIf X2=2 Then
Printl gegner$ + " verletzt " +name$ + " mit " + gscha2 + " Schaden."

EndIf
EndIf



If nleb1 < 1 Then

    Gosub verloren
End If

Print  name$ + " hat noch " + nleb1 + " Lebenspunkte"
Delay 1700
Cls
Gosub Wiederholung





.gewonnen


If Quest2A=1 And Quest2 = 3 Then
Quest2A=2
EndIf


   bgold = Rnd(maxgold/2, maxgold)
   
   gold=gold+bgold
erfahr=erfahr+gerfahr

maxse= Rnd(maxse)
se=se+maxse


Printe  ("Gold:" + Gold,"Level:" + level)

Print ""
Print "Du hast gewonnen"
Print "Du bekommst: " + bgold + " Gold"
Print "Du bekommst: " +gerfahr + " Erfahrung!"
If maxse > 0 Then
Print "Du findest:" +maxse + " schwarzes Erz"
EndIf


Delay 350

maxse=0
Gosub Erfahrung
 


.verloren

If Quest2A=1 Then
Quest2A=0
EndIf

gold=gold-gold


Print ""
Print "Du hast verloren!!!"
Print  "Du verlierst dein ganzes Gold"
Print "Du schleppst dich mit deinen letzten Kräften in die Stadt!"
WaitKey
Cls
Gosub Stadt


.Erfahrung

If erfahr >= berfahr Then
WaitKey
Cls
    erfahr=erfahr-berfahr
    leb1=leb1+5
    scha1=scha1+2
    ver1=ver1+1
    level=level+1
If level < 10 Then
    berfahr=berfahr+200

ElseIf level >= 10 And level < 20 Then
berfahr = berfahr +300

ElseIf level >= 20 Then
berfahr = berfahr +500

EndIf


    Printl "Du steigst auf Level " + level + " auf!"

    WaitKey


If Quest1=1 Then
If level= 5 Then
erfahr = erfahr+ 200

Cls
Printl "Du hast die Quest:"
Print "Steige auf Level 5 auf, abgeschlossen"
Print ""
Print "Du erhälst 200 Erfahrung"

Quest1 = 0


WaitKey
Gosub Erfahrung
EndIf
EndIf
    Cls

EndIf

Tagebucherfahrung = berfahr-erfahr
Print "Du brauchst noch " + Tagebucherfahrung + " Erfahrung bis zum nächsten Level."
WaitKey


If gebiet$ = "Wald" Then
Gosub wald1   

ElseIf gebiet$ = "Orkgebiet" Then
Gosub Orkgebiet

ElseIf gebiet$ = "Drachen" Then
Gosub Drachen

ElseIf gebiet$ = "Andre" Then
Gosub Andre


ElseIf gebiet$ = "drachenechse1" Then
Gosub Sumpfdrache

ElseIf gebiet$ = "drachenechse2" Then
Gosub Feuerdrache
EndIf


;Speichern
.speichern
Printl "Das Spiel wird gespeichert..."



datei = WriteFile("save.sv")

WriteInt datei, leb1
WriteInt datei,ver1
WriteInt datei,gold
WriteInt datei,bankgold
WriteInt datei,se
WriteInt datei,Truhengold
WriteInt datei,scha1
WriteInt datei,erfahr
WriteInt datei,level
WriteInt datei,berfahr
WriteInt datei,bwaffe1
WriteInt datei,bwaffe2
WriteInt datei,waffenschaden
WriteInt datei,ruestungspunkte
WriteInt datei,bruestung1
WriteInt datei,bruestung2
WriteInt datei,hutte
WriteInt datei,Quest1
WriteInt datei,Quest2
WriteInt datei,Quest2A1
WriteString datei,waffe$
WriteString datei,ruestung$
WriteString datei,klasse$
WriteString datei,Name$



Delay 2000
CloseFile datei
ChangeDir VerzeichnispfadAnfang$

Print "Gespeichert"
WaitKey
Gosub stadt






WaitKey
Gosub stadt


;Laden
.laden

rueckgabe = FileType("save.sv")

If rueckgabe = 0 Then
Cls
Printl "Datei konnte nicht geladen werden."
Print "Du musst erst ein Savegame erstellen bevor du Laden kannst."
WaitKey
Cls
Gosub stadt
EndIf



Printl "Datei wird geladen..."


datei = ReadFile("save.sv")
leb1=ReadInt(datei)
ver1= ReadInt(datei)
gold = ReadInt(datei)
bankgold = ReadInt(datei)
se=ReadInt(datei)
truhengold=ReadInt(datei)
scha1=ReadInt(datei)
erfahr= ReadInt(datei)
level= ReadInt(datei)
berfahr = ReadInt(datei)
bwaffe1= ReadInt(datei)
bwaffe2= ReadInt(datei)
waffenschaden= ReadInt(datei)
ruestungspunkte=ReadInt(datei)
bruestung1= ReadInt(datei)
bruestung2= ReadInt(datei)
hutte=ReadInt(datei)
Quest1=ReadInt(datei)
Quest2=ReadInt(datei)
Quest2A1=ReadInt(datei)
waffe$=ReadString$(datei)
ruestung$=ReadString$(datei)
klasse$=ReadString$(datei)
name$=ReadString$(datei)

gscha1 =scha1
nleb = leb1


CloseFile datei

Delay 2000
Cls
Printl "Datei geladen"
WaitKey
Gosub stadt





.Hutte
Cls

If Hutte = 0 Then
Printe ("Gold:" + Gold,"Level:" + level)
Printl "Du hast noch keine Hütte"
Print ""
Print "Eine Hütte kostet 20000 Gold.
Print "Möchtest du eine Hütte kaufen?
Print "1=Nein (zurück in die Burg)"
Print "2=Ja (20000 Gold)"

frage10 = Input ("")

If frage10=1 Then
Cls
Gosub burg
ElseIf Frage10 = 2 Then

;nicht genug Gold
If gold < 20000 Then
Printl "Du hast nicht genug Gold"
WaitKey
Gosub Hutte
EndIf

;Hütte kaufen
Printl "Du kaufst eine Hütte"
gold = gold-20000
Hutte=1
WaitKey
Gosub Hutte



Else
Cls
Gosub Hutte
EndIf
EndIf



;In der Hütte
Cls
Printe ("Gold:" + Gold,"Gold in der Truhe " + truhengold)
Printl "Du bist in deiner Hütte"
Print ""
Print "1=zurück zur Burg"
Print "2=Truhe"

frage11=Input ("Was machst du?")


If frage11= 1 Then
Cls
Gosub burg
EndIf


;Truhe
If frage11 = 2 Then
.Truhe
Cls


Printe ("Gold:" + Gold,"Gold in der Truhe " + truhengold)
Printl "Du bist bei der Truhe"
Print ""
Print "1=zurück zur Hütte"
Print "2=Gold in din Tuhe legen"
Print "3=Gold aus der Truhe nehmen"

frage12 = Input ("Was machst du?")

If frage12 = 1 Then
Cls
Gosub Hutte



;einzahlen
ElseIf frage12 = 2 Then
.einzahlen2
Cls

Printe ("Gold:" + Gold,"Gold in der Truhe " + truhengold)


Printl "Wie viel Gold möchtes du lagern?"
Print ""
goldeinzahlen2 =Input ()

If goldeinzahlen2 < 0 Then
Cls
Printl "Du cheater"
WaitKey
Cls
Gosub einzahlen2
EndIf
 
If goldebinzahlen2 > gold Then
Cls
Printl "Du hast nicht genug Gold!"
WaitKey
Gosub einzahlen2
EndIf

gold = gold-goldeinzahlen2


truhengold = truhengold + goldeinzahlen2
Cls
Printl "Du hast jetzt: " + truhengold + " Gold in der Bank"
WaitKey
Cls
Gosub Truhe

;abheben
ElseIf frage12 = 3 Then
.abheben2
Cls

Printe ("Gold:" + Gold,"Gold in der Truhe " + truhengold)
Printl "Wie viel Gold möchtest du mitnehmen?"
Print ""

goldabheben2 = Input()

If goldabheben2=0 Then
Cls
Gosub Truhe
EndIf
If goldabheben2 > Truhengold Then
Cls
Printl "Du hast nicht so viel Gold in der Truhe"
WaitKey
Gosub Truhe
EndIf

Truhengold = Truhengold - goldabheben2
gold = gold + goldabheben2

Cls
Printl "Du nimmst " + goldabheben2 + " Gold aus der Truhe."
Print "Du hast noch " + Truhengold + " in der Truhe"
WaitKey
Gosub Truhe
EndIf
EndIf




;Fehler, Falsches Ende

Cls
Printl "Fehler: Falsches Ende"
Print "Falls sie diese Fehlermeldung sehen:"
Print "Benachrichtige mich bitte darüber und sag mir was du als letztes gemacht hast."
Print "legofilme@web.de"
WaitKey
Gosub ende










WaitKey
.ende
End


Danke für die Hilfe

Gruß Ed

Der Eisvogel

BeitragMo, Dez 29, 2008 15:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Was kommt für ne Meldung? Geht es mit meinem oben geposteten Beispiel?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

Ed

BeitragMo, Dez 29, 2008 15:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Also wenn ich das mache Funktioniert das Hauptprogramm nicht mehr richtig(einige Zeilen Fehlen)
und das Gold wird nicht aktuallisiert

Der Eisvogel

BeitragMo, Dez 29, 2008 15:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Kannst du mir vlt ne Download-Verion hochladen, damit ich die bildchen habe? Um es auszuprobieren Wink
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

Ed

BeitragMo, Dez 29, 2008 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier:

hier klicken

Gruß Ed

Der Eisvogel

BeitragMo, Dez 29, 2008 16:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Sachen haben doch noch garnix mit der Pipe zu tun. und es sind auch keine 2 Programme oder?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

Ed

BeitragMo, Dez 29, 2008 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
nein haben sie nicht mehr. Ich wollte eigentlich nur wissen wie ich das einfüge weil als ich das versucht habe hat es ja gar nicht funktioniert.

Soll ich das nochmal so machen wie ich das hatte?

Gruß Ed

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group