Código de Basic - Sudoku C64

Imágen de perfil
Val: 545
Oro
Ha mantenido su posición en Basic (en relación al último mes)
Gráfica de Basic

Sudoku C64gráfica de visualizaciones


Basic

Actualizado el 27 de Diciembre del 2019 por Adelino (24 códigos) (Publicado el 23 de Octubre del 2019)
9.252 visualizaciones desde el 23 de Octubre del 2019
Programa para Commodore 64.

C64Disk

Requerimientos

Realizado y probado en la app Hand Basic para iPad y emulador Power64 para Mac.

1.0

Publicado el 23 de Octubre del 2019gráfica de visualizaciones de la versión: 1.0
615 visualizaciones desde el 23 de Octubre del 2019

1.1

Actualizado el 19 de Noviembre del 2019 (Publicado el 26 de Octubre del 2019)gráfica de visualizaciones de la versión: 1.1
666 visualizaciones desde el 26 de Octubre del 2019

1.2

Actualizado el 19 de Noviembre del 2019 (Publicado el 2 de Noviembre del 2019)gráfica de visualizaciones de la versión: 1.2
882 visualizaciones desde el 2 de Noviembre del 2019

1.3

Actualizado el 19 de Noviembre del 2019 (Publicado el 13 de Noviembre del 2019)gráfica de visualizaciones de la versión: 1.3
1.177 visualizaciones desde el 13 de Noviembre del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Version previa para la inclusion de una rutina en lenguaje emsamblador (6502).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
10 POKE 53280,0: POKE 53281,0
20 PRINT CHR$(151) CHR$(147)
30 DEF FN X(Y)=PEEK(Q2+Y)+256*PEEK(Q1+Y)
40 X1=49152: X2=49408: X3=49664
50 Y1=49920: Y2=50176: Y3=50432
60 B1=50688: B2=50944
70 Q1=51200: Q2=51456
80 Q=1133
100 FOR V=0 TO 2
110 FOR W=0 TO 2: READ A$: Q=Q+62
120 FOR N=0 TO 2
130 FOR M=0 TO 2: IF C%>9 GOTO 150
140 POKE B2+C%+48,C%
145 POKE B2+C%,48+C%
150 POKE Q+41,91
160 POKE Q-1,66: POKE Q+1,66
170 POKE Q-40,67: POKE Q+40,67
180 IF V+W=0 THEN POKE Q-39,114
190 IF V+W=4 THEN POKE Q+41,113
200 IF N+M=0 THEN POKE Q+39,107
210 IF N+M=4 THEN POKE Q+41,115
220 A%=ASC(MID$(A$,3*N+M+1))
230 IF A%<49 THEN A%=32
240 POKE Q,A%
250 POKE Q+54272,1
260 POKE Q1+C%,Q/256
270 POKE Q2+C%,Q-256*INT(Q/256)
280 Q=Q+2
290 POKE Y1+C%,27*V+9*W
300 POKE Y2+C%,27*N+9*M
310 POKE Y3+C%,27*V+9*N
320 C%=C%+1
330 POKE X1+C%,0
340 POKE X2+C%,0
350 POKE X3+C%,0
360 NEXT M,N,W,V
370 POKE B2+32,10
380 POKE 1154,112: POKE 1172,110
390 POKE Q+21,109: POKE Q+39,125
400 REM ***** TECLADO *****
410 A%=0:C%=0
420 IF A%=29 AND C%<80 THEN C%=C%+1
430 IF A%=157 AND C%>0 THEN C%=C%-1
440 IF A%=17 AND C%<72 THEN C%=C%+9
450 IF A%=145 AND C%>8 THEN C%=C%-9
460 Q=FN X(C%)
470 IF A%>57 OR A%<48 AND A%<>32 GOTO 520
480 IF A%=48 THEN A%=32
490 POKE Q,A%
500 A%=29
510 GOTO 420
520 POKE Q,PEEK(Q)+128
530 GET A$: IF A$="" GOTO 530
540 POKE Q,PEEK(Q)-128
550 A%=ASC(A$)
560 IF A%<>13 GOTO 420
600 REM ***** VALIDAR *****
610 FOR V=0 TO 80: C%=V
620 Q=FN X(C%)
630 A%=PEEK(Q)-48
640 IF A%<0 GOTO 740
650 IF PEEK(X1+PEEK(Y1+C%)+A%) THEN A%=0
660 IF PEEK(X2+PEEK(Y2+C%)+A%) THEN A%=0
670 IF PEEK(X3+PEEK(Y3+C%)+A%) THEN A%=0
680 IF A%=0 THEN POKE Q,32: GOTO 740
690 POKE X1+PEEK(Y1+C%)+A%,1
700 POKE X2+PEEK(Y2+C%)+A%,1
710 POKE X3+PEEK(Y3+C%)+A%,1
720 POKE Q+54272,14
730 B(C%/27)=B(C%/27)+1
740 NEXT
750 REM ***** ORDENAR *****
760 FOR V=0 TO 2: N=0
770 FOR W=0 TO 2
780 IF B(W)>B(N) THEN N=W
790 NEXT
800 B(N)=-1
810 FOR W=27*N TO 27*N+26: C%=W
820 IF PEEK(FN X(C%))>48 GOTO 850
830 POKE B1+B%,C%
840 B%=B%+1
850 NEXT W,V
860 POKE 254,SGN(B%)
870 POKE B1+B%,255
880 GOTO 1020
1000 REM ***** RUTINA *****
1010 POKE Q,32
1020 IF PEEK(254)=0 THEN END
1030 POKE 254,PEEK(254)-1
1040 C%=PEEK(B1+PEEK(254))
1050 Q=FN X(C%)
1060 A%=PEEK(B2+PEEK(Q))
1070 POKE 251,PEEK(Y1+C%)+A%
1080 POKE 252,PEEK(Y2+C%)+A%
1090 POKE 253,PEEK(Y3+C%)+A%
1100 IF A%=10 GOTO 1170
1140 POKE X1+PEEK(251),0
1150 POKE X2+PEEK(252),0
1160 POKE X3+PEEK(253),0
1170 A%=A%-1
1180 IF A%=0 GOTO 1010
1190 POKE 251,PEEK(251)-1
1200 POKE 252,PEEK(252)-1
1210 POKE 253,PEEK(253)-1
1220 IF PEEK(X1+PEEK(251)) GOTO 1170
1230 IF PEEK(X2+PEEK(252)) GOTO 1170
1240 IF PEEK(X3+PEEK(253)) GOTO 1170
1250 POKE X1+PEEK(251),1
1260 POKE X2+PEEK(252),1
1270 POKE X3+PEEK(253),1
1280 POKE Q,PEEK(B2+A%)
1290 POKE 254,PEEK(254)+1
1295 C%=PEEK(B1+PEEK(254))
1300 IF C%<255 GOTO 1050
1310 GET A$: IF A$<>" " GOTO 1310
1320 GOTO 1030
1500 REM ***** DATOS *****
1510 DATA ....76...
1520 DATA 1...3874.
1530 DATA .7.......
1540 DATA ..4.6.5.1
1550 DATA .67...28.
1560 DATA 3.1.4.6..
1570 DATA .......1.
1580 DATA .2561...9
1590 DATA ...98....



Comentarios sobre la versión: 1.3 (0)


No hay comentarios
 

Comentar la versión: 1.3

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

1.4

Publicado el 18 de Noviembre del 2019gráfica de visualizaciones de la versión: 1.4
1.203 visualizaciones desde el 18 de Noviembre del 2019

1.5

Actualizado el 29 de Enero del 2021 (Publicado el 19 de Noviembre del 2019)gráfica de visualizaciones de la versión: 1.5
2.200 visualizaciones desde el 19 de Noviembre del 2019

1.6

Publicado el 27 de Diciembre del 2019gráfica de visualizaciones de la versión: 1.6
2.510 visualizaciones desde el 27 de Diciembre del 2019
http://lwp-l.com/s5602