Neues Fenster öffnen
Übersicht

EdBetreff: Neues Fenster öffnen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
2 Exes machen, also je 2 Programme schreiben und dan in den einem das andere mit execfile öffnen ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Ed |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntest eine Libary wie z.B. WinBlitz benutzen, um ein sogenanntes GUI, ein Graphical User Interface, zu erstellen.
MfG |
||
![]() |
tedy |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() mfg |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Der sagt jetzt aber: "Function 'pipe_create' not found"
Was hab ich falsch gemacht? Gruß Ed |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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:" 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 "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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also wenn ich das mache Funktioniert das Hauptprogramm nicht mehr richtig(einige Zeilen Fehlen)
und das Gold wird nicht aktuallisiert |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kannst du mir vlt ne Download-Verion hochladen, damit ich die bildchen habe? Um es auszuprobieren ![]() |
||
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hier:
hier klicken Gruß Ed |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group