home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 89xx / 8901a.d64 / raetsel (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  2KB  |  76 lines

  1. 100 REM *******************************
  2. 110 REM ***                         ***
  3. 120 REM ***    RAETSEL-GENERATOR    ***
  4. 130 REM ***                         ***
  5. 140 REM ***     VON THOMAS LIPP     ***
  6. 150 REM ***                         ***
  7. 160 REM *******************************
  8. 170 :
  9. 180 DIM Z%(3,9) : REM ZIFFERN
  10. 190 DIM Q%(9)   : REM ZAHLEN
  11. 200 DIM A$(9)   : REM CODIERUNG
  12. 210 DIM C$(9)   : REM CODIERTE ZAHL
  13. 220 DIM F$(9)   : REM FORMATSTRING
  14. 230 :
  15. 240 FOR I = 1 TO 4
  16. 250 Z%(3,I)=RND(0)*10
  17. 260 Z%(2,I)=RND(0)*10
  18. 270 Z%(1,I)=RND(0)*7
  19. 280 Q%(I)=100*Z%(1,I)+10*Z%(2,I)+Z%(3,I)
  20. 290 NEXT I
  21. 300 :
  22. 310 Q%(5)=Q%(1)+Q%(2)
  23. 320 Q%(6)=Q%(3)+Q%(4)
  24. 330 Q%(7)=Q%(1)+Q%(3)
  25. 340 Q%(8)=Q%(2)+Q%(4)
  26. 350 Q%(9)=Q%(7)+Q%(8)
  27. 360 :
  28. 370 IF Q%(9) > 999 THEN240
  29. 380 :
  30. 390 FOR I = 5 TO 9
  31. 400 Z%(1,I)=Q%(I)/100
  32. 410 Z%(2,I)=(Q%(I)-Z%(1,I)*100)/10
  33. 420 Z%(3,I)=Q%(I)-Z%(1,I)*100-Z%(2,I)*10
  34. 430 NEXT I
  35. 440 :
  36. 450 A$(0)=CHR$(RND(0)*26+65)
  37. 460 FOR I = 1 TO 9
  38. 470 A$(I)=CHR$(RND(0)*26+65)
  39. 480 FOR J = 0 TO I-1
  40. 490 IF A$(J)=A$(I) THEN J=I : NEXT J : GOTO470
  41. 500 NEXT J
  42. 510 NEXT I
  43. 520 :
  44. 530 FOR I = 1 TO 9
  45. 540 C$(I)=A$(Z%(1,I))+A$(Z%(2,I))+A$(Z%(3,I))
  46. 550 NEXT I
  47. 560 :
  48. 570 PRINT
  49. 580 PRINT"        ";C$(1);" + ";C$(2);" = ";C$(5)
  50. 590 PRINT"         +     +     + "
  51. 600 PRINT"        ";C$(3);" + ";C$(4);" = ";C$(6)
  52. 610 PRINT"         =     =     = "
  53. 620 PRINT"        ";C$(7);" + ";C$(8);" = ";C$(9)
  54. 630 :
  55. 640 POKE 198,0:WAIT 198,1
  56. 650 :
  57. 660 PRINT"LOESUNG:"
  58. 670 FOR I = 1 TO 9
  59. 680 FOR J = 1 TO 3
  60. 690 F$(I)=F$(I)+RIGHT$(STR$(Z%(J,I)),1)
  61. 700 NEXT J
  62. 710 NEXT I
  63. 720 :
  64. 730 PRINT
  65. 740 PRINT"        ";F$(1);" + ";F$(2);" = ";F$(5)
  66. 750 PRINT"         +     +     + "
  67. 760 PRINT"        ";F$(3);" + ";F$(4);" = ";F$(6)
  68. 770 PRINT"         =     =     = "
  69. 780 PRINT"        ";F$(7);" + ";F$(8);" = ";F$(9)
  70. 790 :
  71. 800 PRINT"        0 1 2 3 4 5 6 7 8 9 "
  72. 810 PRINT"        ";
  73. 820 FOR I=0TO9:PRINTA$(I);" ";:NEXTI:PRINT
  74. 830 :
  75. 840 END
  76.