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:

neustart / alle variablen =0

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



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 23.11.2006, 17:46    Titel: neustart / alle variablen =0 Antworten mit Zitat

hallo, wie kann ich ein Programm in fb neustarten ?
Es geht um ein Spiel, bei dem man die Möglichkeit haben soll wenn man gestorben ist, neu zu beginnen. Dazu müssten entweder ALLE VARIBLEN 0 werden oder das prog müsste beendet und gleich neugestartet werden (ohne das es der user mitbekommt am besten). Ich hoffe jemand kann mir helfen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Key



Anmeldungsdatum: 03.10.2006
Beiträge: 95

BeitragVerfasst am: 23.11.2006, 17:54    Titel: Antworten mit Zitat

In QB ging das mit "CLEAR" aba in freebasic muss man glaub ich alle variablen eineln zurücksetzen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 23.11.2006, 18:45    Titel: Antworten mit Zitat

Ja, muss man.
Man muss alles zurück sezten, und das manuel:

Englische Referenz hat Folgendes geschrieben:
The keyword CLEAR was used in QB to erase all variables, close all files, and optionally change the stack size. This use is not supported in FB.


Also musst du alles zurücksetzen.
Man kann sich das aber auch vereinfachen, wenn man "einfach" das hauptprogramm in ne Sub schreibt, und die dann aufruft:

Code:

Sub hauptprogramm
   Dim bla as String
   Dim x as integer

   Print bla, x  'soll zeigen, dass beim 2.mal alles 0 ist
   bla="muh"
   Print bla, x
End Sub

hauptprogramm 'startet das prog
hauptprogramm 'und ein 2.mal laufen lassen ;)

_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 23.11.2006, 18:46    Titel: Antworten mit Zitat

Eine ganz einfache Möglichkeit, benötigt gar kein Clear:
Code:
Option Explicit
Const Pi=4*Atn(1)
Dim As Integer a, b, c
Dim As String Parameter
?Pi
?a
?b
?c
Sleep
a=19
b=4
c=56
?a
?b
?c
?Command(0)
Sleep
Run Command(0)
..sollen allerdings Parameter übergeben werden, wird's komplizierter..
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 23.11.2006, 18:57    Titel: Antworten mit Zitat

ähm....
das wird ne endlosschleofe, und das prog beendet sich nie Zunge rausstrecken
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 23.11.2006, 20:29    Titel: Antworten mit Zitat

Ich weiß happy
..es ging aber um das Neustarten mit gelöschten Variablen..
..dank der Sleep-Anweisungen kann das Programm aber mit:
-Ctrl-C
-Alt-F4
..und weiteren Möglichkeiten beendet werden..
Ich hab doch keine Ahnung, wo und wie eine If-Anweisung in ein Programm
eingebaut wird, das ich noch nie gesehen habe zwinkern
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 24.11.2006, 14:29    Titel: Antworten mit Zitat

[quote="programmierer"]Ja, muss man.
Man muss alles zurück sezten, und das manuel:

Englische Referenz hat Folgendes geschrieben:
The keyword CLEAR was used in QB to erase all variables, close all files, and optionally change the stack size. This use is not supported in FB.


Dazu fällt mit nur OMG ein. Wiso bauen die das aus ???
Warscheinlich weils auch "unsauber" ist wie GOTO etc.
(So ein Schwachsinn...)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 24.11.2006, 15:10    Titel: Antworten mit Zitat

Nein, ich denke nicht desswegen.

Ich vermute mal, das es eine höllen arbeit ist, alles auf 0 zu setzen, strings leeren, und andere sachen zu machen. Und wenn es dann mit Pointern losgeht, dann wirds richtig kompliziert.
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 25.11.2006, 00:36    Titel: Antworten mit Zitat

Ich glaube auch, dass das der Grund ist. Denkt mal an Arrays, Datenpuffer von ALLOCATE und IMAGECREATE, etc...
Anyway, ich habe den Befehl CLEAR in der Alles-Löschen-Variante noch nie gebraucht. I.d.R. organisiere ich meine Progs so ähnlich, wie programmierer das Vorgeschlagen hat - Alles in SUBs, und beim nächsten Aufruf sind die Variablen automatisch resetted.
Für manche sehr speziellen Situationen (arbeit mit SHARED Pointern) bietet es sich an, eine extra Sub ClearVars zu schreiben. Vorteil ist hierbei, dass man tatsächlich nur die Variablen löschen muss, die man nicht gleich wieder mit den selben werten belegen würde, die sie zuvor schon hatten. Ist z.B. für das Menü nicht unpraktisch, das i.d.R. ja vor und nach einem Reset exakt identisch aussieht...
Auch Grafiken müssen so nur einmal geladen werden, was komfortabel in der Constructor erledigt werden kann.

Anyway, CLEAR in Form von Reset All ist absolut nicht nötig.
Man wird zwar durch den Verzicht dieser Methode dazu gezwungen, den Code ein bisschen zu strukturieren, und schon im vornherein zu wissen, welche Funktionen man verwenden will, bzw. welche Aufgaben man an welche Funktionen verteilen möchte. Aber... nun, sich vor Projektbeginn Gedanken in diese Richtung zu machen bringt noch ganz andere Vorteile, als die Freiheit, CLEAR nicht benutzen zu müssen happy


Have a nice day
Ciao
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. 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