home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1989 Janurary / 64er_Magazin_89-01_1989_Markt__Technik_de_Side_A.d64 / raetsel (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  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.