 |
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 |
Random
Anmeldungsdatum: 09.03.2006 Beiträge: 47
|
Verfasst am: 09.03.2006, 19:20 Titel: Sudoku_Problem |
|
|
Hi zusammen. Ich schreibe da grad einen Sudoku-Generator. Jeztz habe ich das Problem, dass das Programm immer die selben Zufallszahlen generiert und ich mit diesem dummen RND-Befehl einfach nicht weiterkomme. Auch mit else...goto spinnt´s und es kommt bei jeder Veränderung zum Absturtz. Bitte helft mir!!
Hier der Quellcode:
TIME$ = "00:00:00"
RANDOMIZE TIMER
CLS
IF INKEY$ = CHR$(27) THEN END
IF TIME$ = "00:00:05" THEN END
aa = INT(RND * 9) + 1
10 ab = INT(RND * 9) + 1
IF ab <> aa THEN ELSE GOTO 10
20 ac = INT(RND * 9) + 1
IF ac <> aa AND ac <> ab THEN ELSE GOTO 20
30 ad = INT(RND * 9) + 1
IF ad <> aa AND ad <> ab AND ad <> ac THEN ELSE GOTO 30
40 ae = INT(RND * 9) + 1
IF ae <> aa AND ae <> ab AND ae <> ac AND ae <> ad THEN ELSE GOTO 40
50 af = INT(RND * 9) + 1
IF af <> aa AND af <> ab AND af <> ac AND af <> ad AND af <> ae THEN ELSE GOTO 50
60 ag = INT(RND * 9) + 1
IF ag <> aa AND ag <> ab AND ag <> ac AND ag <> ad AND ag <> ae AND ag <> af THEN ELSE GOTO 60
70 ah = INT(RND * 9) + 1
IF ah <> aa AND ah <> ab AND ah <> ac AND ah <> ad AND ah <> ae AND ah <> af AND ah <> ag THEN ELSE GOTO 70
80 ai = INT(RND * 9) + 1
IF ai <> aa AND ai <> ab AND ai <> ac AND ai <> ad AND ai <> ae AND ai <> af AND ai <> ag AND ai <> ah THEN ELSE GOTO 80
100 ba = INT(RND * 9) + 1
IF ba <> aa AND ba <> ab AND ba <> ac THEN ELSE GOTO 100
110 bb = INT(RND * 9) + 1
IF bb <> aa AND bb <> ab AND bb <> ac AND bb <> ba THEN ELSE GOTO 110
120 bc = INT(RND * 9) + 1
IF bc <> aa AND bc <> ab AND bc <> ac AND bc <> ba AND bc <> bb THEN ELSE GOTO 120
130 bd = INT(RND * 9) + 1
IF bd <> ad AND bd <> ae AND bd <> af AND bd <> ba AND bd <> bb AND bd <> bc THEN ELSE GOTO 130
140 be = INT(RND * 9) + 1
IF be <> ad AND be <> ae AND be <> af AND be <> ba AND be <> bb AND be <> bc AND be <> bd THEN ELSE GOTO 140
150 bf = INT(RND * 9) + 1
IF bf <> ad AND bf <> ae AND bf <> af AND bf <> ba AND bf <> bb AND bf <> bc AND bf <> bd AND bf <> be THEN ELSE GOTO 150
160 bg = INT(RND * 9) + 1
IF bg <> ag AND bg <> ah AND bg <> ai AND bg <> ba AND bg <> bb AND bb <> bc AND bg <> bd AND bg <> be AND bg <> bf THEN ELSE GOTO 160
170 bh = INT(RND * 9) + 1
IF bh <> ag AND bh <> ah AND bh <> ai AND bh <> ba AND bh <> bb AND bh <> bc AND bh <> bd AND bh <> be AND bh <> bf AND bh <> bg THEN ELSE GOTO 170
180 bi = INT(RND * 9) + 1
IF bi <> ag AND bi <> ah AND bi <> ai AND bi <> ba AND bi <> bb AND bi <> bc AND bi <> bd AND bi <> be AND bi <> bf AND bi <> bg AND bi <> bh THEN ELSE GOTO 180
200 ca = INT(RND * 9) + 1
IF ca <> aa AND ca <> ab AND ca <> ac AND ca <> ba AND ca <> bb AND ca <> bc THEN ELSE GOTO 200
210 cb = INT(RND * 9) + 1
IF cb <> aa AND cb <> ab AND cb <> ac AND cb <> ba AND cb <> bb AND cb <> bc AND cb <> ca THEN ELSE GOTO 210
220 cc = INT(RND * 9) + 1
IF cc <> aa AND cc <> ab AND cc <> ac AND cc <> ba AND cc <> bb AND cc <> bc AND cc <> ca AND cc <> cb THEN ELSE GOTO 220
230 cd = INT(RND * 9) + 1
IF cd <> ad AND cd <> ae AND cd <> af AND cd <> bd AND cd <> be AND cd <> bf AND cd <> ca AND cd <> cb AND cd <> cc THEN ELSE GOTO 230
240 ce = INT(RND * 9) + 1
IF ce <> ad AND ce <> ae AND ce <> af AND ce <> bd AND ce <> be AND ce <> bf AND ce <> ca AND ce <> cb AND ce <> cc AND ce <> cd THEN ELSE GOTO 240
250 cf = INT(RND * 9) + 1
IF cf <> ad AND cf <> ae AND cf <> af AND cf <> bd AND cf <> be AND cf <> bf AND cf <> ca AND cf <> cb AND cf <> cc AND cf <> cd AND cf <> ce THEN ELSE GOTO 250
260 cg = INT(RND * 9) + 1
IF cg <> ag AND cg <> ah AND cg <> ai AND cg <> bg AND cg <> bh AND cg <> bi AND cg <> ca AND cg <> cb AND cg <> cc AND cg <> cd AND cg <> ce AND cg <> cf THEN ELSE GOTO 260
270 ch = INT(RND * 9) + 1
IF ch <> ag AND ch <> ah AND ch <> ai AND ch <> bg AND ch <> bh AND ch <> bi AND ch <> ca AND ch <> cb AND ch <> cc AND ch <> cd AND ch <> ce AND ch <> cf AND ch <> cg THEN ELSE GOTO 270
280 ci = INT(RND * 9) + 1
IF ci <> ag AND ci <> ah AND ci <> ai AND ci <> bg AND ci <> bh AND ci <> bi AND ci <> ca AND ci <> cb AND ci <> cc AND ci <> cd AND ci <> ce AND ci <> cf AND ci <> cg AND ci <> ch THEN ELSE GOTO 280
300 da = INT(RND * 9) + 1
IF da <> aa AND da <> ba AND da <> ca THEN ELSE GOTO 300
310 db = INT(RND * 9) + 1
IF db <> ab AND db <> bb AND db <> cb AND db <> da THEN ELSE GOTO 310
320 dc = INT(RND * 9) + 1
IF dc <> ac AND dc <> bc AND dc <> cc AND dc <> da AND dc <> db THEN ELSE GOTO 320
330 dd = INT(RND * 9) + 1
IF dd <> ad AND dd <> bd AND dd <> cd AND dd <> da AND dd <> db AND dd <> dc THEN ELSE GOTO 330
340 de = INT(RND * 9) + 1
IF de <> ae AND de <> be AND de <> ce AND de <> da AND de <> db AND de <> dc AND de <> dd THEN ELSE GOTO 340
350 df = INT(RND * 9) + 1
IF df <> af AND df <> bf AND df <> cf AND df <> da AND df <> db AND df <> dc AND df <> dd AND df <> de THEN ELSE GOTO 350
360 dg = INT(RND * 9) + 1
IF dg <> ag AND dg <> bg AND dg <> cg AND dg <> da AND dg <> db AND dg <> dc AND dg <> dd AND dg <> de AND dg <> df THEN ELSE GOTO 360
'Fehler
370 dh = INT(RND * 9) + 1
IF dh <> ah AND dh <> bh AND dh <> ch AND dh <> da AND dh <> db AND dh <> dc AND dh <> dd AND dh <> de AND dh <> df AND dh <> dg THEN ELSE
380 di = INT(RND * 9) + 1
IF di <> ai AND di <> bi AND di <> ci AND di <> da AND di <> db AND di <> dc AND di <> dd AND di <> de AND di <> df AND di <> dg AND di <> dh THEN ELSE GOTO 380
'5. Reihe
400 ea = INT(RND * 9) + 1
IF ea <> aa AND ea <> ba AND ea <> ca AND ea <> da AND ea <> db AND ea <> dc THEN ELSE GOTO 400
410 eb = INT(RND * 9) + 1
IF eb <> ab AND eb <> bb AND eb <> cb AND eb <> da AND eb <> db AND eb <> dc AND eb <> ea THEN ELSE GOTO 410
420 ec = INT(RND * 9) + 1
IF ec <> ac AND ec <> bc AND ec <> cc AND ec <> da AND ec <> db AND ec <> dc AND ec <> ea AND ec <> eb THEN ELSE GOTO 420
430 ed = INT(RND * 9) + 1
IF ed <> ad AND ed <> bd AND ed <> cd AND ed <> dd AND ed <> de AND ed <> df AND ed <> ea AND ed <> eb AND ed < ec THEN ELSE GOTO 430
440 ee = INT(RND * 9) + 1
IF ee <> ae AND ee <> be AND ee <> ce AND ee <> dd AND ee <> de AND ee <> df AND ee <> ea AND ee <> eb AND ee <> ec AND ee <> ed THEN ELSE GOTO 440
450 ef = INT(RND * 9) + 1
IF ef <> af AND ef <> bf AND ef <> cf AND ef <> dd AND ef <> de AND ef <> df AND ef <> ea AND ef <> eb AND ef <> ec AND ef <> ed AND ef <> ee THEN ELSE GOTO 450
460 eg = INT(RND * 9) + 1
IF eg <> ag AND eg <> bg AND eg <> cg AND eg <> dg AND eg <> dh AND eg <> di AND eg <> ea AND eg <> eb AND eg <> ec AND eg <> ed AND eg <> ee AND eg <> ef THEN ELSE
470 eh = INT(RND * 9) + 1
IF eh <> ah AND eh <> bh AND eh <> ch AND eh <> dg AND eh <> dh AND eh <> di AND eh <> ea AND eh <> eb AND eh <> ec AND eh <> ed AND eh <> ee AND eh <> ef AND eh <> eg THEN ELSE GOTO 470
480 ei = INT(RND * 9) + 1
IF ei <> ai AND ei <> bi AND ei <> ci AND ei <> dg AND ei <> dh AND ei <> di AND ei <> ea AND ei <> eb AND ei <> ec AND ei <> ed AND ei <> ee AND ei <> ef AND ei <> eg AND ei <> eh THEN ELSE GOTO 480
'6. Reihe
500 fa = INT(RND * 9) + 1
IF fa <> aa AND fa <> ba AND fa <> ca AND fa <> da AND fa <> db AND fa <> dc AND fa <> ea AND fa <> eb AND fa <> ec THEN ELSE GOTO 500
510 fb = INT(RND * 9) + 1
IF fb <> ab AND fb <> bb AND fb <> cb AND fb <> da AND fb <> db AND fb <> dc AND fb <> ea AND fb <> eb AND fb <> ec AND fb <> fa THEN ELSE GOTO 510
520 fc = INT(RND * 9) + 1
IF fc <> ac AND fc <> bc AND fc <> cc AND fc <> da AND fc <> db AND fc <> dc AND fc <> ea AND fc <> eb AND fc <> ec AND fc <> fa AND fc <> fb THEN ELSE GOTO 520
'Fehlr
530 ad = INT(RND * 9) + 1
IF fd <> ad AND fd <> bd AND fd <> cd AND fd <> dd AND fd <> de AND fd <> df AND fd <> ed AND fd <> ee AND fd <> ef AND fd <> fa AND fd <> fb AND fd <> fc THEN ELSE GOTO 530
540 fe = INT(RND * 9) + 1
IF fe <> ae AND fe <> be AND fe <> ce AND fe <> dd AND fe <> de AND fe <> df AND fe <> ed AND fe <> ee AND fe <> ef AND fe <> fa AND fe <> fb AND fe <> fc AND fe <> fd THEN ELSE GOTO 540
550 ff = INT(RND * 9) + 1
IF ff <> af AND ff <> bf AND ff <> cf AND ff <> dd AND ff <> de AND ff <> df AND ff <> ed AND ff <> ee AND ff <> ef AND ff <> fa AND ff <> fb AND ff <> fc AND ff <> fd AND ff <> fe THEN ELSE GOTO 550
560 fg = INT(RND * 9) + 1
IF fg <> ag AND fg <> bg AND fg <> cg AND fg <> dg AND fg <> dh AND fg <> di AND fg <> eg AND fg <> eh AND fg <> ei AND fg <> fa AND fg <> fb AND fg <> fc AND fg <> fd AND fg <> fe AND fg <> ff THEN ELSE GOTO 560
570 fh = INT(RND * 9) + 1
IF fh <> ah AND fh <> bh AND fh <> ch AND fh <> dg AND fh <> dh AND fh <> di AND fh <> eg AND fh <> eh AND fh <> ei AND fh <> fa AND fh <> fb AND fh <> fc AND fh <> fd AND fh <> fe AND fh <> ff AND fh <> fg THEN ELSE GOTO 570
580 fi = INT(RND * 9) + 1
IF fi <> ai AND fi <> bi AND fi <> ci AND fi <> dg AND fi <> dh AND fi <> di AND fi <> eg AND fi <> eh AND fi <> ei AND fi <> fa AND fi <> fb AND fi <> fc AND fi <> fd AND fi <> fe AND fi <> ff AND fi <> fg AND fi <> fh THEN ELSE GOTO 580
'7. Reihe
600 ga = INT(RND * 9) + 1
IF ga <> aa AND ga <> ba AND ga <> ca AND ga <> da AND ga <> ea AND ga <> fa THEN ELSE GOTO 600
610 gb = INT(RND * 9) + 1
IF gb <> ab AND gb <> bb AND gb <> cb AND gb <> db AND gb <> eb AND gb <> fb AND gb <> ga THEN ELSE GOTO 610
620 gc = INT(RND * 9) + 1
IF gc <> ac AND gc <> bc AND gc <> cc AND gc <> dc AND gc <> ec AND gc <> fc AND gc <> ga AND gc <> gb THEN ELSE GOTO 620
630 gd = INT(RND * 9) + 1
IF gd <> ad AND gd <> bd AND gd <> cd AND gd <> dd AND gd <> ed AND gd <> fd AND gd <> ga AND gd <> gb AND gd <> gc THEN ELSE GOTO 630
640 ge = INT(RND * 9) + 1
IF ge <> ae AND ge <> be AND ge <> ce AND ge <> de AND ge <> ee AND ge <> fe AND ge <> ga AND ge <> gb AND ge <> gc AND ge <> gd THEN ELSE GOTO 640
'Fehler
650 gf = INT(RND * 9) + 1
IF gf <> af AND gf <> bf AND gf <> cf AND gf <> df AND gf <> ef AND gf <> ff AND gf <> ga AND gf <> gb AND gf <> gc AND gf <> gd AND gf <> ge THEN ELSE
660 gg = INT(RND * 9) + 1
IF gg <> ag AND gg <> bg AND gg <> cg AND gg <> dg AND gg <> eg AND gg <> fg AND gg <> ga AND gg <> gb AND gg <> gc AND gg <> gd AND gg <> ge AND gg <> gf THEN ELSE GOTO 660
670 gh = INT(RND * 9) + 1
IF gh <> ah AND gh <> bh AND gh <> ch AND gh <> dh AND gh <> eh AND gh <> fh AND gh <> ga AND gh <> gb AND gh <> gc AND gh <> gd AND gh <> ge AND gh <> gf AND gh <> gg THEN ELSE GOTO 670
'Fehler
680 gi = INT(RND * 9) + 1
IF gi <> ai AND gi <> bi AND gi <> ci AND gi <> di AND gi <> ei AND gi <> fi AND gi <> ga AND gi <> gb AND gi <> gc AND gi <> gd AND gi <> ge AND gi <> gf AND gi <> gg AND gi <> gh THEN ELSE
'8. Reihe
700 ha = INT(RND * 9) + 1
IF ha <> aa AND ha <> ba AND ha <> ca AND ha <> da AND ha <> ea AND ha <> fa AND ha <> ga AND ha <> gb AND ha <> gc THEN ELSE GOTO 700
710 hb = INT(RND * 9) + 1
IF hb <> ab AND hb <> bb AND hb <> cb AND hb <> db AND hb <> eb AND hb <> fb AND hb <> ga AND hb <> gb AND hb <> gc AND hb <> ha THEN ELSE GOTO 710
720 hc = INT(RND * 9) + 1
IF hc <> ac AND hc <> bc AND hc <> cc AND hc <> dc AND hc <> ec AND hc <> fc AND hc <> ga AND hc <> gb AND hc <> gc AND hc <> ha AND hc <> hb THEN ELSE GOTO 720
730 hd = INT(RND * 9) + 1
IF hd <> ad AND hd <> bd AND hd <> cd AND hd <> dd AND hd <> ed AND hd <> fd AND hd <> gd AND hd <> ge AND hd <> gf AND hd <> ha AND hd <> hb AND hd <> hc THEN ELSE GOTO 730
740 he = INT(RND * 9) + 1
IF he <> ae AND he <> be AND he <> ce AND he <> de AND he <> ee AND he <> fe AND he <> gd AND he <> ge AND he <> gf AND he <> ha AND he <> hb AND he <> hc AND he <> hd THEN ELSE GOTO 740
750 hf = INT(RND * 9) + 1
IF hf <> af AND hf <> bf AND hf <> cf AND hf <> df AND hf <> ef AND hf <> ff AND hf <> gd AND hf <> ge AND hf <> gf AND hf <> ha AND hf <> hb AND hf <> hc AND hf <> hd AND hf <> he THEN ELSE GOTO 750
760 hg = INT(RND * 9) + 1
IF hg <> ag AND hg <> bg AND hg <> cg AND hg <> dg AND hg <> eg AND hg <> fg AND hg <> gg AND hg <> gh AND hg <> gi AND hg <> ha AND hg <> hb AND hg <> hc AND hg <> hd AND hg <> he AND hg <> hf THEN ELSE GOTO 760
'Fehler
770 hh = INT(RND * 9) + 1
IF hh <> ah AND hh <> bh AND hh <> ch AND hh <> dh AND hh <> eh AND hh <> fh AND hh <> gg AND hh <> gh AND hh <> gi AND hh <> ha AND hh <> hb AND hh <> hc AND hh <> hd AND hh <> he AND hh <> hf AND hh <> hg THEN ELSE
780 hi = INT(RND * 9) + 1
IF hi <> ai AND hi <> bi AND hi <> ci AND hi <> di AND hi <> ei AND hi <> fi AND hi <> gg AND hi <> gh AND hi <> gi AND hi <> ha AND hi <> hb AND hi <> hc AND hi <> hd AND hi <> he AND hi <> hf AND hi <> hg AND hi <> hh THEN ELSE GOTO 780
'9. Reihe
800 ia = INT(RND * 9) + 1
IF ia <> aa AND ia <> ba AND ia <> ca AND ia <> da AND ia <> ea AND ia <> fa AND ia <> ga AND ia <> gb AND ia <> gc AND ia <> ha AND ia <> hb AND ia <> hc THEN ELSE GOTO 800
810 ab = INT(RND * 9) + 1
IF ib <> ab AND ib <> bb AND ib <> cb AND ib <> db AND ib <> eb AND ib <> fb AND ib <> ga AND ib <> gb AND ib <> gc AND ib <> ha AND ib <> hb AND ib <> hc AND ib <> ia THEN ELSE GOTO 810
820 ic = INT(RND * 9) + 1
IF ic <> ac AND ic <> bc AND ic <> cc AND ic <> dc AND ic <> ec AND ic <> fc AND ic <> ga AND ic <> gb AND ic <> gc AND ic <> ha AND ic <> hb AND ic <> hc AND ic <> ia AND ic <> ib THEN ELSE GOTO 820
830 id = INT(RND * 9) + 1
IF id <> ad AND id <> bd AND id <> cd AND id <> dd AND id <> ed AND id <> fd AND id <> gd AND id <> ge AND id <> gf AND id <> hd AND id <> he AND id <> hf AND id <> ia AND id <> ib AND id <> ic THEN ELSE GOTO 830
'Fehler
840 ie = INT(RND * 9) + 1
IF ie <> ae AND ie <> be AND ie <> ce AND ie <> de AND ie <> ee AND ie <> fe AND ie <> gd AND ie <> ge AND ie <> gf AND ie <> hd AND ie <> he AND ie <> hf AND ie <> ia AND ie <> ib AND ie <> ic AND ie <> id THEN ELSE
'Fehler
850 iff = INT(RND * 9) + 1
IF iff <> af AND iff <> bf AND iff <> cf AND iff <> df AND iff <> ef AND iff <> ff AND iff <> gd AND iff <> ge AND iff <> gf AND iff <> hd AND iff <> he AND iff <> hf AND iff <> ia AND iff <> ib AND iff <> ic AND iff <> id AND iff <> ie THEN ELSE
860 ig = INT(RND * 9) + 1
IF ig <> ag AND ig <> bg AND ig <> cg AND ig <> dg AND ig <> eg AND ig <> fg AND ig <> gg AND ig <> gh AND ig <> gi AND ig <> hg AND ig <> hh AND ig <> hi AND ig <> ia AND ig <> ib AND ig <> ic AND ig <> id AND ig <> ie AND ig <> iff THEN ELSE GOTO 860
870 ih = INT(RND * 9) + 1
IF ih <> ah AND ih <> bh AND ih <> ch AND ih <> dh AND ih <> eh AND ih <> fh AND ih <> gh AND ih <> hh AND ih <> gi AND ig <> hg AND ig <> hh AND ig <> hi AND ig <> ia AND ig <> ib AND ig <> ic AND ig <> id AND ig <> ie AND ig <> iff THEN ELSE GOTO 860
880 ig = INT(RND * 9) + 1
IF ig <> ag AND ig <> bg AND ig <> cg AND ig <> dg AND ig <> eg AND ig <> fg AND ig <> gg AND ig <> gh AND ig <> gi AND ig <> hg AND ig <> hh AND ig <> hi AND ig <> ia AND ig <> ib AND ig <> ic AND ig <> id AND ig <> ie AND ig <> iff THEN ELSE GOTO 860
PRINT aa; ab; ac, ad; ae; af, ag; ah; ai
PRINT ba; bb; bc, bd; be; bf, bg; bh; bi
PRINT ca; cb; cc, cd; ce; cf, cg; ch; ci
PRINT
PRINT da; db; dc, dd; de; df, dg; dh; di
PRINT ea; eb; ec, ed; ee; ef, eg; eh; ei
PRINT fa; fb; fc, fd; fe; ff, fg; fh; fi
PRINT
PRINT ga; gb; gc, gd; ge; gf, gg; gh; gi
PRINT ha; hb; hc, hd; he; hf, hg; hh; hi
PRINT ia; ib; ic, id; ie; iff, ig; ih; ii
END
Zuletzt bearbeitet von Random am 09.03.2006, 20:00, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 09.03.2006, 19:42 Titel: |
|
|
Mach nie solche Sachen!
Wenn du diese Zeile entfernst, wird sich einerseits die Uhr deines Computer nicht mehr ewig verstellen und andere Seits wird das Programm (wahrscheinlich) laufen.
Und bitte mit [code] arbeiten, so sieht der Quellcode sehr schlecht aus. |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 09.03.2006, 19:49 Titel: |
|
|
au weia.. goto zum quadratischsten quadrat das es jemals hier im forum gab  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Random
Anmeldungsdatum: 09.03.2006 Beiträge: 47
|
Verfasst am: 09.03.2006, 19:57 Titel: |
|
|
Also wenn ich die Zeit weglasse, geht nix mehr (Enlosschleife). Gibt´s denn keinen Zufallszahlengenerator, der ohne Randomize arbeitet?
Edit: Ich denke, dass es wohl besser ist, mir ein anderes Projekt zu suchen oder die die Zahlen, die spinnen (Doupletten und Nullen) einfach nicht auszudrucken. Dann noch etwas Grafik dazu und dann tut´s das wohl schon.
Hier sonst mal noch mein Sudoku-Editor, wer wenigstens ohne Fehler läuft:
SCREEN 9
COLOR 3, 8
CLS
x = 300
y = 175
time = 10000
10 FOR I = 0 TO 500000
IF I = 500000 THEN time = time - 1
NEXT I
CIRCLE (x, y), 5, 4
taste$ = INKEY$
COLOR 3, 8
LOCATE 2, 30: PRINT "*** S U D O K U ***"
LINE (100, 320)-(500, 40), 2, B
LINE (100, 130)-(500, 130), 6
LINE (100, 230)-(500, 230), 6
LINE (235, 40)-(235, 320), 6
LINE (365, 40)-(365, 320), 6
IF taste$ = CHR$(27) THEN END
IF taste$ = CHR$(0) + "K" THEN CLS : x = x - 45
IF taste$ = CHR$(0) + "M" THEN CLS : x = x + 45
IF taste$ = CHR$(0) + "H" THEN CLS : y = y - 30
IF taste$ = CHR$(0) + "P" THEN CLS : y = y + 30
IF x = 120 AND y = 55 AND taste$ = CHR$(13) THEN LOCATE 5, 15: INPUT "", aa
IF x = 165 AND y = 55 AND taste$ = CHR$(13) THEN LOCATE 5, 20: INPUT "", ab
IF x = 210 AND y = 55 AND taste$ = CHR$(13) THEN LOCATE 5, 25: INPUT "", ac
IF x = 255 AND y = 55 AND taste$ = CHR$(13) THEN LOCATE 5, 32: INPUT "", ad
IF x = 300 AND y = 55 AND taste$ = CHR$(13) THEN LOCATE 5, 37: INPUT "", ae
IF x = 345 AND y = 55 AND taste$ = CHR$(13) THEN LOCATE 5, 42: INPUT "", af
IF x = 390 AND y = 55 AND taste$ = CHR$(13) THEN LOCATE 5, 48: INPUT "", ag
IF x = 435 AND y = 55 AND taste$ = CHR$(13) THEN LOCATE 5, 53: INPUT "", ah
IF x = 480 AND y = 55 AND taste$ = CHR$(13) THEN LOCATE 5, 58: INPUT "", ai
IF x = 120 AND y = 85 AND taste$ = CHR$(13) THEN LOCATE 7, 15: INPUT "", ba
IF x = 165 AND y = 85 AND taste$ = CHR$(13) THEN LOCATE 7, 20: INPUT "", bb
IF x = 210 AND y = 85 AND taste$ = CHR$(13) THEN LOCATE 7, 25: INPUT "", bc
IF x = 255 AND y = 85 AND taste$ = CHR$(13) THEN LOCATE 7, 32: INPUT "", bd
IF x = 300 AND y = 85 AND taste$ = CHR$(13) THEN LOCATE 7, 37: INPUT "", be
IF x = 345 AND y = 85 AND taste$ = CHR$(13) THEN LOCATE 7, 42: INPUT "", bf
IF x = 390 AND y = 85 AND taste$ = CHR$(13) THEN LOCATE 7, 48: INPUT "", bg
IF x = 435 AND y = 85 AND taste$ = CHR$(13) THEN LOCATE 7, 53: INPUT "", bh
IF x = 480 AND y = 85 AND taste$ = CHR$(13) THEN LOCATE 7, 58: INPUT "", bi
IF x = 120 AND y = 115 AND taste$ = CHR$(13) THEN LOCATE 9, 15: INPUT "", ca
IF x = 165 AND y = 115 AND taste$ = CHR$(13) THEN LOCATE 9, 20: INPUT "", cb
IF x = 210 AND y = 115 AND taste$ = CHR$(13) THEN LOCATE 9, 25: INPUT "", cc
IF x = 255 AND y = 115 AND taste$ = CHR$(13) THEN LOCATE 9, 32: INPUT "", cd
IF x = 300 AND y = 115 AND taste$ = CHR$(13) THEN LOCATE 9, 37: INPUT "", ce
IF x = 345 AND y = 115 AND taste$ = CHR$(13) THEN LOCATE 9, 42: INPUT "", cf
IF x = 390 AND y = 115 AND taste$ = CHR$(13) THEN LOCATE 9, 48: INPUT "", cg
IF x = 435 AND y = 115 AND taste$ = CHR$(13) THEN LOCATE 9, 53: INPUT "", ch
IF x = 480 AND y = 115 AND taste$ = CHR$(13) THEN LOCATE 9, 58: INPUT "", ci
IF x = 120 AND y = 145 AND taste$ = CHR$(13) THEN LOCATE 11, 15: INPUT "", da
IF x = 165 AND y = 145 AND taste$ = CHR$(13) THEN LOCATE 11, 20: INPUT "", db
IF x = 210 AND y = 145 AND taste$ = CHR$(13) THEN LOCATE 11, 25: INPUT "", dc
IF x = 255 AND y = 145 AND taste$ = CHR$(13) THEN LOCATE 11, 32: INPUT "", dd
IF x = 300 AND y = 145 AND taste$ = CHR$(13) THEN LOCATE 11, 37: INPUT "", de
IF x = 345 AND y = 145 AND taste$ = CHR$(13) THEN LOCATE 11, 42: INPUT "", df
IF x = 390 AND y = 145 AND taste$ = CHR$(13) THEN LOCATE 11, 48: INPUT "", dg
IF x = 435 AND y = 145 AND taste$ = CHR$(13) THEN LOCATE 11, 53: INPUT "", dh
IF x = 480 AND y = 145 AND taste$ = CHR$(13) THEN LOCATE 11, 58: INPUT "", di
IF x = 120 AND y = 175 AND taste$ = CHR$(13) THEN LOCATE 13, 15: INPUT "", ea
IF x = 165 AND y = 175 AND taste$ = CHR$(13) THEN LOCATE 13, 20: INPUT "", eb
IF x = 210 AND y = 175 AND taste$ = CHR$(13) THEN LOCATE 13, 25: INPUT "", ec
IF x = 255 AND y = 175 AND taste$ = CHR$(13) THEN LOCATE 13, 32: INPUT "", ed
IF x = 300 AND y = 175 AND taste$ = CHR$(13) THEN LOCATE 13, 37: INPUT "", ee
IF x = 345 AND y = 175 AND taste$ = CHR$(13) THEN LOCATE 13, 42: INPUT "", ef
IF x = 390 AND y = 175 AND taste$ = CHR$(13) THEN LOCATE 13, 48: INPUT "", eg
IF x = 435 AND y = 175 AND taste$ = CHR$(13) THEN LOCATE 13, 53: INPUT "", eh
IF x = 480 AND y = 175 AND taste$ = CHR$(13) THEN LOCATE 13, 58: INPUT "", ei
IF x = 120 AND y = 205 AND taste$ = CHR$(13) THEN LOCATE 15, 15: INPUT "", fa
IF x = 165 AND y = 205 AND taste$ = CHR$(13) THEN LOCATE 15, 20: INPUT "", fb
IF x = 210 AND y = 205 AND taste$ = CHR$(13) THEN LOCATE 15, 25: INPUT "", fc
IF x = 255 AND y = 205 AND taste$ = CHR$(13) THEN LOCATE 15, 32: INPUT "", fd
IF x = 300 AND y = 205 AND taste$ = CHR$(13) THEN LOCATE 15, 37: INPUT "", fe
IF x = 345 AND y = 205 AND taste$ = CHR$(13) THEN LOCATE 15, 42: INPUT "", ff
IF x = 390 AND y = 205 AND taste$ = CHR$(13) THEN LOCATE 15, 48: INPUT "", fg
IF x = 435 AND y = 205 AND taste$ = CHR$(13) THEN LOCATE 15, 53: INPUT "", fh
IF x = 480 AND y = 205 AND taste$ = CHR$(13) THEN LOCATE 15, 58: INPUT "", fi
IF x = 120 AND y = 235 AND taste$ = CHR$(13) THEN LOCATE 18, 15: INPUT "", ga
IF x = 165 AND y = 235 AND taste$ = CHR$(13) THEN LOCATE 18, 20: INPUT "", gb
IF x = 210 AND y = 235 AND taste$ = CHR$(13) THEN LOCATE 18, 25: INPUT "", gc
IF x = 255 AND y = 235 AND taste$ = CHR$(13) THEN LOCATE 18, 32: INPUT "", gd
IF x = 300 AND y = 235 AND taste$ = CHR$(13) THEN LOCATE 18, 37: INPUT "", ge
IF x = 345 AND y = 235 AND taste$ = CHR$(13) THEN LOCATE 18, 42: INPUT "", gf
IF x = 390 AND y = 235 AND taste$ = CHR$(13) THEN LOCATE 18, 48: INPUT "", gg
IF x = 435 AND y = 235 AND taste$ = CHR$(13) THEN LOCATE 18, 53: INPUT "", gh
IF x = 480 AND y = 235 AND taste$ = CHR$(13) THEN LOCATE 18, 58: INPUT "", gi
IF x = 120 AND y = 265 AND taste$ = CHR$(13) THEN LOCATE 20, 15: INPUT "", ha
IF x = 165 AND y = 265 AND taste$ = CHR$(13) THEN LOCATE 20, 20: INPUT "", hb
IF x = 210 AND y = 265 AND taste$ = CHR$(13) THEN LOCATE 20, 25: INPUT "", hc
IF x = 255 AND y = 265 AND taste$ = CHR$(13) THEN LOCATE 20, 32: INPUT "", hd
IF x = 300 AND y = 265 AND taste$ = CHR$(13) THEN LOCATE 20, 37: INPUT "", he
IF x = 345 AND y = 265 AND taste$ = CHR$(13) THEN LOCATE 20, 42: INPUT "", hf
IF x = 390 AND y = 265 AND taste$ = CHR$(13) THEN LOCATE 20, 48: INPUT "", hg
IF x = 435 AND y = 265 AND taste$ = CHR$(13) THEN LOCATE 20, 53: INPUT "", hh
IF x = 480 AND y = 265 AND taste$ = CHR$(13) THEN LOCATE 20, 58: INPUT "", hi
IF x = 120 AND y = 295 AND taste$ = CHR$(13) THEN LOCATE 22, 15: INPUT "", ia
IF x = 165 AND y = 295 AND taste$ = CHR$(13) THEN LOCATE 22, 20: INPUT "", ib
IF x = 210 AND y = 295 AND taste$ = CHR$(13) THEN LOCATE 22, 25: INPUT "", ic
IF x = 255 AND y = 295 AND taste$ = CHR$(13) THEN LOCATE 22, 32: INPUT "", id
IF x = 300 AND y = 295 AND taste$ = CHR$(13) THEN LOCATE 22, 37: INPUT "", ie
IF x = 345 AND y = 295 AND taste$ = CHR$(13) THEN LOCATE 22, 42: INPUT "", iff
IF x = 390 AND y = 295 AND taste$ = CHR$(13) THEN LOCATE 22, 48: INPUT "", ig
IF x = 435 AND y = 295 AND taste$ = CHR$(13) THEN LOCATE 22, 53: INPUT "", ih
IF x = 480 AND y = 295 AND taste$ = CHR$(13) THEN LOCATE 22, 58: INPUT "", ii
LOCATE 5, 15: PRINT aa
LOCATE 5, 20: PRINT ab
LOCATE 5, 25: PRINT ac
LOCATE 5, 32: PRINT ad
LOCATE 5, 37: PRINT ae
LOCATE 5, 42: PRINT af
LOCATE 5, 48: PRINT ag
LOCATE 5, 53: PRINT ah
LOCATE 5, 58: PRINT ai
LOCATE 7, 15: PRINT ba
LOCATE 7, 20: PRINT bb
LOCATE 7, 25: PRINT bc
LOCATE 7, 32: PRINT bd
LOCATE 7, 37: PRINT be
LOCATE 7, 42: PRINT bf
LOCATE 7, 48: PRINT bg
LOCATE 7, 53: PRINT bh
LOCATE 7, 58: PRINT bi
LOCATE 9, 15: PRINT ca
LOCATE 9, 20: PRINT cb
LOCATE 9, 25: PRINT cc
LOCATE 9, 32: PRINT cd
LOCATE 9, 37: PRINT ce
LOCATE 9, 42: PRINT cf
LOCATE 9, 48: PRINT cg
LOCATE 9, 53: PRINT ch
LOCATE 9, 58: PRINT ci
LOCATE 11, 15: PRINT da
LOCATE 11, 20: PRINT db
LOCATE 11, 25: PRINT dc
LOCATE 11, 32: PRINT dd
LOCATE 11, 37: PRINT de
LOCATE 11, 42: PRINT df
LOCATE 11, 48: PRINT dg
LOCATE 11, 53: PRINT dh
LOCATE 11, 58: PRINT di
LOCATE 13, 15: PRINT ea
LOCATE 13, 20: PRINT eb
LOCATE 13, 25: PRINT ec
LOCATE 13, 32: PRINT ed
LOCATE 13, 37: PRINT ee
LOCATE 13, 42: PRINT ef
LOCATE 13, 48: PRINT eg
LOCATE 13, 53: PRINT eh
LOCATE 13, 58: PRINT ei
LOCATE 15, 15: PRINT fa
LOCATE 15, 20: PRINT fb
LOCATE 15, 25: PRINT fc
LOCATE 15, 32: PRINT fd
LOCATE 15, 37: PRINT fe
LOCATE 15, 42: PRINT ff
LOCATE 15, 48: PRINT fg
LOCATE 15, 53: PRINT fh
LOCATE 15, 58: PRINT fi
LOCATE 18, 15: PRINT ga
LOCATE 18, 20: PRINT gb
LOCATE 18, 25: PRINT gc
LOCATE 18, 32: PRINT gd
LOCATE 18, 37: PRINT ge
LOCATE 18, 42: PRINT gf
LOCATE 18, 48: PRINT gg
LOCATE 18, 53: PRINT gh
LOCATE 18, 58: PRINT gi
LOCATE 20, 15: PRINT ha
LOCATE 20, 20: PRINT hb
LOCATE 20, 25: PRINT hc
LOCATE 20, 32: PRINT hd
LOCATE 20, 37: PRINT he
LOCATE 20, 42: PRINT hf
LOCATE 20, 48: PRINT hg
LOCATE 20, 53: PRINT hh
LOCATE 20, 58: PRINT hi
LOCATE 22, 15: PRINT ia
LOCATE 22, 20: PRINT ib
LOCATE 22, 25: PRINT ic
LOCATE 22, 32: PRINT id
LOCATE 22, 37: PRINT ie
LOCATE 22, 42: PRINT iff
LOCATE 22, 48: PRINT ig
LOCATE 22, 53: PRINT ih
LOCATE 22, 58: PRINT ii
CIRCLE (x, y), 12, 4
GOTO 10
Zuletzt bearbeitet von Random am 09.03.2006, 20:12, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 09.03.2006, 20:05 Titel: |
|
|
unter QB nicht, nein.. kannst natürlich so scherze machen wie eine zufällige datei auf der festplatte öffnen und das byte an position 123 als zufallszahl nehmen aber offiziell gibts da nix.
btw hast du das irgendwie eh nich richtig verstanden.
mach einfach nur randomize timer und fertig, dann gibts je nach uhrzeit verschiedene werte. Und wenn du das nich willst mach eben randomize 123 oder sowas, dann gibts immer die selbe zahlenfolge (daher nimmt man meistens timer weil dann eben eigentlich immer ne andere rauskommt)
Und was soll diese sache mit if time$="00:00:05" bringen? zeit messen tust du, indem du time$ oder timer in eine variable speicherst (bei time$ string und bei timer single) und dann einfach die teile subtrahierst, sprich sowas in der richtung:
Code: | cls
print "Starte@"+time$
start!=timer
do
locate 2,1
print using "Vergangene Sekunden: ###.##"; timer-start!
loop until inkey$=chr$(27) 'mit ESC abbrechen
print "Ende@"+time$
sleep 1 |
_________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 09.03.2006, 20:09 Titel: |
|
|
Dann ist der Code als ganzes Verkorst ...
Zitat: | Gibt´s denn keinen Zufallszahlengenerator, der ohne Randomize arbeitet? |
Ja die gibt es, aber wenn der Code nicht Geht, hilft kein Zufallsgenerator mehr. |
|
Nach oben |
|
 |
Random
Anmeldungsdatum: 09.03.2006 Beiträge: 47
|
Verfasst am: 09.03.2006, 20:20 Titel: |
|
|
time$="00:00:05" braucht´s natürlich nicht. Aber sonst kann ich bei der Zeit wirklich nichts verändern. Interessant ist aber, dass am Anfang (so die ersten vier Zeilen) alles bestens lief, ohne Fehler, mit Sleep etc. Das ist mir einfach zu hoch. Oder bin ich etwa an die Grenzen von qb gelangt?  |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 09.03.2006, 21:02 Titel: |
|
|
Hallo.
Bitte setz deinen Quelltext in code-Tags. Programmiertechnisch solltest du dringend auf diese furchtbaren Zeilennummern verzichten. Dann wird dein Programm viel übersichtlicher und das Debugging wird einfacher. Außerdem verwendest du oft redundante Codezeilen. Dreael hat mal einen Artikel zu Anfängerfehlern geschrieben, wo beschrieben wird, wie man sie vermeidet. In dem Sinne: Es ist noch kein Meister vom Himmel gefallen, fleißig weiter an dem Source pfeilen!
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 09.03.2006, 23:22 Titel: |
|
|
@Random:
Vielleicht ist
http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/Anfaengerfehler.html
die empfehlenswerte Lektüre: Wenn man die durch Kombinatorik gebildete Logik/Struktur, die einem die Maschine generieren/verwalten soll, durch tonnenweise Copy&Paste-IF-Zeilen im Quellcode implementiert, dann ist bereits der Ansatz falsch!
Zum Thema TIME$: Als eingeschränkter Windows-Benutzer fehlt einem ohnehin das Privileg zum Zeit stellen. Wäre ja noch schöner, wenn bei mir ein PHP-Webhostingkunde die Systemzeit mittels PHP-Script einfach so verstellen könnte, damit am Schluss kein Logfile mehr stimmt... ;-)
Übrigens habe ansonsten ich noch hier als Klein-Projekt den Sudoku-Knacker in der Sammlung.
Ansonsten habe ich mich dort auch dem Thema Generierung von Rätseln gewidmet: Ist auf alle Fälle nicht so einfach, auch mein Ansatz ist von dem her betrachtet auch noch nicht veröffentlichungsreif... _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
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.
|
|