was is hier falsch
Übersicht

der anfängerBetreff: was is hier falsch |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Type RaumTyp
Field Name$ Field Nr Field Richtung[3] End Type Type SpielerTyp Field Name$ Field Ort Field Leben End Type Type GegenstandTyp Field Name$ Field Nr Field Ort End Type Const Nord=0 Const Sued=1 Const West=2 Const Ost =3 Const AdvKennung$="MiniAdvSpiel" Global RichtungsName$[3] RichtungsName[0]=" Norden" RichtungsName[1]=" Süden" RichtungsName[2]=" Westen" RichtungsName[3]=" Osten" Type RaumTyp Field Name$ Field Nr Field Richtung[3] End Type Type SpielerTyp Field Name$ Field Ort Field Leben End Type Type GegenstandTyp Field Name$ Field Nr Field Ort End Type Global Raum.RaumTyp Global Spieler.SpielerTyp Global Gegenstand.GegenstandTyp Const Gegenstand_Hat_Spieler=0 Const Keine_Tuer=0 ; Name$ Nr ,N ,S ,W ,O CreateRaum "Ziel" ,-1 , 0, 0, 0, 0 CreateRaum "Küche" , 4 , 0, 3, 0,-1 CreateRaum "Stube" , 3 , 4, 0, 0, 2 CreateRaum "BadeZimmer", 2 , 0, 0, 3, 1 CreateRaum "Keller" , 1 ,-2, 0, 2,-3 CreateRaum "Abgrund" ,-2 , 0, 0, 0, 0 CreateRaum "Teufel" ,-3 , 0, 0, 0, 0 CreateGegenstand "Schweizer Taschenmesser",1,Gegenstand_Hat_Spieler CreateGegenstand "Kochtopf" ,2,4 CreateGegenstand "Foto" ,3,3 SpielerName$=Input("Name: ") CreateSpieler SpielerName$,2,3 Graphics 640,480,0,2 Spiel Function Spiel() Repeat SpielerInfo Eingabe$=Input$() verb$=Mid$(Eingabe$,1,Instr(Eingabe$+" ", " ")-1) objekt$=Mid$(Eingabe$,Instr(Eingabe$+" ", " ")+1) Select Lower$(verb$) Case "n","8" SpielerGeheNach Nord Case "s","2" SpielerGeheNach Sued Case "w","4" SpielerGeheNach West Case "o","6" SpielerGeheNach Ost Case "gehe" Select Lower$(objekt$) Case "nord" SpielerGeheNach Nord Case "süd", "sued" SpielerGeheNach Sued Case "west" SpielerGeheNach West Case "ost" SpielerGeheNach Ost End Select Case "save","speichern","speicher" SpielSpeichern objekt$ Case "speichereals" If Len(objekt$)>0 Then SpielSpeichern objekt$ EndIf Case "load","laden","lade" SpielLaden objekt$ Case "nimm" Nimm objekt$ Case "leg" Leg objekt$ Case "inventar" inventar Case "end","ende" Case "help","hilfe","?" End Select Forever End Function Function Hilfe() Print "Mein Befehlswortschatz umfasst folgende Kommandos:" Print "gehe nord|süd|west|ost oder Abkürzung n|s|w|o" Print "nimm|leg <Gegenstand>" Print "inventar|hilfe" Print "speichereals|lade <dateiname.erw>" End Function Function SpielLaden(objekt$) If Len(objekt$)>0 Then If Instr(objekt$,".")>0 Then FileNr=ReadFile(objekt$) Else FileNr=ReadFile(objekt$+".dat") EndIf EndIf If FileNr=0 Then FileNr=ReadFile("Save.dat") EndIf If FileNr<>0 Then If Not Eof(FileNr) Then Kennung$=ReadLine(FileNr) EndIf If Kennung$=AdvKennung$ Then If Not Eof(FileNr) Then SpeicherArt$=Upper$(ReadLine(FileNr)) EndIf If SpeicherArt$="BIN" Or SpeicherArt$="ASC" Then For Raum =Each RaumTyp Delete Raum Next For Gegenstand=Each GegenstandTyp Delete Gegenstand Next For Spieler=Each SpielerTyp Delete Spieler Next RaumName$=ReadLine(FileNr) While Len(RaumName$)>0 Raum =New RaumTyp Raum\Name$ = RaumName$ Select SpeicherArt$ Case "BIN" Raum\Nr = ReadInt(FileNr) Raum\Richtung[0]= ReadInt(FileNr) Raum\Richtung[1]= ReadInt(FileNr) Raum\Richtung[2]= ReadInt(FileNr) Raum\Richtung[3]= ReadInt(FileNr) Case "ASC" Raum\Nr = ReadLine(FileNr) Raum\Richtung[0]= ReadLine(FileNr) Raum\Richtung[1]= ReadLine(FileNr) Raum\Richtung[2]= ReadLine(FileNr) Raum\Richtung[3]= ReadLine(FileNr) End Select RaumName$ = ReadLine(FileNr) Wend GegenstandName$=ReadLine(FileNr) While Len(GegenstandName$)>0 Gegenstand=New GegenstandTyp Gegenstand\Name$= GegenstandName$ Select SpeicherArt$ Case "BIN" Gegenstand\Nr = ReadInt(FileNr) Gegenstand\Ort = ReadInt(FileNr) Case "ASC" Gegenstand\Nr = ReadLine(FileNr) Gegenstand\Ort = ReadLine(FileNr) End Select GegenstandName$ = ReadLine(FileNr) Wend SpielerName$=ReadLine(FileNr) While Len(SpielerName$)>0 Spieler= New SpielerTyp Spieler\Name$=SpielerName$ Select SpeicherArt$ Case "BIN" Spieler\Ort = ReadInt(FileNr) Spieler\Leben= ReadInt(FileNr) Case "ASC" Spieler\Ort = ReadLine(FileNr) Spieler\Leben= ReadLine(FileNr) End Select SpielerName$ = ReadLine(FileNr) Wend Spieler=First SpielerTyp EndIf Cls Locate 0,0 Print "Spielstand geladen!" Print "" EndIf CloseFile FileNr EndIf End Function Function SpielSpeichern(objekt$) If Len(objekt$)>0 Then If Instr(objekt$,".")>0 Then FileNr=WriteFile(objekt$) Else FileNr=WriteFile(objekt$+".dat") EndIf EndIf If FileNr=0 Then FileNr=WriteFile("Save.dat") EndIf If FileNr<>0 Then WriteLine FileNr,AdvKennung$ WriteLine FileNr,"BIN" For Raum =Each RaumTyp WriteLine FileNr, Raum\Name$ WriteInt FileNr, Raum\Nr WriteInt FileNr, Raum\Richtung[0] WriteInt FileNr, Raum\Richtung[1] WriteInt FileNr, Raum\Richtung[2] WriteInt FileNr, Raum\Richtung[3] Next WriteLine FileNr,"" For Gegenstand=Each GegenstandTyp WriteLine FileNr, Gegenstand\Name$ WriteInt FileNr, Gegenstand\Nr WriteInt FileNr, Gegenstand\Ort Next WriteLine FileNr,"" For Spieler=Each SpielerTyp If Spieler\Name$="" Then WriteLine FileNr, "Spieler" Else WriteLine FileNr, Spieler\Name$ EndIf WriteInt FileNr, Spieler\Ort WriteInt FileNr, Spieler\Leben Next WriteLine FileNr,"" Spieler=First SpielerTyp CloseFile FileNr Print "Spielstand gespeichert!" Print "" EndIf End Function Function SpielerInfo() For Raum=Each RaumTyp If Raum\Nr=Spieler\Ort Then Print "Sie befinden sich im/in der "+Raum\Name$ Print "Mögliche Gehrichtungen:" For Richtung=0 To 3 If Raum\Richtung[Richtung]<>Keine_Tuer Then Print RichtungsName[Richtung] End If Next Print "Gegenstände in diesem Raum:"; For Gegenstand=Each GegenstandTyp If Spieler\Ort=Gegenstand\Ort Then Print " "+ Gegenstand\Name$ GegenstandZahl = GegenstandZahl+1 End If Next If GegenstandZahl = 0 Then Print " keine" End If End If Next End Function Function Nimm(objekt$) For Gegenstand=Each GegenstandTyp If Lower$(Gegenstand\Name$)=Lower$(objekt$) Then If Gegenstand\Ort=Spieler\Ort Then Gegenstand\Ort=Gegenstand_Hat_Spieler Print Gegenstand\Name$+ " aufgelesen" End If End If Next End Function Function Leg(objekt$) For Gegenstand=Each GegenstandTyp If Lower$(Gegenstand\Name$)=Lower$(objekt$) Then If Gegenstand\Ort=Gegenstand_Hat_Spieler Then Gegenstand\Ort=Spieler\Ort Print Gegenstand\Name$+ " abgelegt" End If End If Next End Function Function inventar() For Gegenstand=Each GegenstandTyp If Gegenstand_Hat_Spieler=Gegenstand\Ort Then Print " "+ Gegenstand\Name$ GegenstandZahl = GegenstandZahl+1 End If If GegenstandZahl = 0 Then Print " keine" End If Next End Function Function SpielerGeheNach(Richtung) For Raum=Each RaumTyp If Raum\Nr=Spieler\Ort Then If Raum\Richtung[Richtung]<>Keine_Tuer Then Spieler\Ort=Raum\Richtung[Richtung] End If End If Next End Function Function DeleteGegenstand(Name$) For Gegenstand=Each GegenstandTyp If Gegenstand\Name$=Name$ Then Delete Gegenstand Exit EndIf Next End Function Function CreateGegenstand(Name$,Nr,Ort) Gegenstand=New GegenstandTyp Gegenstand\Name$=Name$ Gegenstand\Nr =Nr Gegenstand\Ort =Ort End Function Function CreateSpieler(Name$,Ort,Leben) Spieler=New SpielerTyp Spieler\Name$=Name$ Spieler\Ort =Ort Spieler\Leben=Leben End Function Function CreateRaum(Name$,Nr,Richtung_Nord,Richtung_Sued,Richtung_West,Richtung_Ost) Raum=New RaumTyp Raum\Name$ =Name$ Raum\Nr =Nr Raum\Richtung[Nord] =Richtung_Nord Raum\Richtung[Sued] =Richtung_Sued Raum\Richtung[West] =Richtung_West Raum\Richtung[Ost ] =Richtung_Ost End Function |
||
der anfänger |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
es geht irgendwie net ![]() ![]() ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
1. Code Tags bitte nutzen
2. Titel künftig aussagekräftige titel geben die dein problem "beschreiben", sonst wird er direkt getrasht, weil andere ihn sonst nicht finden wenn sie das gleiche problem haben, er also für die community keine bedeutung hat. 3. Was geht genau nicht. Wenn du nicht sagen kannst was nicht geht und was es machen soll können wir dir nicht helfen, wir sind keine hellseher. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Blitzprogger |
![]() Antworten mit Zitat ![]() |
---|---|---|
es wird zweimal ein gleicher typ erstellt (hier sind es jetzt: RaumTyp,SpielerTyp und GegenstandTyp) diese types (ganz oben bei dir) einfach löschen
mfg |
||
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/
Unfreiwilliger Gewinner des BAC# 115. ![]() |
der anfänger |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ôke mod in zukunft werde ich den perfeckten titel schreiben
also dann soll ich das so eingeben??? RaumTyp Field Name$ Field Nr Field Richtung[3] End Type SpielerTyp Field Name$ Field Ort Field Leben End Type GegenstandTyp Field Name$ Field Nr Field Ort End Type |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein!
Und benutzte doch bitte, bitte die Code-Tags! Unter den Smileys steht "Code". Da musst du drauf klicken, deinen Code eingeben und nochmals draufklicken. MfG Der Eisvogel |
||
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. |
Lador |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also:
Code: [AUSKLAPPEN] Type RaumTyp
Field Name$ Field Nr Field Richtung[3] End Type Type SpielerTyp Field Name$ Field Ort Field Leben End Type Type GegenstandTyp Field Name$ Field Nr Field Ort End Type Sieht doch schon viel besser aus mit Code-Tags...^^ Er meinte nur, dass du die ganzen drei Types zweimal erstellst. Unnötig. Tipp nebenbei: statt SpielerTyp kannst du auch TSpieler schreiben (das T steht hier für Typ/Type). Ist kürzer, hat außerdem den Vorteil, dass du eine Variable "Spieler" nennen könntest (was aber bei SpielerTyp auch der Fall ist^^). Und wie Dremora sagte: schildere doch mal dein Problem (am besten detailreich, genau...). Welche Fehlermeldung kommt denn? Kommt überhaupt eine? Sonst brauchst du von uns wenig Hilfe erwarten... Ansonsten: Code-Tags!^^ MFG Lador |
||
der anfänger |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
oh oke thx | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
~GESCHLOSSEN~ wie angekündigt geschlossen. Threadtitel fürn Arsch und du solltest lernen die Codetags zu nutzen. Doppelposts sind auch daneben. |
||
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 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group