SHARE
TWEET

SuBloku.Bas

verz Dec 6th, 2019 (edited) 27 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 10 dim su(9,9),sh(9,9)
  2. 30 dim gx(9,9),gy(9,9)
  3. 40 dim n(9,9,9)
  4. 50 for i=1 to 12:h$=h$+chr$(17):next i:h$=chr$(19)+h$
  5. 55 k$=chr$(19)+chr$(18)+chr$(154)
  6.  
  7. rem *** colori per lo schema
  8. 60 poke 53281,0
  9. 65 c(1)=155:c(2)=154:c(3)=28:c(4)=158:c(5)=5
  10. 70 c(6)=159:c(7)=156:c(8)=30:c(9)=150
  11. 80 for i=1 to 9
  12. 90 r$(i)=r$(i-1)+chr$(29):d$(i)=d$(i-1)+chr$(17)
  13. 95 next i
  14.  
  15. 100 gosub 25000
  16. 110 print chr$(147)
  17. 120 for i=1 to 9:gx(i,0)=0:next i
  18.  
  19. 150 for i=1 to 9
  20. 160   for j=1 to 9
  21. 170     x=sh(i,j)
  22. 180     gx(x,0)=gx(x,0)+1
  23. 190     gx(x,gx(x,0))=i:gy(x,gx(x,0))=j
  24. 200   next j
  25. 210 next i
  26.  
  27.  
  28. 420 gosub 19800
  29.  
  30. rem *** tutte le note per tutte le caselle, tranne quelle piene
  31. 1000 for k=1 to 9:n(0,0,k)=9:next k
  32. 1010 for i=1 to 9
  33. 1020   for j=1 to 9
  34. 1030     u=1:n(i,j,0)=9:v=su(i,j)
  35. 1040     if v>0 then u=0
  36. 1050     for k=1 to 9:n(i,j,k)=u:next k
  37. 1060   next j:next i
  38. 1070 cf=0
  39.  
  40. rem *** rimozione note per valori gia' in riga/colonna
  41. 1090 for i=1 to 9
  42. 1100   for j=1 to 9
  43. 1110     if su(i,j)>0 then gosub 11000
  44. 1115     rem print k$;"rimuovo note per valori iniziali";i;j;"    "
  45. 1120   next j
  46. 1130 next i
  47.  
  48. rem *** loop di elaborazione
  49. 1200 fl=0
  50. 1210 gosub 10000
  51. 1220 gosub 13000
  52. 1230 gosub 19800
  53. 1235 if fl=1 then gosub 19700
  54. 1240 if fl=1 then 1200
  55. 1250 fl=1:gosub 19700:if fl=0 then 9000
  56. 1260 fl=0:gosub 14000:if fl=1 then 1200
  57.  
  58. rem *** fine elaborazione
  59. 9000 print:print int((ti-t)/60) "sec"
  60. 9010 print
  61. 9015 print:print "   premi un tasto..."
  62. 9020 get l$:if l$="" then 9020
  63. 9999 goto 100
  64.  
  65.  
  66. rem *** cerca caselle con singole note
  67. 10000 for i=1 to 9
  68. 10010   for j=1 to 9
  69. 10015     rem print k$;"cerco celle con singole note ";i;j;"    "
  70. 10020     if n(i,j,0)=0 then 10100
  71. 10030     l=0
  72. 10040     for k=1 to 9:if n(i,j,k) then l=l+1:p=k
  73. 10050     next k
  74. 10060     if l<>1 then 10100
  75. 10062     print chr$(19)+r$(j)+d$(i)+chr$(18)+chr$(c(sh(i,j)))+mid$(str$(p),2)
  76. 10065     print h$;p;" -> ("i;",";j;")"
  77. 10070     su(i,j)=p:n(i,j,0)=0:for k=1 to 9:n(i,j,k)=0:next k
  78. 10080     gosub 11000
  79. 10090     goto 10000
  80. 10100   next j:next i
  81. 10110 return
  82.  
  83. rem *** rimuove le note attinenti al valore di una casella
  84. 11000 a=su(i,j):n(0,0,a)=n(0,0,a)-1
  85. 11005 q=sh(i,j):cf=cf+1
  86. 11010 for m=1 to 9
  87. 11020   n(m,j,a)=0
  88. 11030   n(i,m,a)=0
  89. 11040   x=gx(q,m):y=gy(q,m)
  90. 11050   n(x,y,a)=0
  91. 11060   n(i,j,m)=0
  92. 11080 next m
  93. 11085 fl=1
  94. 11090 return
  95.  
  96. rem *** cerca le note che si ripetono una sola volta in riga/colonna/blocco
  97. 13000 fd=0
  98. 13010 for z=1 to 9
  99. 13020   rem print k$;"cerco singole note di ";z;"     "
  100. 13030   for f=1 to 9
  101. 13040     fx=0:fy=0:fb=0
  102. 13050     for g=1 to 9
  103. 13060       if n(f,g,z) then fx=fx+1:v=g
  104. 13070       if n(g,f,z) then fy=fy+1:w=g
  105. 13075       if n(gx(f,g),gy(f,g),z) then fb=fb+1:u=g
  106. 13080     next g
  107. 13090     if fx=1 then i=f:j=v:goto 13150
  108. 13100     if fy=1 then i=w:j=f:goto 13150
  109. 13105     if fb=1 then i=gx(f,u):j=gy(f,u):goto 13150
  110. 13110   next f
  111. 13120 next z
  112. 13130 if fd=1 and cf<81 goto 13000
  113. 13140 return
  114. 13150 su(i,j)=z:n(i,j,0)=0
  115. 13160 for k=1 to 9:n(i,j,k)=0:next k
  116. 13170 gosub 11000
  117. 13180 fd=1:print chr$(19)+r$(j)+d$(i)+chr$(18)+chr$(c(sh(i,j)))+mid$(str$(z),2)
  118. 13190 print h$;z;" -> ("i;",";j;")"
  119. 13200 if cf=81 then return
  120. 13210 goto 13110
  121.  
  122.  
  123.  
  124. rem *** 1av: controlla se una riga/colonna di note appartiene a un blocco
  125. 14000 for b=1 to 9
  126. 14010   for k=1 to 9
  127. 14015   rem print k$;"cerco r/c con note in un blocco";b;k;"  "
  128. 14020     cx=0:cy=0
  129. 14030     a=2^(k-1)
  130. 14040     for m=1 to 9
  131. 14050       if n(gx(b,m),gy(b,m),k) = 0 goto 14110
  132. 14060       if cx=0 then cx=gx(b,m)
  133. 14070       if cy=0 then cy=gy(b,m)
  134. 14080       if cx<>gx(b,m) then cx=-1
  135. 14090       if cy<>gy(b,m) then cy=-1
  136. 14100       if cx+cy=-2 goto 14140
  137. 14110     next m
  138. 14120     if cx>0 then gosub 14300
  139. 14130     if cy>0 then gosub 14400
  140. 14140   next k
  141. 14150 next b
  142. 14160 return
  143.  
  144. 14300 for j=1 to 9
  145. 14310   if sh(cx,j)=b then 14330
  146. 14320   if n(cx,j,k) then n(cx,j,k)=0
  147. 14330 next j
  148. 14340 fl=1:return
  149.  
  150. 14400 for i=1 to 9
  151. 14410   if sh(i,cy)=b then 14430
  152. 14420   if n(i,cy,k) then n(i,cy,k)=0
  153. 14430 next i
  154. 14440 fl=1:return
  155.  
  156. rem *** controlla se e' risolto
  157. 19700 for k=1 to 9
  158. 19710   if n(0,0,k)>0 then return
  159. 19760 next k
  160. 19770 fl=0
  161. 19780 return
  162.  
  163. rem *** stampa lo schema
  164. 19800 print chr$(147)
  165. 19810 for i=1 to 9
  166. 19815   l$=""
  167. 19820   for j=1 to 9
  168. 19825     a=su(i,j)
  169. 19830     a$=" ":if a then a$=mid$(str$(a),2)
  170. 19840     a$=chr$(18)+chr$(c(sh(i,j)))+a$
  171. 19850     l$=l$+a$
  172. 19860   next j
  173. 19865   print " "+l$;chr$(154)
  174. 19870   rem
  175. 19880 next i
  176. 19890 return
  177.  
  178.  
  179. rem *** SuBloku easy
  180. 20001 su(1,1)=9:su(1,2)=2:su(1,3)=1:su(1,4)=5:su(1,5)=6
  181. 20002 su(1,6)=0:su(1,7)=0:su(1,8)=0:su(1,9)=0
  182. 20003 su(2,1)=0:su(2,2)=0:su(2,3)=0:su(2,4)=0:su(2,5)=0
  183. 20004 su(2,6)=9:su(2,7)=6:su(2,8)=0:su(2,9)=2
  184. 20005 su(3,1)=0:su(3,2)=6:su(3,3)=0:su(3,4)=0:su(3,5)=0
  185. 20006 su(3,6)=0:su(3,7)=0:su(3,8)=2:su(3,9)=4
  186. 20007 su(4,1)=0:su(4,2)=1:su(4,3)=0:su(4,4)=0:su(4,5)=4
  187. 20008 su(4,6)=0:su(4,7)=0:su(4,8)=0:su(4,9)=9
  188. 20009 su(5,1)=0:su(5,2)=0:su(5,3)=5:su(5,4)=8:su(5,5)=0
  189. 20010 su(5,6)=1:su(5,7)=2:su(5,8)=0:su(5,9)=0
  190. 20011 su(6,1)=3:su(6,2)=0:su(6,3)=0:su(6,4)=0:su(6,5)=7
  191. 20012 su(6,6)=0:su(6,7)=0:su(6,8)=9:su(6,9)=0
  192. 20013 su(7,1)=1:su(7,2)=9:su(7,3)=0:su(7,4)=0:su(7,5)=0
  193. 20014 su(7,6)=0:su(7,7)=0:su(7,8)=4:su(7,9)=0
  194. 20015 su(8,1)=2:su(8,2)=0:su(8,3)=9:su(8,4)=6:su(8,5)=0
  195. 20016 su(8,6)=0:su(8,7)=0:su(8,8)=0:su(8,9)=0
  196. 20017 su(9,1)=0:su(9,2)=0:su(9,3)=0:su(9,4)=0:su(9,5)=2
  197. 20018 su(9,6)=3:su(9,7)=9:su(9,8)=8:su(9,9)=6
  198. 20019 sh(1,1)=1:sh(1,2)=1:sh(1,3)=1:sh(1,4)=1:sh(1,5)=1
  199. 20020 sh(1,6)=2:sh(1,7)=2:sh(1,8)=2:sh(1,9)=2
  200. 20021 sh(2,1)=1:sh(2,2)=1:sh(2,3)=1:sh(2,4)=3:sh(2,5)=3
  201. 20022 sh(2,6)=2:sh(2,7)=2:sh(2,8)=4:sh(2,9)=2
  202. 20023 sh(3,1)=1:sh(3,2)=3:sh(3,3)=3:sh(3,4)=3:sh(3,5)=2
  203. 20024 sh(3,6)=2:sh(3,7)=4:sh(3,8)=4:sh(3,9)=4
  204. 20025 sh(4,1)=5:sh(4,2)=3:sh(4,3)=3:sh(4,4)=3:sh(4,5)=3
  205. 20026 sh(4,6)=6:sh(4,7)=6:sh(4,8)=4:sh(4,9)=4
  206. 20027 sh(5,1)=5:sh(5,2)=5:sh(5,3)=6:sh(5,4)=6:sh(5,5)=6
  207. 20028 sh(5,6)=6:sh(5,7)=6:sh(5,8)=4:sh(5,9)=4
  208. 20029 sh(6,1)=5:sh(6,2)=5:sh(6,3)=6:sh(6,4)=6:sh(6,5)=7
  209. 20030 sh(6,6)=7:sh(6,7)=7:sh(6,8)=7:sh(6,9)=4
  210. 20031 sh(7,1)=5:sh(7,2)=5:sh(7,3)=5:sh(7,4)=8:sh(7,5)=8
  211. 20032 sh(7,6)=7:sh(7,7)=7:sh(7,8)=7:sh(7,9)=9
  212. 20033 sh(8,1)=8:sh(8,2)=5:sh(8,3)=8:sh(8,4)=8:sh(8,5)=7
  213. 20034 sh(8,6)=7:sh(8,7)=9:sh(8,8)=9:sh(8,9)=9
  214. 20035 sh(9,1)=8:sh(9,2)=8:sh(9,3)=8:sh(9,4)=8:sh(9,5)=9
  215. 20036 sh(9,6)=9:sh(9,7)=9:sh(9,8)=9:sh(9,9)=9
  216. 20040 return
  217.  
  218. rem *** SuBloku medio
  219. 20101 su(1,1)=0:su(1,2)=0:su(1,3)=0:su(1,4)=0:su(1,5)=2
  220. 20102 su(1,6)=0:su(1,7)=7:su(1,8)=3:su(1,9)=0
  221. 20103 su(2,1)=1:su(2,2)=0:su(2,3)=0:su(2,4)=0:su(2,5)=0
  222. 20104 su(2,6)=9:su(2,7)=5:su(2,8)=0:su(2,9)=0
  223. 20105 su(3,1)=2:su(3,2)=4:su(3,3)=0:su(3,4)=0:su(3,5)=1
  224. 20106 su(3,6)=0:su(3,7)=0:su(3,8)=0:su(3,9)=0
  225. 20107 su(4,1)=0:su(4,2)=6:su(4,3)=0:su(4,4)=4:su(4,5)=0
  226. 20108 su(4,6)=2:su(4,7)=0:su(4,8)=0:su(4,9)=0
  227. 20109 su(5,1)=9:su(5,2)=0:su(5,3)=1:su(5,4)=0:su(5,5)=0
  228. 20110 su(5,6)=0:su(5,7)=3:su(5,8)=0:su(5,9)=2
  229. 20111 su(6,1)=0:su(6,2)=0:su(6,3)=0:su(6,4)=6:su(6,5)=0
  230. 20112 su(6,6)=5:su(6,7)=0:su(6,8)=4:su(6,9)=0
  231. 20113 su(7,1)=0:su(7,2)=0:su(7,3)=0:su(7,4)=0:su(7,5)=5
  232. 20114 su(7,6)=0:su(7,7)=0:su(7,8)=7:su(7,9)=3
  233. 20115 su(8,1)=0:su(8,2)=0:su(8,3)=8:su(8,4)=3:su(8,5)=0
  234. 20116 su(8,6)=0:su(8,7)=0:su(8,8)=0:su(8,9)=5
  235. 20117 su(9,1)=0:su(9,2)=1:su(9,3)=7:su(9,4)=0:su(9,5)=3
  236. 20118 su(9,6)=0:su(9,7)=0:su(9,8)=0:su(9,9)=0
  237. 20119 sh(1,1)=1:sh(1,2)=1:sh(1,3)=1:sh(1,4)=2:sh(1,5)=2
  238. 20120 sh(1,6)=2:sh(1,7)=2:sh(1,8)=2:sh(1,9)=2
  239. 20121 sh(2,1)=3:sh(2,2)=3:sh(2,3)=1:sh(2,4)=1:sh(2,5)=1
  240. 20122 sh(2,6)=1:sh(2,7)=4:sh(2,8)=2:sh(2,9)=2
  241. 20123 sh(3,1)=3:sh(3,2)=3:sh(3,3)=3:sh(3,4)=1:sh(3,5)=1
  242. 20124 sh(3,6)=5:sh(3,7)=4:sh(3,8)=2:sh(3,9)=4
  243. 20125 sh(4,1)=3:sh(4,2)=3:sh(4,3)=3:sh(4,4)=5:sh(4,5)=5
  244. 20126 sh(4,6)=5:sh(4,7)=4:sh(4,8)=4:sh(4,9)=4
  245. 20127 sh(5,1)=6:sh(5,2)=3:sh(5,3)=6:sh(5,4)=6:sh(5,5)=5
  246. 20128 sh(5,6)=4:sh(5,7)=4:sh(5,8)=7:sh(5,9)=4
  247. 20129 sh(6,1)=6:sh(6,2)=6:sh(6,3)=6:sh(6,4)=5:sh(6,5)=5
  248. 20130 sh(6,6)=5:sh(6,7)=7:sh(6,8)=7:sh(6,9)=7
  249. 20131 sh(7,1)=6:sh(7,2)=8:sh(7,3)=6:sh(7,4)=5:sh(7,5)=9
  250. 20132 sh(7,6)=9:sh(7,7)=7:sh(7,8)=7:sh(7,9)=7
  251. 20133 sh(8,1)=8:sh(8,2)=8:sh(8,3)=6:sh(8,4)=9:sh(8,5)=9
  252. 20134 sh(8,6)=9:sh(8,7)=9:sh(8,8)=7:sh(8,9)=7
  253. 20135 sh(9,1)=8:sh(9,2)=8:sh(9,3)=8:sh(9,4)=8:sh(9,5)=8
  254. 20136 sh(9,6)=8:sh(9,7)=9:sh(9,8)=9:sh(9,9)=9
  255. 20140 return
  256.  
  257. rem *** SuBloku difficile 1
  258. 20201 su(1,1)=0:su(1,2)=0:su(1,3)=0:su(1,4)=2:su(1,5)=0
  259. 20202 su(1,6)=1:su(1,7)=7:su(1,8)=0:su(1,9)=0
  260. 20203 su(2,1)=0:su(2,2)=1:su(2,3)=4:su(2,4)=0:su(2,5)=0
  261. 20204 su(2,6)=0:su(2,7)=0:su(2,8)=0:su(2,9)=0
  262. 20205 su(3,1)=0:su(3,2)=7:su(3,3)=0:su(3,4)=0:su(3,5)=4
  263. 20206 su(3,6)=0:su(3,7)=0:su(3,8)=0:su(3,9)=1
  264. 20207 su(4,1)=3:su(4,2)=0:su(4,3)=0:su(4,4)=0:su(4,5)=2
  265. 20208 su(4,6)=0:su(4,7)=0:su(4,8)=0:su(4,9)=6
  266. 20209 su(5,1)=0:su(5,2)=0:su(5,3)=8:su(5,4)=1:su(5,5)=0
  267. 20210 su(5,6)=3:su(5,7)=5:su(5,8)=0:su(5,9)=0
  268. 20211 su(6,1)=8:su(6,2)=0:su(6,3)=0:su(6,4)=0:su(6,5)=9
  269. 20212 su(6,6)=0:su(6,7)=0:su(6,8)=0:su(6,9)=3
  270. 20213 su(7,1)=1:su(7,2)=0:su(7,3)=0:su(7,4)=0:su(7,5)=3
  271. 20214 su(7,6)=0:su(7,7)=0:su(7,8)=7:su(7,9)=0
  272. 20215 su(8,1)=0:su(8,2)=0:su(8,3)=0:su(8,4)=0:su(8,5)=0
  273. 20216 su(8,6)=0:su(8,7)=9:su(8,8)=4:su(8,9)=0
  274. 20217 su(9,1)=0:su(9,2)=0:su(9,3)=1:su(9,4)=9:su(9,5)=0
  275. 20218 su(9,6)=7:su(9,7)=0:su(9,8)=0:su(9,9)=0
  276. 20219 sh(1,1)=1:sh(1,2)=1:sh(1,3)=1:sh(1,4)=2:sh(1,5)=2
  277. 20220 sh(1,6)=2:sh(1,7)=2:sh(1,8)=2:sh(1,9)=2
  278. 20221 sh(2,1)=1:sh(2,2)=1:sh(2,3)=1:sh(2,4)=2:sh(2,5)=3
  279. 20222 sh(2,6)=3:sh(2,7)=3:sh(2,8)=3:sh(2,9)=2
  280. 20223 sh(3,1)=1:sh(3,2)=1:sh(3,3)=1:sh(3,4)=2:sh(3,5)=3
  281. 20224 sh(3,6)=3:sh(3,7)=4:sh(3,8)=3:sh(3,9)=3
  282. 20225 sh(4,1)=5:sh(4,2)=5:sh(4,3)=5:sh(4,4)=6:sh(4,5)=6
  283. 20226 sh(4,6)=4:sh(4,7)=4:sh(4,8)=3:sh(4,9)=4
  284. 20227 sh(5,1)=5:sh(5,2)=7:sh(5,3)=7:sh(5,4)=6:sh(5,5)=6
  285. 20228 sh(5,6)=6:sh(5,7)=4:sh(5,8)=4:sh(5,9)=4
  286. 20229 sh(6,1)=5:sh(6,2)=7:sh(6,3)=7:sh(6,4)=8:sh(6,5)=6
  287. 20230 sh(6,6)=6:sh(6,7)=6:sh(6,8)=9:sh(6,9)=4
  288. 20231 sh(7,1)=5:sh(7,2)=7:sh(7,3)=8:sh(7,4)=8:sh(7,5)=8
  289. 20232 sh(7,6)=6:sh(7,7)=9:sh(7,8)=9:sh(7,9)=4
  290. 20233 sh(8,1)=5:sh(8,2)=7:sh(8,3)=7:sh(8,4)=7:sh(8,5)=8
  291. 20234 sh(8,6)=9:sh(8,7)=9:sh(8,8)=9:sh(8,9)=9
  292. 20235 sh(9,1)=5:sh(9,2)=5:sh(9,3)=7:sh(9,4)=8:sh(9,5)=8
  293. 20236 sh(9,6)=8:sh(9,7)=8:sh(9,8)=9:sh(9,9)=9
  294. 20240 return
  295.  
  296. rem *** SuBloku difficile 2
  297. 20301 su(1,1)=0:su(1,2)=0:su(1,3)=0:su(1,4)=2:su(1,5)=0
  298. 20302 su(1,6)=1:su(1,7)=7:su(1,8)=0:su(1,9)=0
  299. 20303 su(2,1)=0:su(2,2)=0:su(2,3)=4:su(2,4)=0:su(2,5)=0
  300. 20304 su(2,6)=0:su(2,7)=0:su(2,8)=0:su(2,9)=0
  301. 20305 su(3,1)=0:su(3,2)=7:su(3,3)=0:su(3,4)=0:su(3,5)=4
  302. 20306 su(3,6)=0:su(3,7)=0:su(3,8)=0:su(3,9)=1
  303. 20307 su(4,1)=3:su(4,2)=0:su(4,3)=0:su(4,4)=0:su(4,5)=2
  304. 20308 su(4,6)=0:su(4,7)=0:su(4,8)=0:su(4,9)=6
  305. 20309 su(5,1)=0:su(5,2)=0:su(5,3)=8:su(5,4)=0:su(5,5)=0
  306. 20310 su(5,6)=0:su(5,7)=5:su(5,8)=0:su(5,9)=0
  307. 20311 su(6,1)=8:su(6,2)=0:su(6,3)=0:su(6,4)=0:su(6,5)=9
  308. 20312 su(6,6)=0:su(6,7)=0:su(6,8)=0:su(6,9)=3
  309. 20313 su(7,1)=1:su(7,2)=0:su(7,3)=0:su(7,4)=0:su(7,5)=3
  310. 20314 su(7,6)=0:su(7,7)=0:su(7,8)=7:su(7,9)=0
  311. 20315 su(8,1)=0:su(8,2)=0:su(8,3)=0:su(8,4)=0:su(8,5)=0
  312. 20316 su(8,6)=0:su(8,7)=0:su(8,8)=4:su(8,9)=0
  313. 20317 su(9,1)=0:su(9,2)=0:su(9,3)=1:su(9,4)=9:su(9,5)=0
  314. 20318 su(9,6)=7:su(9,7)=0:su(9,8)=0:su(9,9)=0
  315. 20319 sh(1,1)=1:sh(1,2)=1:sh(1,3)=1:sh(1,4)=2:sh(1,5)=2
  316. 20320 sh(1,6)=2:sh(1,7)=2:sh(1,8)=2:sh(1,9)=2
  317. 20321 sh(2,1)=1:sh(2,2)=1:sh(2,3)=1:sh(2,4)=2:sh(2,5)=3
  318. 20322 sh(2,6)=3:sh(2,7)=3:sh(2,8)=3:sh(2,9)=2
  319. 20323 sh(3,1)=1:sh(3,2)=1:sh(3,3)=1:sh(3,4)=2:sh(3,5)=3
  320. 20324 sh(3,6)=3:sh(3,7)=4:sh(3,8)=3:sh(3,9)=3
  321. 20325 sh(4,1)=5:sh(4,2)=5:sh(4,3)=5:sh(4,4)=6:sh(4,5)=6
  322. 20326 sh(4,6)=4:sh(4,7)=4:sh(4,8)=3:sh(4,9)=4
  323. 20327 sh(5,1)=5:sh(5,2)=7:sh(5,3)=7:sh(5,4)=6:sh(5,5)=6
  324. 20328 sh(5,6)=6:sh(5,7)=4:sh(5,8)=4:sh(5,9)=4
  325. 20329 sh(6,1)=5:sh(6,2)=7:sh(6,3)=7:sh(6,4)=8:sh(6,5)=6
  326. 20330 sh(6,6)=6:sh(6,7)=6:sh(6,8)=9:sh(6,9)=4
  327. 20331 sh(7,1)=5:sh(7,2)=7:sh(7,3)=8:sh(7,4)=8:sh(7,5)=8
  328. 20332 sh(7,6)=6:sh(7,7)=9:sh(7,8)=9:sh(7,9)=4
  329. 20333 sh(8,1)=5:sh(8,2)=7:sh(8,3)=7:sh(8,4)=7:sh(8,5)=8
  330. 20334 sh(8,6)=9:sh(8,7)=9:sh(8,8)=9:sh(8,9)=9
  331. 20335 sh(9,1)=5:sh(9,2)=5:sh(9,3)=7:sh(9,4)=8:sh(9,5)=8
  332. 20336 sh(9,6)=8:sh(9,7)=8:sh(9,8)=9:sh(9,9)=9
  333. 20340 return
  334.  
  335. rem *** sudoku easy
  336. 20401 su(1,1)=0:su(1,2)=0:su(1,3)=7:su(1,4)=0:su(1,5)=0
  337. 20402 su(1,6)=3:su(1,7)=9:su(1,8)=0:su(1,9)=2
  338. 20403 su(2,1)=0:su(2,2)=0:su(2,3)=0:su(2,4)=8:su(2,5)=0
  339. 20404 su(2,6)=0:su(2,7)=0:su(2,8)=0:su(2,9)=0
  340. 20405 su(3,1)=9:su(3,2)=4:su(3,3)=3:su(3,4)=0:su(3,5)=0
  341. 20406 su(3,6)=0:su(3,7)=0:su(3,8)=0:su(3,9)=7
  342. 20407 su(4,1)=6:su(4,2)=9:su(4,3)=0:su(4,4)=0:su(4,5)=0
  343. 20408 su(4,6)=0:su(4,7)=0:su(4,8)=0:su(4,9)=0
  344. 20409 su(5,1)=3:su(5,2)=0:su(5,3)=0:su(5,4)=5:su(5,5)=2
  345. 20410 su(5,6)=7:su(5,7)=0:su(5,8)=0:su(5,9)=0
  346. 20411 su(6,1)=0:su(6,2)=0:su(6,3)=0:su(6,4)=0:su(6,5)=0
  347. 20412 su(6,6)=0:su(6,7)=8:su(6,8)=4:su(6,9)=0
  348. 20413 su(7,1)=0:su(7,2)=0:su(7,3)=0:su(7,4)=0:su(7,5)=4
  349. 20414 su(7,6)=8:su(7,7)=0:su(7,8)=0:su(7,9)=0
  350. 20415 su(8,1)=2:su(8,2)=6:su(8,3)=0:su(8,4)=0:su(8,5)=0
  351. 20416 su(8,6)=0:su(8,7)=0:su(8,8)=0:su(8,9)=0
  352. 20417 su(9,1)=0:su(9,2)=0:su(9,3)=0:su(9,4)=0:su(9,5)=0
  353. 20418 su(9,6)=0:su(9,7)=1:su(9,8)=2:su(9,9)=9
  354. 20419 sh(1,1)=1:sh(1,2)=1:sh(1,3)=1:sh(1,4)=2:sh(1,5)=2
  355. 20420 sh(1,6)=2:sh(1,7)=3:sh(1,8)=3:sh(1,9)=3
  356. 20421 sh(2,1)=1:sh(2,2)=1:sh(2,3)=1:sh(2,4)=2:sh(2,5)=2
  357. 20422 sh(2,6)=2:sh(2,7)=3:sh(2,8)=3:sh(2,9)=3
  358. 20423 sh(3,1)=1:sh(3,2)=1:sh(3,3)=1:sh(3,4)=2:sh(3,5)=2
  359. 20424 sh(3,6)=2:sh(3,7)=3:sh(3,8)=3:sh(3,9)=3
  360. 20425 sh(4,1)=4:sh(4,2)=4:sh(4,3)=4:sh(4,4)=5:sh(4,5)=5
  361. 20426 sh(4,6)=5:sh(4,7)=6:sh(4,8)=6:sh(4,9)=6
  362. 20427 sh(5,1)=4:sh(5,2)=4:sh(5,3)=4:sh(5,4)=5:sh(5,5)=5
  363. 20428 sh(5,6)=5:sh(5,7)=6:sh(5,8)=6:sh(5,9)=6
  364. 20429 sh(6,1)=4:sh(6,2)=4:sh(6,3)=4:sh(6,4)=5:sh(6,5)=5
  365. 20430 sh(6,6)=5:sh(6,7)=6:sh(6,8)=6:sh(6,9)=6
  366. 20431 sh(7,1)=7:sh(7,2)=7:sh(7,3)=7:sh(7,4)=8:sh(7,5)=8
  367. 20432 sh(7,6)=8:sh(7,7)=9:sh(7,8)=9:sh(7,9)=9
  368. 20433 sh(8,1)=7:sh(8,2)=7:sh(8,3)=7:sh(8,4)=8:sh(8,5)=8
  369. 20434 sh(8,6)=8:sh(8,7)=9:sh(8,8)=9:sh(8,9)=9
  370. 20435 sh(9,1)=7:sh(9,2)=7:sh(9,3)=7:sh(9,4)=8:sh(9,5)=8
  371. 20436 sh(9,6)=8:sh(9,7)=9:sh(9,8)=9:sh(9,9)=9
  372. 20440 return
  373.  
  374. rem *** sudoku difficile
  375. 20501 su(1,1)=0:su(1,2)=2:su(1,3)=0:su(1,4)=0:su(1,5)=0
  376. 20502 su(1,6)=0:su(1,7)=0:su(1,8)=8:su(1,9)=6
  377. 20503 su(2,1)=8:su(2,2)=0:su(2,3)=7:su(2,4)=0:su(2,5)=0
  378. 20504 su(2,6)=5:su(2,7)=0:su(2,8)=0:su(2,9)=0
  379. 20505 su(3,1)=0:su(3,2)=0:su(3,3)=3:su(3,4)=0:su(3,5)=4
  380. 20506 su(3,6)=0:su(3,7)=0:su(3,8)=0:su(3,9)=2
  381. 20507 su(4,1)=0:su(4,2)=5:su(4,3)=0:su(4,4)=7:su(4,5)=9
  382. 20508 su(4,6)=0:su(4,7)=0:su(4,8)=0:su(4,9)=0
  383. 20509 su(5,1)=0:su(5,2)=0:su(5,3)=1:su(5,4)=0:su(5,5)=5
  384. 20510 su(5,6)=0:su(5,7)=2:su(5,8)=0:su(5,9)=0
  385. 20511 su(6,1)=0:su(6,2)=0:su(6,3)=0:su(6,4)=0:su(6,5)=2
  386. 20512 su(6,6)=6:su(6,7)=0:su(6,8)=7:su(6,9)=0
  387. 20513 su(7,1)=5:su(7,2)=0:su(7,3)=0:su(7,4)=0:su(7,5)=3
  388. 20514 su(7,6)=0:su(7,7)=1:su(7,8)=4:su(7,9)=0
  389. 20515 su(8,1)=0:su(8,2)=0:su(8,3)=0:su(8,4)=4:su(8,5)=0
  390. 20516 su(8,6)=0:su(8,7)=0:su(8,8)=0:su(8,9)=5
  391. 20517 su(9,1)=9:su(9,2)=1:su(9,3)=0:su(9,4)=0:su(9,5)=0
  392. 20518 su(9,6)=0:su(9,7)=0:su(9,8)=2:su(9,9)=0
  393. 20519 sh(1,1)=1:sh(1,2)=1:sh(1,3)=1:sh(1,4)=2:sh(1,5)=2
  394. 20520 sh(1,6)=2:sh(1,7)=3:sh(1,8)=3:sh(1,9)=3
  395. 20521 sh(2,1)=1:sh(2,2)=1:sh(2,3)=1:sh(2,4)=2:sh(2,5)=2
  396. 20522 sh(2,6)=2:sh(2,7)=3:sh(2,8)=3:sh(2,9)=3
  397. 20523 sh(3,1)=1:sh(3,2)=1:sh(3,3)=1:sh(3,4)=2:sh(3,5)=2
  398. 20524 sh(3,6)=2:sh(3,7)=3:sh(3,8)=3:sh(3,9)=3
  399. 20525 sh(4,1)=4:sh(4,2)=4:sh(4,3)=4:sh(4,4)=5:sh(4,5)=5
  400. 20526 sh(4,6)=5:sh(4,7)=6:sh(4,8)=6:sh(4,9)=6
  401. 20527 sh(5,1)=4:sh(5,2)=4:sh(5,3)=4:sh(5,4)=5:sh(5,5)=5
  402. 20528 sh(5,6)=5:sh(5,7)=6:sh(5,8)=6:sh(5,9)=6
  403. 20529 sh(6,1)=4:sh(6,2)=4:sh(6,3)=4:sh(6,4)=5:sh(6,5)=5
  404. 20530 sh(6,6)=5:sh(6,7)=6:sh(6,8)=6:sh(6,9)=6
  405. 20531 sh(7,1)=7:sh(7,2)=7:sh(7,3)=7:sh(7,4)=8:sh(7,5)=8
  406. 20532 sh(7,6)=8:sh(7,7)=9:sh(7,8)=9:sh(7,9)=9
  407. 20533 sh(8,1)=7:sh(8,2)=7:sh(8,3)=7:sh(8,4)=8:sh(8,5)=8
  408. 20534 sh(8,6)=8:sh(8,7)=9:sh(8,8)=9:sh(8,9)=9
  409. 20535 sh(9,1)=7:sh(9,2)=7:sh(9,3)=7:sh(9,4)=8:sh(9,5)=8
  410. 20536 sh(9,6)=8:sh(9,7)=9:sh(9,8)=9:sh(9,9)=9
  411. 20540 return
  412.  
  413. 25000 print chr$(147)
  414. 25010 print:print:print
  415. 25020 print "   1. subloku facile"
  416. 25030 print "   2. subloku medio"
  417. 25040 print "   3. subloku difficile 1"
  418. 25050 print "   4. subloku difficile 2"
  419. 25060 print "   5. sudoku facile"
  420. 25070 print "   6. sudoku difficile"
  421. 25080 print
  422. 25090 print "   7. esci"
  423. 25100 print:print "  scegli 1-7"
  424. 25110 get l$:if l$="" then 25110
  425. 25120 if l$<"1" or l$>"7" then 25110
  426. 25130 if l$="7" then end
  427. 25140 t=ti
  428. 25150 on val(l$) goto 20001,20101,20201,20301,20401,20501
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top