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:

Eingabe ohne Enter

 
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
Schrödinger



Anmeldungsdatum: 06.10.2009
Beiträge: 6

BeitragVerfasst am: 06.10.2009, 14:51    Titel: Eingabe ohne Enter Antworten mit Zitat

Hallo!


Ich bin neu und quasi Anfänger. Ich habe früher aus Spaß sehr viel gemacht mit basic. Kleine Spielchen und Rechenprogramme. Das ist aber schon sehr lange her und man verlernt das ganze recht schnell.

Jetzt will ich mir ein kleines Hilfsprogramm schreiben das mit Poker zu tun hat.

Frage:
Kann ich ein Input machen ohne Enter zu drücken? Also wenn ich eine z.B. eine Ziffer eingebe, das Programm sofort zum nächsten input springt?


Viele Grüße
Tobias
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 06.10.2009, 14:55    Titel: Antworten mit Zitat

INKEY...
_________________
» 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
Schrödinger



Anmeldungsdatum: 06.10.2009
Beiträge: 6

BeitragVerfasst am: 06.10.2009, 15:07    Titel: Antworten mit Zitat

Junge, Junge! Das geht ja flott hier!

Vielen Dank! Daumen rauf!

Dann bin ich mal so unverschämt und stelle noch eine Frage.


Ich suche eine einfache Möglichkeit eine ganze Reihe von Kombinationen aus 5 Eingaben rauszusuchen.

Es geht ja um Poker. Ich habe 5 Karten und will das mir mein Programm z.B. eine unvollständige Straße raussucht.

Das sieht bisher so aus:

Code:
10 INPUT a$
20 INPUT b$
30 INPUT c$
40 INPUT d$
50 INPUT e$

80 IF a$ = "a" OR a$ = "2" OR a$ = "4" OR a$ = "5" GOTO 100 ELSE 140
100 IF b$ = "a" OR b$ = "2" OR b$ = "4" OR b$ = "5" GOTO 120 ELSE 360
120 IF c$ = "a" OR c$ = "2" OR c$ = "4" OR c$ = "5" GOTO 130 ELSE 360
130 IF d$ = "a" OR d$ = "2" OR d$ = "4" OR d$ = "5" GOTO 350 ELSE 360

140 IF b$ = "a" OR b$ = "2" OR b$ = "4" OR b$ = "5" GOTO 141 ELSE 150
141 IF c$ = "a" OR c$ = "2" OR c$ = "4" OR c$ = "5" GOTO 142 ELSE 360
142 IF d$ = "a" OR d$ = "2" OR d$ = "4" OR d$ = "5" GOTO 143 ELSE 360
143 IF e$ = "a" OR e$ = "2" OR e$ = "4" OR e$ = "5" GOTO 350 ELSE 360

150 IF c$ = "a" OR c$ = "2" OR c$ = "4" OR c$ = "5" GOTO 151 ELSE 360
151 IF d$ = "a" OR d$ = "2" OR d$ = "4" OR d$ = "5" GOTO 152 ELSE 360
152 IF e$ = "a" OR e$ = "2" OR e$ = "4" OR e$ = "5" GOTO 153 ELSE 360
153 IF a$ = "a" OR a$ = "2" OR a$ = "4" OR a$ = "5" GOTO 350 ELSE 360

160 IF d$ = "a" OR d$ = "2" OR d$ = "4" OR d$ = "5" GOTO 161 ELSE 360
161 IF e$ = "a" OR e$ = "2" OR e$ = "4" OR e$ = "5" GOTO 162 ELSE 360
162 IF a$ = "a" OR a$ = "2" OR a$ = "4" OR a$ = "5" GOTO 163 ELSE 360
163 IF b$ = "a" OR b$ = "2" OR b$ = "4" OR b$ = "5" GOTO 350 ELSE 360

170 IF e$ = "a" OR e$ = "2" OR e$ = "4" OR e$ = "5" GOTO 171 ELSE 360
171 IF a$ = "a" OR a$ = "2" OR a$ = "4" OR a$ = "5" GOTO 172 ELSE 360
172 IF b$ = "a" OR b$ = "2" OR b$ = "4" OR b$ = "5" GOTO 173 ELSE 360
173 IF c$ = "a" OR c$ = "2" OR c$ = "4" OR c$ = "5" GOTO 350 ELSE 360



350 PRINT "GSSD"
355 GOTO 900
360 PRINT "nix"
900 END


Das ist natürlich extrem umständlich bis hoch zum Ass verwundert

Grüße
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



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

BeitragVerfasst am: 06.10.2009, 15:47    Titel: Antworten mit Zitat

Ich würde da wahrscheinlich mit einem Array arbeiten, dieses dann nach Kartenwert sortieren und dann schauen, ob die Kartenwerte direkt nacheinander liegen.
Eingabe:
Code:
FOR i = 1 TO 5
  INPUT karte(i)
NEXT


Sortieren mit einem gängigen Sortierverfahren wie QuickSort oder auch BubbleSort

Der Vergleich ist anschließend recht einfach. Ich gehe jetzt mal davon aus, dass die Werte als Zahlen vorliegen (A = 1, K = 13 usw:); verbraucht weniger Speicher und ist leichter zu handhaben:
Code:
alleInEinerReihe = 1
FOR i = 2 TO 5
  IF karte(i) <> karte(i-1)+1 THEN
    alleInEinerReihe = 0
    EXIT FOR
  END IF
NEXT
IF alleInEinerReihe = 1 THEN
  PRINT "GSSD"
ELSE
  PRINT "nix"
ENDIF


Dabei kann in einer Straße allerdings nicht Ass auf König folgen; an der Stelle kannst du noch ausbauen.
_________________
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
Schrödinger



Anmeldungsdatum: 06.10.2009
Beiträge: 6

BeitragVerfasst am: 06.10.2009, 16:02    Titel: Antworten mit Zitat

Danke für die Antwort.
Ich sehe ich muss nochmal viel lernen.

Ich kenne von früher das basic mit Zeilennummern.

Das hier bezieht sich auf eine Variante ohne Zeilennummern, Freebasic, oder?

Grüße
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 06.10.2009, 16:10    Titel: Antworten mit Zitat

Hallo,

Zeilennummern benötigt man auch in QBasic nicht. Diese waren bereits zu QB-Zeiten obsolet. Es empfiehlt sich, an ihrer Stelle zumindest Sprungmarken oder besser Schleifen (DO, ...) und Unterprogramme (SUB/FUNCTION) zu verwenden.

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nemored



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

BeitragVerfasst am: 06.10.2009, 16:12    Titel: Antworten mit Zitat

Auch QBASIC verwendet keine Zeilennummern, sofern du sie nicht gesondert als Marken einführst. Ich beziehe mich nach Möglichkeit immer auf die Sprache, in dessen Forum ich bin (in diesem Fall QBASIC). Für FreeBASIC müsste auf jeden Fall noch eine Dimensionierung der Variablen erfolgen.
_________________
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
Schrödinger



Anmeldungsdatum: 06.10.2009
Beiträge: 6

BeitragVerfasst am: 08.10.2009, 12:48    Titel: Antworten mit Zitat

Okay, Danke!


Kannst Du mir vielleicht ein Beispiel geben wie sowas aussehen würde ohne Zeilennummern?

Code:
140 IF b$ = "a" OR b$ = "2" OR b$ = "4" OR b$ = "5" GOTO 141 ELSE 150
141 IF c$ = "a" OR c$ = "2" OR c$ = "4" OR c$ = "5" GOTO 142 ELSE 360
142 IF d$ = "a" OR d$ = "2" OR d$ = "4" OR d$ = "5" GOTO 143 ELSE 360
143 IF e$ = "a" OR e$ = "2" OR e$ = "4" OR e$ = "5" GOTO 350 ELSE 360


Grüße

Hat sich schon erledigt!!!
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 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