Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Highn
Anmeldungsdatum: 05.06.2010 Beiträge: 3
|
Verfasst am: 05.06.2010, 17:03 Titel: TEXT-ADVENTURE.. SPEICHERN |
|
|
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
lg |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 05.06.2010, 17:16 Titel: |
|
|
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 |
|
 |
Highn
Anmeldungsdatum: 05.06.2010 Beiträge: 3
|
Verfasst am: 05.06.2010, 17:31 Titel: |
|
|
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?
lg |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4699 Wohnort: ~/
|
Verfasst am: 05.06.2010, 17:43 Titel: |
|
|
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 |
|
 |
Highn
Anmeldungsdatum: 05.06.2010 Beiträge: 3
|
Verfasst am: 05.06.2010, 17:50 Titel: |
|
|
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 |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
-schumi-

Anmeldungsdatum: 28.10.2009 Beiträge: 131 Wohnort: Südbayern
|
Verfasst am: 05.06.2010, 21:34 Titel: |
|
|
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 |
|
 |
|