 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
mpt
Anmeldungsdatum: 19.03.2007 Beiträge: 9
|
Verfasst am: 19.03.2007, 11:31 Titel: Habe ein Problem mit meinem Mensch Ärger dich nicht Projekt! |
|
|
Mein Problem mit dem Code ist das der Spielstein der ausgewählt wird die gewürfelte Zahl vorzugehen spätestens beim zweiten setzen nicht die gewürfelte Zahl vorgeht sondern eine ganz andere.
Ich hoffe das ihr mir helfen könnt , ich habe nämlich keine Ahnung wodran es liegen könnte.
Der Gesamte Code
Code: | rem Haupt
DECLARE sub Kreis(x,y,Groesse,Farbe1)
screen 20
do
Rem Blaue Steine
Kreis 320,240,20,1:rem 5
Kreis 270,240,20,1:rem 4
Kreis 220,240,20,1:rem 3
Kreis 170,240,20,1:rem 2
Kreis 120,240,20,2:rem 1
Kreis 320,190,20,1:rem 6
Kreis 320,140,20,1:rem 7
Kreis 320,90,20,1:rem 8
Kreis 320,40,20,1:rem 9
Kreis 370,40,20,1:rem 10
Kreis 420,40,20,3:rem 11
Kreis 420,90,20,1:rem 12
Kreis 420,190,20,1:rem 14
Kreis 420,140,20,1:rem 13
Kreis 420,240,20,1:rem 15
Kreis 470,240,20,1:rem 16
Kreis 520,240,20,1:rem 17
Kreis 570,240,20,1:rem 18
Kreis 620,290,20,1:rem 20
Kreis 620,240,20,1:rem 19
Kreis 620,340,20,4:rem 21
Kreis 570,340,20,1:rem 22
Kreis 520,340,20,1:rem 23
Kreis 420,340,20,1:rem 25
Kreis 470,340,20,1:rem 24
Kreis 420,390,20,1:rem 26
Kreis 420,440,20,1:rem 27
Kreis 420,490,20,1:rem 28
Kreis 320,540,20,5:rem 31
Kreis 320,490,20,1:rem 29
Kreis 370,540,20,1:rem 30
Kreis 420,540,20,1:rem 32
Kreis 320,440,20,1:rem 33
Kreis 320,390,20,1:rem 34
Kreis 320,340,20,1:rem 35
Kreis 270,340,20,1:rem 36
Kreis 220,340,20,1:rem 37
Kreis 170,340,20,1:rem 38
Kreis 120,290,20,1:rem 40
Kreis 120,340,20,1:rem 39
rem zielsteine
Kreis 370,90,20,3:rem _1
Kreis 370,140,20,3
Kreis 370,190,20,3
Kreis 370,240,20,3
Kreis 370,340,20,5:rem _4
Kreis 370,390,20,5
Kreis 370,440,20,5
Kreis 370,490,20,5
Kreis 170,290,20,2:rem _1
Kreis 220,290,20,2
Kreis 270,290,20,2
Kreis 320,290,20,2
Kreis 420,290,20,4:rem _4
Kreis 470,290,20,4
Kreis 520,290,20,4
Kreis 570,290,20,4
rem startsteine
rem grün (a)
Kreis 170,140,20,2
Kreis 120,140,20,2
Kreis 170,90,20,2
Kreis 120,90,20,2
rem blau (b)
Kreis 520,40,20,3
Kreis 520,90,20,3
Kreis 570,40,20,3
Kreis 570,90,20,3
rem rot (c)
Kreis 620,440,20,4
Kreis 570,440,20,4
Kreis 620,490,20,4
Kreis 570,490,20,4
rem lila(d)
Kreis 220,540,20,5
Kreis 170,540,20,5
Kreis 220,490,20,5
Kreis 170,490,20,5
rem Else
rem Würfel
randomize timer
w=int(rnd*6)+1
locate 8,100:print"Wuerfeln (a) Spielende (e)"
DO
Eingabe$=Inkey$
LOOP WHILE Eingabe$=""
IF Eingabe$=CHR$(097) then locate 10,100:print"Sie haben eine ";w;" gewuerfelt"
IF Eingabe$=CHR$(121) then a1=a1+w
IF Eingabe$=CHR$(120) then a2=a2+w
IF Eingabe$=CHR$(099) then a3=a3+w
IF Eingabe$=CHR$(118) then a4=a4+w
If Eingabe$=CHR$(101) then end
rem speilsteine & Technike
rem 1
if a1=5 then Kreis 320,240,20,2:rem 5
if a1=4 then Kreis 270,240,20,2:rem 4
if a1=3 then Kreis 220,240,20,2:rem 3
if a1=2 then Kreis 170,240,20,2:rem 2
if a1=1 then Kreis 120,240,20,2:rem 1k
if a1=6 then Kreis 320,190,20,2:rem 6
if a1=7 then Kreis 320,140,20,2:rem 7
if a1=8 then Kreis 320,90,20,2:rem 8
if a1=9 then Kreis 320,40,20,2:rem 9
if a1=10 then Kreis 370,40,20,2:rem 10
if a1=11 then Kreis 420,40,20,2:rem 11k
if a1=12 then Kreis 420,90,20,2:rem 12
if a1=14 then Kreis 420,190,20,2:rem 14
if a1=13 then Kreis 420,140,20,2:rem 13
if a1=15 then Kreis 420,240,20,2:rem 15
if a1=16 then Kreis 470,240,20,2:rem 16
if a1=17 then Kreis 520,240,20,2:rem 17
if a1=18 then Kreis 570,240,20,2:rem 18
if a1=20 then Kreis 620,290,20,2:rem 20
if a1=19 then Kreis 620,240,20,2:rem 19
if a1=21 then Kreis 620,340,20,2:rem 21k
if a1=22 then Kreis 570,340,20,2:rem 22
if a1=23 then Kreis 520,340,20,2:rem 23
if a1=25 then Kreis 420,340,20,2:rem 25
if a1=24 then Kreis 470,340,20,2:rem 24
if a1=26 then Kreis 420,390,20,2:rem 26
if a1=27 then Kreis 420,440,20,2:rem 27
if a1=28 then Kreis 420,490,20,2:rem 28
if a1=31 then Kreis 320,540,20,2:rem 31k
if a1=29 then Kreis 320,490,20,2:rem 29
if a1=30 then Kreis 370,540,20,2:rem 30
if a1=32 then Kreis 420,540,20,2:rem 32
if a1=33 then Kreis 320,440,20,2:rem 33
if a1=34 then Kreis 320,390,20,2:rem 34
if a1=35 then Kreis 320,340,20,2:rem 35
if a1=36 then Kreis 270,340,20,2:rem 36
if a1=37 then Kreis 220,340,20,2:rem 37
if a1=38 then Kreis 170,340,20,2:rem 38
if a1=40 then Kreis 120,290,20,2:rem 40
if a1=39 then Kreis 120,340,20,2:rem 39
rem 2
if a2=5 then Kreis 320,240,20,2:rem 5
if a2=4 then Kreis 270,240,20,2:rem 4
if a2=3 then Kreis 220,240,20,2:rem 3
if a2=2 then Kreis 170,240,20,2:rem 2
if a2=1 then Kreis 120,240,20,2:rem 1k
if a2=6 then Kreis 320,190,20,2:rem 6
if a2=7 then Kreis 320,140,20,2:rem 7
if a2=8 then Kreis 320,90,20,2:rem 8
if a2=9 then Kreis 320,40,20,2:rem 9
if a2=10 then Kreis 370,40,20,2:rem 10
if a2=11 then Kreis 420,40,20,2:rem 11k
if a2=12 then Kreis 420,90,20,2:rem 12
if a2=14 then Kreis 420,190,20,2:rem 14
if a2=13 then Kreis 420,140,20,2:rem 13
if a2=15 then Kreis 420,240,20,2:rem 15
if a2=16 then Kreis 470,240,20,2:rem 16
if a2=17 then Kreis 520,240,20,2:rem 17
if a2=18 then Kreis 570,240,20,2:rem 18
if a2=20 then Kreis 620,290,20,2:rem 20
if a2=19 then Kreis 620,240,20,2:rem 19
if a2=21 then Kreis 620,340,20,2:rem 21k
if a2=22 then Kreis 570,340,20,2:rem 22
if a2=23 then Kreis 520,340,20,2:rem 23
if a2=25 then Kreis 420,340,20,2:rem 25
if a2=24 then Kreis 470,340,20,2:rem 24
if a2=26 then Kreis 420,390,20,2:rem 26
if a2=27 then Kreis 420,440,20,2:rem 27
if a2=28 then Kreis 420,490,20,2:rem 28
if a2=31 then Kreis 320,540,20,2:rem 31k
if a2=29 then Kreis 320,490,20,2:rem 29
if a2=30 then Kreis 370,540,20,2:rem 30
if a2=32 then Kreis 420,540,20,2:rem 32
if a2=33 then Kreis 320,440,20,2:rem 33
if a2=34 then Kreis 320,390,20,2:rem 34
if a2=35 then Kreis 320,340,20,2:rem 35
if a2=36 then Kreis 270,340,20,2:rem 36
if a2=37 then Kreis 220,340,20,2:rem 37
if a2=38 then Kreis 170,340,20,2:rem 38
if a2=40 then Kreis 120,290,20,2:rem 40
if a2=39 then Kreis 120,340,20,2:rem 39
rem 3
if a3=5 then Kreis 320,240,20,2:rem 5
if a3=4 then Kreis 270,240,20,2:rem 4
if a3=3 then Kreis 220,240,20,2:rem 3
if a3=2 then Kreis 170,240,20,2:rem 2
if a3=1 then Kreis 120,240,20,2:rem 1k
if a3=6 then Kreis 320,190,20,2:rem 6
if a3=7 then Kreis 320,140,20,2:rem 7
if a3=8 then Kreis 320,90,20,2:rem 8
if a3=9 then Kreis 320,40,20,2:rem 9
if a3=10 then Kreis 370,40,20,2:rem 10
if a3=11 then Kreis 420,40,20,2:rem 11k
if a3=12 then Kreis 420,90,20,2:rem 12
if a3=14 then Kreis 420,190,20,2:rem 14
if a3=13 then Kreis 420,140,20,2:rem 13
if a3=15 then Kreis 420,240,20,2:rem 15
if a3=16 then Kreis 470,240,20,2:rem 16
if a3=17 then Kreis 520,240,20,2:rem 17
if a3=18 then Kreis 570,240,20,2:rem 18
if a3=20 then Kreis 620,290,20,2:rem 20
if a3=19 then Kreis 620,240,20,2:rem 19
if a3=21 then Kreis 620,340,20,2:rem 21k
if a3=22 then Kreis 570,340,20,2:rem 22
if a3=23 then Kreis 520,340,20,2:rem 23
if a3=25 then Kreis 420,340,20,2:rem 25
if a3=24 then Kreis 470,340,20,2:rem 24
if a3=26 then Kreis 420,390,20,2:rem 26
if a3=27 then Kreis 420,440,20,2:rem 27
if a3=28 then Kreis 420,490,20,2:rem 28
if a3=31 then Kreis 320,540,20,2:rem 31k
if a3=29 then Kreis 320,490,20,2:rem 29
if a3=30 then Kreis 370,540,20,2:rem 30
if a3=32 then Kreis 420,540,20,2:rem 32
if a3=33 then Kreis 320,440,20,2:rem 33
if a3=34 then Kreis 320,390,20,2:rem 34
if a3=35 then Kreis 320,340,20,2:rem 35
if a3=36 then Kreis 270,340,20,2:rem 36
if a3=37 then Kreis 220,340,20,2:rem 37
if a3=38 then Kreis 170,340,20,2:rem 38
if a3=40 then Kreis 120,290,20,2:rem 40
if a3=39 then Kreis 120,340,20,2:rem 39
rem 4
if a4=5 then Kreis 320,240,20,2:rem 5
if a4=4 then Kreis 270,240,20,2:rem 4
if a4=3 then Kreis 220,240,20,2:rem 3
if a4=2 then Kreis 170,240,20,2:rem 2
if a4=1 then Kreis 120,240,20,2:rem 1k
if a4=6 then Kreis 320,190,20,2:rem 6
if a4=7 then Kreis 320,140,20,2:rem 7
if a4=8 then Kreis 320,90,20,2:rem 8
if a4=9 then Kreis 320,40,20,2:rem 9
if a4=10 then Kreis 370,40,20,2:rem 10
if a4=11 then Kreis 420,40,20,2:rem 11k
if a4=12 then Kreis 420,90,20,2:rem 12
if a4=14 then Kreis 420,190,20,2:rem 14
if a4=13 then Kreis 420,140,20,2:rem 13
if a4=15 then Kreis 420,240,20,2:rem 15
if a4=16 then Kreis 470,240,20,2:rem 16
if a4=17 then Kreis 520,240,20,2:rem 17
if a4=18 then Kreis 570,240,20,2:rem 18
if a4=20 then Kreis 620,290,20,2:rem 20
if a4=19 then Kreis 620,240,20,2:rem 19
if a4=21 then Kreis 620,340,20,2:rem 21k
if a4=22 then Kreis 570,340,20,2:rem 22
if a4=23 then Kreis 520,340,20,2:rem 23
if a4=25 then Kreis 420,340,20,2:rem 25
if a4=24 then Kreis 470,340,20,2:rem 24
if a4=26 then Kreis 420,390,20,2:rem 26
if a4=27 then Kreis 420,440,20,2:rem 27
if a4=28 then Kreis 420,490,20,2:rem 28
if a4=31 then Kreis 320,540,20,2:rem 31k
if a4=29 then Kreis 320,490,20,2:rem 29
if a4=30 then Kreis 370,540,20,2:rem 30
if a4=32 then Kreis 420,540,20,2:rem 32
if a4=33 then Kreis 320,440,20,2:rem 33
if a4=34 then Kreis 320,390,20,2:rem 34
if a4=35 then Kreis 320,340,20,2:rem 35
if a4=36 then Kreis 270,340,20,2:rem 36
if a4=37 then Kreis 220,340,20,2:rem 37
if a4=38 then Kreis 170,340,20,2:rem 38
if a4=40 then Kreis 120,290,20,2:rem 40
if a4=39 then Kreis 120,340,20,2:rem 39
sleep
loop
rem Subs
sub Kreis(x,y,Groesse,Farbe1)
circle(x,y),Groesse,Farbe1
paint(x,y),Farbe1
end sub |
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 19.03.2007, 12:37 Titel: |
|
|
Wie meinst du, dass dann eine andere Zahl kommt?
Der Zufallsgenerator sollte immer eine andere liefern...
Aber allgemein:
Ich denke mal, dass das für den WB ist. Da ein paar Tipps: REM durch Apostrophe ersetzen, keine 2 Befehle in einer Zeile (Stichwort Doppelpunkt) und die ellenlangen IF's durch ein SELECT CASE ersetzen.
Greets,
Mao _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
mpt
Anmeldungsdatum: 19.03.2007 Beiträge: 9
|
Verfasst am: 19.03.2007, 16:51 Titel: |
|
|
bei der zweiten gewürfelten zahl wird nicht die spielfigur die gewürfelte zahl vorgestzt sondern eine komplett andere. |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 19.03.2007, 16:54 Titel: |
|
|
Welcher Würfel, ich les immer nur Kreis und If und Rem ?!?!  _________________
 |
|
Nach oben |
|
 |
mpt
Anmeldungsdatum: 19.03.2007 Beiträge: 9
|
Verfasst am: 19.03.2007, 17:20 Titel: |
|
|
randomize timer
w=int(rnd*6)+1
da ist der befehl für die zufallszahl und diese Zufallszahl wird beim zweiten mal setzen irgendwie nicht genommen sondern der Stein wird eine belibige andere Zahl vorgesetzt. |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 19.03.2007, 17:29 Titel: |
|
|
weia... Das Spielfeld sieht nett aus... ist aber eigentlich auch das einzigste was ich sehe:
Soweit ich das sehe wird nach dem würfeln dein "Spielstein" an die position gesetzt, bzw sollte gesetzt werden, wird aber im nächsten augeblick mit deinem Spielfeld wieder gelöscht...
Also eigentlich seh ich nichts
Woher weiss ich eigentlich welcher player ich bin ?! da steht nur würfeln und ende  _________________
 |
|
Nach oben |
|
 |
mpt
Anmeldungsdatum: 19.03.2007 Beiträge: 9
|
Verfasst am: 19.03.2007, 17:35 Titel: |
|
|
Eternal_pain hat Folgendes geschrieben: | weia... Das Spielfeld sieht nett aus... ist aber eigentlich auch das einzigste was ich sehe:
Soweit ich das sehe wird nach dem würfeln dein "Spielstein" an die position gesetzt, bzw sollte gesetzt werden, wird aber im nächsten augeblick mit deinem Spielfeld wieder gelöscht...
Also eigentlich seh ich nichts
Woher weiss ich eigentlich welcher player ich bin ?! da steht nur würfeln und ende  |
y x c v
sind die tasten mit denen man setzen kann |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 19.03.2007, 17:36 Titel: |
|
|
Ja, habe ich auch gerade erst gemerkt, allerdings funktioniert das würfeln bei mir wie es soll.... _________________
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 19.03.2007, 19:47 Titel: |
|
|
Vielleicht liegt es daran?
Code: | Eingabe$=Inkey$
LOOP WHILE Eingabe$=""
|
Inkey$ fragt den Tastaturbuffer ab. Wenn du irgendwo zwischendrin mal eine Taste drückst und nicht ausliest (z. B. SLEEP), dann wird die hier verwendet. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 19.03.2007, 21:31 Titel: |
|
|
Hi,
wenn du Code: | Sub Kreis(x, y, Groesse, Farbe)
Circle(x, y), Groesse, Farbe,,,,F
End Sub | schreibst, brauchste die Paint-Anweisung nicht mehr..
(steht nämlich in der Befehlsreferenz, funktioniert auch )
ähmm, dann kannste natürlich in deinem ganzen Code auch die Sub
entfernen und den direkten Aufruf nehmen..
Und bei Code: | Do
Eingabe$=Inkey$
Sleep 1
Loop While Eingabe$="" | macht sich die Sleep-Anweisung ganz gut..
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 |
|
 |
mpt
Anmeldungsdatum: 19.03.2007 Beiträge: 9
|
Verfasst am: 20.03.2007, 13:17 Titel: |
|
|
jetzt kommt das problem erst beim dritten mal würfeln. glaube aber das die letzte gewürfelte zahl gesetzt wird anstatt die man aktuell gewürfelt hat.
Woron kann das liegen? |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 20.03.2007, 23:24 Titel: |
|
|
Hi,
da hast du dir einen Bug eingebaut, der nicht so leicht zu finden ist
Erst wenn man mal den Programmablauf durchspielt wird das sichtbar.
Code: | do
(Spielfeld zeichnen)
(Zufallswert bilden)
do
(Eingabe$ <- Tastaturbuffer auslesen)
loop (wenn leer)
Eingabe$ = "a" Zufallswert anzeigen
Eingabe$ = "yxcv" Position berechnen
Eingabe$ = "e" Programmende
(Position anzeigen) ' alle in grün? alle von der selben Posision startend?
sleep <- wartet auf Taste, aber Tastaturbuffer wird nicht geleert!!!!!
loop |
nächster Durchlauf:
1. Spielfeld wird neu gezeichnet (Spielerpositionen werden übermalt!)
2. neuer Zufallswert wird gebildet (aber nicht angezeigt !!!)
3. Eingabe$ wird ??? (wurde bei 'Sleep' y,x,c,v betätigt wird die neue, nicht angezeigte Zufallszahl in w benutzt)
4. Spielerpositionen werden angezeigt (wieder alle in grün??)
5. wieder hängt die Eingabe in der Sleep-Falle!!!
aber da sind noch weitere Bugs:
Da der Eingabe$ nicht gleichzeitig "a" und "y,x,c,v" sein kann wird der angezeigte Zufallswert w niemals zu a1,a2,a3,a4 addiert, erst beim nächsten Durchlauf ein neuer Zufallswert. _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
mpt
Anmeldungsdatum: 19.03.2007 Beiträge: 9
|
Verfasst am: 21.03.2007, 17:09 Titel: |
|
|
und wie kann ich die tasterturabfrage richtig machen? |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 21.03.2007, 17:18 Titel: |
|
|
Du könntest vor der Tastaturabfrage erst einmal den Buffer leeren:
Code: | DO: Eingabe$ = INKEY$: LOOP UNTIL Eingabe$ = ""
DO: Eingabe$ = INKEY$: LOOP UNTIL Eingabe$ <> "" |
Erste Zeile wartet so lange, bis der Buffer leer ist, die zweite wartet dann so lang, bis eine neue Taste gedrückt wurde.
Die Anzeige der gewürfelten Zahl würde ich, ohne Tastaturabfrage, immer machen, noch vor der Auswahl der zu ziehenden Figur. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 21.03.2007, 18:55 Titel: |
|
|
nemored hat Folgendes geschrieben: | Du könntest vor der Tastaturabfrage erst einmal den Buffer leeren:
Code: | DO: Eingabe$ = INKEY$: LOOP UNTIL Eingabe$ = ""
DO: Eingabe$ = INKEY$: LOOP UNTIL Eingabe$ <> "" |
Erste Zeile wartet so lange, bis der Buffer leer ist, die zweite wartet dann so lang, bis eine neue Taste gedrückt wurde.
Die Anzeige der gewürfelten Zahl würde ich, ohne Tastaturabfrage, immer machen, noch vor der Auswahl der zu ziehenden Figur. | ..besser noch: Code: | ..
Do: Eingabe$=Inkey:Sleep 1: Loop Until Eingabe$<>"" | 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 |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 21.03.2007, 19:20 Titel: |
|
|
ytwinky hat Folgendes geschrieben: | ..besser noch: Code: | ..
Do: Eingabe$=Inkey:Sleep 1: Loop Until Eingabe$<>"" | Gruß
ytwinky |
Habe ich schon ein paar mal gelesen, bin aber nicht dahinter gekommen: Warum ist es mit SLEEP 1 besser?
edit: Frage geklärt - ich dachte, wir sind noch bei
Code: | LOOP UNTIL Eingabe$="" |
_________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
mpt
Anmeldungsdatum: 19.03.2007 Beiträge: 9
|
Verfasst am: 22.03.2007, 10:56 Titel: |
|
|
Habe alles mal ausprobiert und alles hat keine wirkliche Besserung gebracht , gibt es vielleicht Alternativen zu meiner Tasterturabfrage? |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 22.03.2007, 11:24 Titel: |
|
|
z.B. so:
Code: | randomize timer
do
(Spielfeld zeichnen)
(Position anzeigen)
(Zufallswert bilden und anzeigen)
Print"Welcher Spieler [yxcv] zieht [e=Ende]: "
do
Eingabe$=Inkey$
IF Eingabe$="y" then a1=a1+w : Exit do
IF Eingabe$="x" then a2=a2+w : Exit do
IF Eingabe$="c" then a3=a3+w : Exit do
IF Eingabe$="v" then a4=a4+w : Exit do
If Eingabe$="e" then end
loop
loop |
_________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 22.03.2007, 18:14 Titel: |
|
|
Hi mpt,
volta hat Folgendes geschrieben: | Code: | ..
(Spielfeld zeichnen)
|
| hier ist mein Beitrag zu deinem Mensch-ärgere-dich-nicht-Projekt..
(So sieht das Spielfeld dem Original ziemlich ähnlich ) Code: | Option Explicit
Const Schwarz=0, Blau=&H0000D2, Gruen=&H00D200, Rot=&HD20000, Gelb=&HFFFF00, Weiss=&HFFFFF0, Bg=&HD2D200
Const Diff=50, FeldRadius=15
Declare Sub Kreis(byVal x As Integer, byVal y As Integer, byVal Farbe As Integer, byVal Radius As Integer=FeldRadius, byVal Flag As Integer=0)
Declare Sub Pott(byVal LUx As Integer, byVal LUy As Integer, byVal Farbe As Integer)
Declare Sub FeldH(byVal x As Integer, byVal y As Integer, byVal Farbe As Integer)
Declare Sub FeldV(byVal x As Integer, byVal y As Integer, byVal Farbe As Integer)
Declare Sub Home(byVal x As Integer, byVal y As Integer, byVal dx As Integer=0, byVal dy As Integer=0, byVal Farbe As Integer)
Dim As Integer i
Screen 20, 32
Color Schwarz, Bg
Cls
Randomize Timer 'Das war der Init-Teil
FeldH(50, 250, Weiss)
FeldV(250, 50, Weiss)
Kreis(50, 300, Weiss)
FeldH(50, 350, Weiss)
FeldV(250, 400, Weiss)
Kreis(300, 50, Weiss)
Kreis(300, 550, Weiss)
FeldV(350, 50, Weiss)
FeldV(350, 400, Weiss)
FeldH(350, 350, Weiss)
FeldH(350, 250, Weiss)
Kreis(550, 300, Weiss)
Pott(50, 50, Rot)
Kreis(50, 250, Rot, FeldRadius+3)
Home(100, 300, 1, 0, Rot)
Pott(500, 50, Gruen)
Kreis(350, 50, Gruen, FeldRadius+3)
Home(300, 100, 0, 1, Gruen)
Pott(50, 500, Blau)
Kreis(250, 550, Blau, FeldRadius+3)
Home(300, 350, 0, 1, Blau)
Pott(500, 500, Gelb)
Kreis(550, 350, Gelb, FeldRadius+3)
Home(350, 300, 1, 0, Gelb)
Sleep
'Subs
Sub Pott(byVal LoX As Integer, byVal LoY As Integer, byVal Farbe As Integer)
Kreis(LoX, LoY, Farbe)
Kreis(LoX+Diff, LoY, Farbe)
Kreis(LoX, LoY+Diff, Farbe)
Kreis(LoX+Diff, LoY+Diff, Farbe)
End Sub
Sub Kreis(byVal x As Integer, byVal y As Integer, byVal Farbe As Integer, byVal Radius As Integer=FeldRadius, byVal Flag As Integer=0)
Dim As Integer i
Circle(x, y), Radius, Farbe,,,,F
If Flag Then Exit Sub
For i=1 To 3
Circle(x, y), Radius+i, Schwarz
Next Wasimmerduwillst
End Sub
Sub FeldH(byVal x As Integer, byVal y As Integer, byVal Farbe As Integer)
Dim As Integer i
For i=0 To 4
Kreis(x+i*Diff, y, Farbe)
Next Wasimmerduwillst
End Sub
Sub FeldV(byVal x As Integer, byVal y As Integer, byVal Farbe As Integer)
Dim As Integer i
For i=0 To 3
Kreis(x, y+i*Diff, Farbe)
Next Wasimmerduwillst
End Sub
Sub Home(byVal x As Integer, byVal y As Integer, byVal dx As Integer=0, byVal dy As Integer=0, byVal Farbe As Integer)
Dim As Integer i
For i=0 To 3
Kreis(x+dx*i*Diff, y+dy*i*Diff, Farbe,, 1)
Next Wasimmerduwillst
End Sub | ..wahrscheinlich sind auch hier noch Optimierungen möglich('rundere' Kreise etc.)
(Zu den Verbindungsstrichen hatte ich keine Lust mehr..)
..aber es ist ja dein Projekt, mach, wie du möchtest:D
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO..
Zuletzt bearbeitet von ytwinky am 11.08.2007, 18:28, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
|
|
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.
|
|