Frage zu textinput und ausgabe
Übersicht

JohnnsenBetreff: Frage zu textinput und ausgabe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, ich nochmal...
Also, ich habe da mal etwas armseliges zusammengeschrieben, um zu testen wie das mit eingabe und ausgabe geht. Ich lass mit Print eine frage stellen, auf die eine ja/nein antwort kommen soll. Leider ist da das problem mit der Groß und klein schreibung. Also hat mir jemand den tipp gegeben mit: antwort2$ = LoverCase Input ("Bist du dumm? ") If antwort2$=("ja") Then Print ("Wusst ich")ElseIf antwort2$= ("nein") Then Print ("Sicher?") Aber es kommt immer "wusst ich".^^ da hab ich wohl was falsch verstanden. 2. Es wäre schön, wenn man eine frage stellen könnte, und das was eingegeben wurde wird mit einem von 3 sätzen (zufällig) beantwortet. Geht das? 3. Kann man irgendwie (nur einmal) festlegen, dass wenn meinetwegen das wort "schlumpf" später irgendwo vorkommt, er immer einen vorgeschriebenen satz ausgibt? Oder muss man das bei jedem ein/ausgeben von text neu definieren? 4. Wenn ich If eingabe$ = ("irgendwas") schreibe,dann kann ja nur darauf reagiert werden, wenn auch wirklich nur dieses wort eingegeben wurde. Kann ich es so machen, dass auch ein text ausgegeben wird, wenn ein satz eingegeben wird, der das wort "Irgendwas" enthält? Ich komme gerade aus der schule, 4 std mathe, da bin ich ein bisschen durcheinander, ich hoffe ihr versteht trotzdem was ich meine. ![]() |
||
Steine denken nicht. Oder zumindest sehr wenig. |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist das BlitzMax?
Abgesehen davon, dass es kein "LoverCase" (^^) gibt, heisst es in BB nur "Lower". zu 2.) fällt mir ganz grob sowas ein: Code: [AUSKLAPPEN] Dim antworten$(2) antworten$(0)="Hallo" antworten$(1)="Juhu" antworten$(2)="blblbl" eingabe$=Input("Gib was ein, ich beantworte es: ") Print antworten(Rnd(3)) ;Event. auch Print antworten(Floor(Rnd(3))), habs nicht getestet zu 3.) Code: [AUSKLAPPEN] ;am anfang suchstring$="schlumpf" ;Soviele Inputs machen, wie du willst, danach immer If Instr(eingabe$,suchstring$)>0 Then Print "Vorgeschriebener Satz" Endif zu 4.) Siehe 3.). Mit Instr! |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Johnnsen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Achja, ich sehe gerade, der jemand der das gepostet hat, hat das mit delphi verwechselt. Okay, danke schonmal dafür. | ||
Steine denken nicht. Oder zumindest sehr wenig. |
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Eingeproggt
Bei 2. sehe ich spontan einige Fehler: 1. Du hast seedrnd millisecs vergessen. 2. Du hast rnd genommen statt rand 3. Du machst rand(3), dabei kommt eine Zahl zwischen 0-3 raus, was bedeutet, dass das Prog bei 3 abstürzt (zu wenig dim-felder) @Johnnsen Schau, du kannst eine Zufallszahl mit ql:Rand() erzeugen. Willst du eine Zufallskommazahl musst du ql:Rnd() benutzen. Damit Rand und Rnd auch wirklich zufällig sind musst du am Anfang des Progs Code: [AUSKLAPPEN] Seedrnd Millisecs()
schreiben. Dann kommt auch wirklich immer etwas zufälliges raus. Bsp: Code: [AUSKLAPPEN] Seedrnd Millisecs()
print "Wirklich?" satznummer=Rand(0,2) if satznummer=0 then print "Na das ist ja toll." elseif satznummer=1 then print "Super." elseif satznummer=2 then print "Na spitze." endif WaitKey |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Stimmt, SeedRnd hab ich vergessen.
Aber was spricht gegen Rnd statt Rand? Mit Floor(Rnd(3)) kommen keine Fehler. Bitte korrigieren, wenn nötig. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mit einer geringen Wahrscheinlichkeit gibt rnd(3) genau 3 zurück. Und daraus macht dir auch das Floor() keine 2... also, falsch.
Außerdem ist rnd() langsamer als rand(). So wie Christoph es beschrieben hat funktioniert es dagegen einwandfrei. |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
Todeskop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
vielleicht wäre es nett zu erwähnen warum rand schneller ist........
der grund rnd nutzt floats (also kommazahlen) währendessen rand ganze grundete zahlen beunutzt(also 1,2,3...ohne komme) MFG Todeskop |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
...was bei modernen 32-Bit-Prozessoren mit mathematischen Coprozessoren keinen wirklichen Unterschied machen dürfte.
Ohne es genau zu wissen behaupte ich mal dass Rand() eh nur aus rnd() abgeleitet wird. Allerdings ist es wirklich so dass das runden mit Floor() zu verfälschten Ergebnissen führt, da die 3 dann unverhältnismässig seltener auftritt. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meinetwegen sollt ihr Recht haben, aber weshalb ich Rnd lieber benutze:
Es benötigt nur einen Parameter (ok, kein großer Vorteil) und, wie BladeRunner schon sagte, kann man die Ergebnisse verfälschen. Manchmal will man das! |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Yogu |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Rand benötigt auch nur einen Parameter, der Zweite ist nicht notwendig, sondern Komfort. Man muss nicht mehr die Startzahl dazuaddieren. | ||
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich muss zugeben, dass "Fehler" 2 nicht wirklich verheerend ist, Eingeproggt ![]() Zu eins muss ich wohl nichts mehr sagen, das passiert häufig, dass man das vergisst (oder es als Anfänger nicht weiß (nicht auf dich bezogen!)) Der dritte Fehler scheint sich auch zu erledigt haben. Wie gesagt, bei rnd(3) kommt es nicht so häufig vor, aber dennoch besteht eine geringe Wahrscheinlichkeit, dass sich dein Programm von dir mit einer Fehlermeldung verabschiedet. ![]() |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine Meldung hab ich noch zum Thema Zufall:
Nach meinen Tests (ganz billig, einfach 2 for-Schleifen, die je bis 1mio zählen) ist Rnd schneller als Rand! (und zwar bei mir um ~100ms) |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Interessanterweise hast du Recht... ![]() Mit Floor() zusammen wird es allerdings wieder um einiges langsamer ![]() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
Johnnsen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oha, hier wird ja heiss diskutiert. ^^ Danke für die Hilfe jungs. | ||
Steine denken nicht. Oder zumindest sehr wenig. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group