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:

If-Befehl

 
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
Spongebob Schwamm



Anmeldungsdatum: 31.10.2004
Beiträge: 40

BeitragVerfasst am: 30.11.2004, 17:13    Titel: If-Befehl Antworten mit Zitat

Hi!
Das Programm soll eingentlich ein "Spiel" darstellen.
Aber 1. Mann Gewinnt immer(liegt das daran das Gewonnen oben steht?)
2. Die Variable geldgehalt% soll bleiben wie sie bei Gewonnen oder Verloren angezeigt wird.
Könn ihr mir das einbauen?
Code:

DO
CLS
SCREEN 12
RANDOMIZE TIMER
zahl% = INT(RND * 2)
geldgehalt% = 1000
SLEEP 1
PRINT "Dein Geld steht bei: ", geldgehalt%
INPUT "Wie viel willst du auf das gewinnen setzen?: ", geld%
IF zahl% = 1 THEN text$ = ", ": PRINT "Gewonnen!": PRINT "Dein Geld steht jetzt bei: ", geldgehalt% + geld%: SLEEP 3: GOTO 3
IF zahl% = 2 THEN text$ = ", ": PRINT "Verloren!": PRINT "Dein Geld steht jetzt bei: ", geldgehalt% - geld%: SLEEP 3: GOTO 3
3
LOOP UNTIL INKEY$ = CHR$(27)


Danke im voraus
Mfg
Spongebob Schwamm
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
helium



Anmeldungsdatum: 10.09.2004
Beiträge: 397
Wohnort: Leverkusen

BeitragVerfasst am: 30.11.2004, 18:51    Titel: Antworten mit Zitat

RND ist eine Zahl kleiner 1. Eine Zahl kleiner eins mit zwei multipliziert ist eine Zahl kleiner 2. Wenn man die abrundet, kommt 0 oder 1 raus.

zu 2:
Du kennst doch bereits zuweisungen, also nutze Sie auch zum verändern der Zahl. Und versuche unnötige GOTOs zu vermeiden und wenn, dann lieber mit Marken, als mit Zeilennummern.

Code:

IF zahl% = 1 THEN text$ = ", "
   PRINT "Gewonnen!"
   geldgehalt% = geldgehalt% + geld%
   PRINT "Dein Geld steht jetzt bei: ", geldgehalt%
   SLEEP 3
ELSE IF zahl% = 2 THEN
   text$ = ", "
   PRINT "Verloren!"
   geldgehalt% = geldgehalt% - geld%
   PRINT "Dein Geld steht jetzt bei: ", geldgehalt%
   SLEEP 3
END IF

_________________
Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Spongebob Schwamm



Anmeldungsdatum: 31.10.2004
Beiträge: 40

BeitragVerfasst am: 02.12.2004, 16:20    Titel: Mist! Antworten mit Zitat

Schade missbilligen immer wieder nur gewonnen wenn ich
Code:
else

von
Code:
Else if zahl% = 2 Then
text$ ", "

weglasse und wenn Else da ist geht es nicht weinen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Bernd



Anmeldungsdatum: 14.09.2004
Beiträge: 498
Wohnort: Kulmbach

BeitragVerfasst am: 02.12.2004, 16:41    Titel: Antworten mit Zitat

ich würde mal folgenden randomize timer verwenden:


Code:
cls
do
max = 2 'soll höchstmögliche zahl sein
randomize timer
zahl = int(rnd*max +1)
print ;zahl
loop until inkeys$ <= "2"




Du musst gehldgehalt% vor der do schleife schon deklarieren, sonst wird bei jedem neustart der Schleife die variable wieder auf 1000...



Bernd
_________________
Neue Homepage: http://www.glubb.rockt.de

UND

Der Wahnsinn hat seine eigene Homepage: http://pulmollwand.rulz.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail 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