Código de Basic - Tres en Raya

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

Tres en Rayagráfica de visualizaciones


Basic

Actualizado el 11 de Octubre del 2024 por Adelino (27 códigos) (Publicado el 9 de Septiembre del 2024)
994 visualizaciones desde el 9 de Septiembre del 2024
Juego de tres raya para Gwbasic o Qbasic en pantalla de texto.

1.0

Actualizado el 13 de Septiembre del 2024 (Publicado el 9 de Septiembre del 2024)gráfica de visualizaciones de la versión: 1.0
232 visualizaciones desde el 9 de Septiembre del 2024

1.1

Publicado el 14 de Septiembre del 2024gráfica de visualizaciones de la versión: 1.1
215 visualizaciones desde el 14 de Septiembre del 2024

1.2

Publicado el 22 de Septiembre del 2024gráfica de visualizaciones de la versión: 1.2
229 visualizaciones desde el 22 de Septiembre del 2024

1.3

Publicado el 11 de Octubre del 2024gráfica de visualizaciones de la versión: 1.3
319 visualizaciones desde el 11 de Octubre del 2024
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Codigo probado en turbo basic de Borland en la app Idosbox.
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
100 defint a-y
110 width 40
120 color 7,0: cls
140 dim A(9),B(9),T$(9)
150 dim N(250,7),Y(9,9)
160 dim H(9,3),I(1,7),F(9,9)
170 dim C(9,9),D(9),G(9)
180 dim X(9),V(9),W(9)
190 dim K(15),Q(15)
 
200 A$="123456789147258369159357"
210 ply=9
220 F(0,0)=2: F(0,1)=1
240 for v=0 to 9
250 G(v)=-1
260 W(v)=v mod 2
270 V(v)=1-2*W(v)
280 F(0,v)=3-F(0,v)
290 next
300 for v=0 to 23
320 w=asc(mid$(A$,v+1))-48
330 G(w)=G(w)+1
340 H(w,G(w))=v\3
350 next
 
360 rem **** Tablero ****
370 for v=0 to 8
380 y=20: x=7+6*(v mod 3): A$=chr$(97+v mod 3)
390 gosub 9000
400 T$(9-v)=A$
410 y=16-5*(v\3): x=2: A$=chr$(49+v\3)
420 gosub 9000
430 T$(9-v)=T$(9-v)+A$
440 next
450 for v=0 to 3
460 y=4+5*v: x=5: A$="----- ----- -----"
470 gosub 9000
480 next
490 y=3: x=25: A$="Blancas  Rojas"
500 gosub 9000
510 y=4: A$="------- -------"
520 gosub 9000
530 for v=0 to 15
540 y=6+2*(v\4): x=25+4*(v mod 4)-v mod 2
550 A$=mid$("---",2-v mod 2)
560 gosub 9000
570 K(v)=y-1: Q(v)=x
580 next
 
600 rem **** Teclado ****
610 v=(E$="M")-(E$="K")
620 c=c+v: if(c<1) then c=9: v=-1
630 if(c>9) then c=1: v=1
640 if(D(c)) goto 620
650 b=7-3*t: gosub 8000
660 a=a+(E$="-")-(E$="+")
670 if(a>B(c)) then a=A(c)+1
680 if(v<>0 or a<=A(c)) then a=B(c)
 
700 color 7,0
710 for v=0 to 15
720 y=K(v): x=Q(v): A$=mid$("   ",2-v mod 2)
730 gosub 9000
740 next
750 h=X(c): if(h=0) goto 820
760 y=K(2*(h+t)-1): x=Q(2*(h+t)-1): A$="1-0"
770 if(t=h mod 2) then A$="0-1"
780 gosub 9000
790 h=h-1: y=K(14): x=Q(14)
800 A$="N"+chr$(167)+str$(a-A(c))
810 gosub 9000
820 for v=0 to h
830 w=c: if(v) then w=N(a-1,v-1)
840 y=K(2*(v+t)): x=Q(2*(v+t)): A$=T$(w)
850 gosub 9000
860 next
 
870 E$=inkey$: if(E$<>"") goto 870
890 E$=inkey$: if(E$="") goto 890
900 E$=right$(E$,1)
910 if(E$<>chr$(13)) then b=0: gosub 8000: goto 600
920 if(ply=1 or X(c)=1) then end
930 for x=0 to G(c)
940 h=H(c,x): I(t,h)=I(t,h)+1
950 next
960 ply=ply-1
970 a=0: w=0: t=1-t
980 D(c)=1: C(0,0)=10
 
1000 rem **** Inicio ****
1100 v=ply-a
1200 for x=n+1 to v
1300 for y=0 to v-x
1400 Y(y,y+x)=W(y)
1500 next y,x
 
2000 y=C(a,n)-1: C(a,n)=y
2010 if(D(y)) goto 2000
2020 on F(y,n) goto 3000,4000,5000
2030 n=n+1: D(y)=1: C(a,n)=10
2040 for x=0 to G(y)
2050 h=H(y,x): I(t,h)=I(t,h)+1
2060 if(I(t,h)>2) then C(a,n)=1
2070 next
2080 if(n=v and C(a,n)>1) then C(a,n)=1: Y(0,n)=1
2090 t=1-t
2100 goto 2000
 
3000 rem **** Rutina n=0 ****
3100 if(a=0) goto 600
3200 a=a-1
3300 goto 6000
 
4000 rem **** Rutina n=1 ****
4010 n=0: x=0
4020 for y=1 to v
4030 if(Y(y-1,y)=0) then x=y: y=v
4040 next
4100 if(a=0) then c=C(0,0): X(c)=x: A(c)=w: B(c)=w
4200 if(x<>X(c)-a) goto 6000
4300 x=a-1: if(a) then N(w,x)=C(a,0)
4400 for y=1 to x
4500 N(w+1,y-1)=N(w,y-1)
4600 next
4700 if(a=X(c)-1) then w=w+1: B(c)=w: goto 6000
4800 a=a+1: C(a,0)=10
4900 goto 1000
 
5000 rem **** Minimax ****
5100 y=0: n=n-1: Y(0,n)=1
5200 for x=n+1 to v
5300 y=y+1: h=Y(y,x)
5400 if(V(y)=Y(y-1,x)-h) then Y(y,x)=h+V(y)
5500 next
 
6000 rem **** Restaurar ****
6010 t=1-t
6020 y=C(a,n): D(y)=0
6030 for x=0 to G(y)
6040 h=H(y,x): I(t,h)=I(t,h)-1
6050 next
6060 goto 1000
 
8000 rem **** Figura ****
8010 color 0,b
8020 y=5+5*((c-1)\3): x=18-6*((c-1) mod 3)
8030 A$="   ": gosub 9000: y=y+3
8040 gosub 9000: y=y-1: x=x-1
8050 A$="     ": gosub 9000: y=y-1
 
9000 rem **** Plasmar ****
9010 locate y,x: print A$
9020 return



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

http://lwp-l.com/s7534