Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

TEXT-ADVENTURE.. SPEICHERN

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Highn



Anmeldungsdatum: 05.06.2010
Beiträge: 3

BeitragVerfasst am: 05.06.2010, 17:03    Titel: TEXT-ADVENTURE.. SPEICHERN Antworten mit Zitat

Guten Tag
Ich arbeite schon seit längern an einem Text Adventure
es ist auch soweit fertig.. also fast^^
Nun möchte ich aber das SPiel für mehrer Spielbar machen .
Im moment wird bei jedem Spielstart das spiel resetet.
Was ich gerne machen möchte ist SPielstände zu speichern.
Und halt anlegen
Ich habs mal mit txt versucht
Also ich suche mir einen namen aus der wird in eine txt geschrieben und immer wieder ausgelsen.. abe rnicht so das was ich suche^^
Könntet ihr mir vllt helfen?

Also Speicherstände anlegen mit Name alter lebenspunkte u.s.w
Ich währe euch sehr verbunden zwinkern

lg
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 05.06.2010, 17:16    Titel: Antworten mit Zitat

Wo liegt denn dein Problem? Scheinbar weißt du doch schon, wie man Dateien öffnet und wie man reinschreibt. Du kannst auch Variablen in Dateien schreiben, also statt
PRINT #1, "Hallo!"
geht z.B. auch
PRINT #1, LebensPunkte
(wenn LebensPunkte deine Variable ist)
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Highn



Anmeldungsdatum: 05.06.2010
Beiträge: 3

BeitragVerfasst am: 05.06.2010, 17:31    Titel: Antworten mit Zitat

also ich habs so gemacht
IF eingabe$ = "" THEN GOTO go

'-- Datei schreiben --
CLS
OPEN "c:\SAV.txt" FOR OUTPUT AS #1
WRITE #1, eingabe$
CLOSE #1
'
also variabeln sind eingabe$ = Spieler Name ist begrenzt auf 14 ASCII zeichen.

Wenn ich jetzt aber eine zweite variable hinzufüge überschreibt die das..

und wenn man schon bei lebenspunkten ist..
ist es möglich z.b am anfang des spiels z.b L =lebenspunkt

l = 10

und dann z.b in einem Kampf mathematisch die lebenspunkte zu verringern?
...vllt ein beispiel quelltext?happy

lg
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4699
Wohnort: ~/

BeitragVerfasst am: 05.06.2010, 17:43    Titel: Antworten mit Zitat

Wenn du das so schreibst, überschreibst du den ersten Eintrag:
Code:
OPEN "c:\SAV.txt" FOR OUTPUT AS #1
WRITE #1, eingabe$
CLOSE #1
OPEN "c:\SAV.txt" FOR OUTPUT AS #1
WRITE #1, zweigabe$
CLOSE #1


Wenn du das so schreibst, behältst du beide Einträge:
Code:
OPEN "c:\SAV.txt" FOR OUTPUT AS #1
WRITE #1, eingabe$
WRITE #1, zweigabe$
CLOSE #1


Zur Verringerung der Lebenspunkte:
Code:
IF getroffen THEN l = l - 1

oder was brauchst du?
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Highn



Anmeldungsdatum: 05.06.2010
Beiträge: 3

BeitragVerfasst am: 05.06.2010, 17:50    Titel: Antworten mit Zitat

Danke das war genau was ic gebraucht habe
jetzt hab ich noch ein problem^^
ich habe eine spiel melodie .naja angefertig die ich im hintergrund gerne laufen lassen würde..aber ich bekomme es nicht hin die zu starten also die soll loslegen wenn ich das MAIN programm aufrufe also die spätere exe
aber. naja wiist ihr was
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 05.06.2010, 20:07    Titel: Antworten mit Zitat

Sonst Artikel aus meiner Sammlung zum Thema:

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/Abenteuerspiel.html

=> geeignes Programmdesign ist essenzielle Voraussetzung, um überhaupt eine Spielstandfunktion implementieren zu können!
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
-schumi-



Anmeldungsdatum: 28.10.2009
Beiträge: 131
Wohnort: Südbayern

BeitragVerfasst am: 05.06.2010, 21:34    Titel: Antworten mit Zitat

Zu den Spielständen:
Du könntest ein Array

Code:

DIM spielstand(1 to 5) AS STRING


anlegen und dann

Code:

spielstand(1) = Spielername
spielstand(2) = STR(Levelnummer)
spielstand(3) = STR(Lebenspunkte)
spielstand(4) = Irgendwas
spielstand(5) = Nochmal Irgendwas


Variablen reinschreiben und das Array widerum

Code:

DIM AS INTEGER Filenumber
Filenumber = FREEFILE
OPEN "Levels\"+Spielername+"\Spielstand.dat" FOR BINARY AS Filenumber
   PUT Filenumber,,spielstand()
CLOSE Filenumber


in eine Datei speichern. Die Datei kannst du dann

Code:

DIM AS STRING Spielername, spielstand(1 TO 5)
DIM AS INTEGER Filenumber
Filenumber=FREEFILE
INPUT "Dein Name: ", Spielername
OPEN "Levels\"+Spielername+"\Spielstand.dat" FOR BINARY AS Filenumber
   GET Filenumber,,spielstand()
CLOSE Filenumber


auch wieder in das Array lesen.
Diese Variante würde mir persönlich sehr gut gefallen.
MfG
-schumi-

PS: Codes sind nur aus dem Stegreif, also kann sein das ein kleiner Fehler drin ist, aber das Grundgerüst stimmt auf jeden Fall
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz