problemchen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

grafe

Betreff: problemchen

BeitragFr, Nov 14, 2008 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo zusammen,
in meinem text adventure hab ich ein problem und es wäre nett wen ihr mir helfen würdet.

hier mal den
Code: [AUSKLAPPEN]

;menü
Include "menue\menü.bb"


;--------

.label1
Graphics 1024,768,32,2

SetBuffer BackBuffer()

;Bilder
Global weizen=LoadImage("bilder\weizenfeld.jpg")
ScaleImage weizen,2.7,2.8
Global rahmen=LoadImage("bilder\rahmen.bmp")
ScaleImage rahmen,2.3,1.1

;buttons
Global menubutton=LoadImage("bilder\buttonmenü.bmp")

Global menubuttonnegativ=LoadImage("bilder\buttonmenünegativ.bmp")
;schriften
Global font1=LoadFont("Fonts\dearjoeitalic")
;cursor
Global cursor1=LoadImage("bilder\cursor.bmp")
ScaleImage cursor1,0.5,0.5

Global mx=MouseX
Global my=MouseY
;werte
Global nett=0
Global gold=0
Global hunger=0





Repeat
Cls
anfang()

Flip
Until KeyDown(1)


;anfang----------
Function anfang()
bilder()
Locate 0,200
werte()
Print"        text"
Print""
;Delay 10000

t1=Input("        :")
Cls
 
If t1=2 Then
nett=nett+1
Fruhstuck()
EndIf

If t1=1 Then
nett=nett-1
hunger=hunger+1
schlafen()

Else
ANFANG()
EndIf
End Function

Function Fruhstuck()
bilder()
Locate 0,200
werte()
Print"        text"
Print""
;Delay 10000

t2=Input("        Was guckst du nur so rum? Schreib endlich! Ist ja nur eine Zahl=")
Cls
If t2=1 Then
nett=nett-1
hunger=hunger+1
schlafen()
ElseIf t2=2 Then
nett=nett+1
hunger=hunger+1
fruhstuckgehen()

Else
fruhstuck() 

EndIf

End Function

Function schlafen()
bilder()
Locate 40,200
werte()
Print"        text"
Print""
;Delay 10000

t3=Input("        was wirst du tun??")
Cls
If t3=1 Then
nett=nett+1
fruhstuckgehen()
EndIf
If t3=2 Then
nett=nett-1
prugel()
EndIf
If t3=3 Then
hunger=hunger+1
nett=nett-1
abhauen1()

Else
schlafen()
EndIf
End Function

Function prugel()
bilder()
Locate 40,200
werte()
Print"        text"
Print""
;Delay 10000

t7=Input(":")
Cls
If t7=1 Then
nett=nett+1
hunger=hunger+1
prugeleinstecken()
EndIf
If t7=2 Then
hunger=hunger+1
abhauen1()
EndIf
If t7=>2 Then
prugel()
Else
prugel()
EndIf
End Function

Function prugeleinstecken()
bilder()
Locate 40,200
werte()
Print"        text"
;Delay 10000

t9=Input(        "-----------------------------------")
Cls
If t9=1 Then
fruhstuckgehen()

Else
prugeleinstecken()
EndIf
End Function

Function fruhstuckgehen()
bilder()
Locate 0,200
werte()
Print"        text"
;Delay 10000

t4=Input("        wohin gehst du??")
Cls
If t4=1 Then
hunger=hunger+2
nett=nett+1
apfelernte()
EndIf
If t4=2 Then
hunger=hunger+1
nett=nett-1
abhauen2()

Else
fruhstuckgehen()
EndIf
End Function

Function abhauen1()
bilder()
Locate 0,200
werte()
Print"        text"
;Delay 10000

t5=Input("        was sols sein?(nimm die 2!!)")
Cls
If t5=1 Then
hunger=hunger+1
nett=nett+1
apfelernte()
EndIf
If t5=2 Then
hunger=hunger+1
nett=nett-1
abhauen2()

Else
abhauen1()
EndIf
End Function

Function apfelernte()
bilder()
Locate 0,200
werte()
Print"        text"
;Delay 10000

t12=Input("        =")
Cls

If t12=1 Then
gold=gold+1
nett=nett+1
apfelgeben()

ElseIf t12=2 Then
hunger=hunger-5
nett=nett-1
abhauen2()

Else
apfelernte()
EndIf

End Function


Function apfelgeben()
bilder()
Locate 0,200
werte()
Print"        text"
;Delay 25000

tg1=Input("        :")
Cls
If tg1=1 Then
nett=nett+1
hunger=hunger+2
acker()
EndIf
If tg1=2 Then
essen()
EndIf
If tg1=3 Then
hunger=hunger+1
abhauen2()
EndIf
End Function

Function abhauen2()
bilder()
Locate 0,200
werte()
Print"        text"
Print""
;Delay 10000

t6=Input("        :")
Cls
If t6=1 Then
blick()
EndIf
If t6=2 Then
nett=nett-1
hunger=hunger+1
abhauen3()

Else
abhauen2()
EndIf
End Function


Function blick()
bilder()
Locate 0,200
werte()
Print"        text"
;Delay 10000

t8=Input("        =")
If t8=1 Then
hunger=hunger+1
nett=nett+1
End
EndIf
If t8=2 Then
hunger=hunger+1
nett=nett-1
End

Else
blick()
EndIf
End Function


Function acker()
bilder()
Locate 0,200
werte()
Print"        text"
Print"               "
;Delay 10000

tg2=Input("        :")
Cls
If tg2=1 Then
belohnungnetnehmen()
EndIf
If tg2=2 Then
hunger=hunger-10
pilze()
EndIf
If tg2=3 Then
End
EndIf

End Function

Function essen()
bilder()
Locate 0,200
werte()
Print"        text"
;Delay 10000

tg4=Input("        =")
Cls
If tg4=1 Then
hunger=hunger-5
acker()
EndIf
If tg4=2 Then
hunger=hunger-5
nett=nett-2
abhauen2()
EndIf
End Function



Function belohnungnetnehmen()
bilder()
Locate 0,200
werte()
Print"        text"
;Delay 10000

tg5=Input("        =")
Cls
If tg5=1 Then
nett=nett+8
hunger=hunger+1000
EndIf
If tg5=2 Then
hunger=hunger-10
pilze()
EndIf

End Function



Function pilze()
bilder()
Locate 0,200
werte()
Print"        text"

Delay 10000

tg6=Input("         :")
If tg6=1 Then
nett=nett-1
End
EndIf

If tg6=2 Then
nett=nett+1
End
EndIf

End Function



Function abhauen3()
End
End Function


Function werte()

Text 0,0,"Nett="+nett
Text 60,0,"Gold="+gold
Text 120,0,"Hunger="+hunger
If hunger=>6 Then
verhungert()
EndIf
End Function

;bilder-----------------------------------------------
Function bilder()
;schrift

;hintergrund
TileImage weizen

;teile hintergrund
Color  1,1,1
Rect 0,0,1024,20,1
Rect 0,170,850,280,1

;rahmen
DrawImage rahmen,0,160

;buttons
DrawImage menubutton,900,0
If ImagesCollide (cursor1,mx,my,0,menubutton,900,600,0) And MouseHit(1) Then
End
EndIf

DrawImage cursor1,mx,my

Color 255,255,255
End Function
;-----------------------------------------------------

Function beispiel()
bilder()
Locate 0,200
werte()
Print"        "
Print"        "
Print"        "
Print"        "
Print"        "
Print"        "
Print"        "
Delay 10000


End Function

Function verhungert()
Locate 200,200
Print"Du bist Verhungert!! Mit 1 kommst du zum Menü"

tot1=Input("          :")

If tot1=1 Then
menue()
EndIf

End Function

Function menue()
Include "menue\menü.bb"
End Function


also mein problem ist wen man verhungert und dann die 1 klickt kommt anstatt das menü die funktion fruhstuck.

BladeRunner

Moderator

BeitragFr, Nov 14, 2008 19:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Da Du immer noch nicht einrückst: null Chance.
EDIT: Noch dazu ist Problemchen nicht unbedingt ein hilfreicher Threadtitel.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

grafe

BeitragFr, Nov 14, 2008 19:08
Antworten mit Zitat
Benutzer-Profile anzeigen
was einrücken??
und was sollte ich anstatt problemchen schreiben^^
 

DjDETE

BeitragFr, Nov 14, 2008 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich mich recht erinnere wurde dir schon öfters erklärt, wie man Code einrückt:
Code: [AUSKLAPPEN]
Repeat
 Print "Eingerückt"
Forever

MfG DeTe
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.

The_Nici

BeitragFr, Nov 14, 2008 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
DjDETE, nicht mit Leerschlag, sondern mit dem Tabulator!

BladeRunner

Moderator

BeitragFr, Nov 14, 2008 19:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Deinen Code einrücken, selbstredend. So wie er jetzt ist ist er unübersichtlich deluxe.
Gewöhn dir an zusammengehörende Blöcke auch optisch zusammenzufassen:
Code: [AUSKLAPPEN]
for a = 1 to 10
    if a = 6
        print a
    endif
next


Und als Threadtitel wäre zB "Fehlerhafter Funktionsaufruf" ne Idee.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

DjDETE

BeitragFr, Nov 14, 2008 19:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich mach es mit Leerzeichen, ich denke da es um Übersichtlichkeit geht, ist auch das Leerzeichen in Ordnung. Vor allem weil wenn man den Tabulator benutzt, man schnell über die Bildschirmbreite hinausschreibt, was nicht wirklich zur Übersichtlichkeit führt.
MfG DjDETE
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.
 

Ava

Gast

BeitragFr, Nov 14, 2008 19:27
Antworten mit Zitat
DjDETE hat Folgendes geschrieben:
Ich mach es mit Leerzeichen, ich denke da es um Übersichtlichkeit geht, ist auch das Leerzeichen in Ordnung. Vor allem weil wenn man den Tabulator benutzt, man schnell über die Bildschirmbreite hinausschreibt, was nicht wirklich zur Übersichtlichkeit führt.
MfG DjDETE


Das ist keine vernünftige Alternative - eher eine schlechte Angewohnheit ... aber jedem das Seine

Xeres

Moderator

BeitragFr, Nov 14, 2008 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
@DjDETE:
Genau deshalb kann man in dem Editor seiner Wahl die TAB-länge einstellen, damit's jeder so sieht wir er es gern hat.

@grafe:
Der Funktionswald hilft einem da nicht durch zu sehen - selbst wenn alles eingerückt ist (was nebenbei bemerkt IDEal automatisch macht).
Ich würde mit bb nie ein Textadventure schreiben, besonders nicht, wenn es sich um kein Lineares Multiple-choice handelt, wo 2 von 3 Antworten zum Tod des Abenteurers führen, was noch relativ zu überblicken wäre.
Richtige Textadventures (mit parser) kann man auf Deutsch mit TAG wunderbar realisieren.

und:
Code: [AUSKLAPPEN]
Function menue()
   Include "menue\menü.bb"
End Function

Die Funktions-Definition gehört komplett in menü.bb, man Includiert Code 1x und ruft nur die Funktionen auf die darin stehen.
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)

grafe

BeitragFr, Nov 14, 2008 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
ok danke
sry wegen dem unübersichtlichen code^^

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group