Tablero de parchis.
C/Visual C
Actualizado el 12 de Agosto del 2020 por Adelino (27 códigos) (Publicado el 3 de Agosto del 2020)
9.236 visualizaciones desde el 3 de Agosto del 2020
Dibujado en pantalla de graficos (Modo 13h).


#include<dos.h>
#include<time.h>
#include<stdio.h>
#include<conio.h>
char A[][2][11]={
"50311111111","62222222225",
"05333333333","16200050000",
"22433333333","11600050000",
"12241111111","10000050000",
"12210000003","10001111111",
"12210000003","10001111111",
"12210000003","11111111111",
"12210000003","10001111111",
"12210000003","10001111111",
"12210000003","10001111111",
"12212222221","50001111111"};
char Pieza[][5][12]={
"000000000003","000000000000","000000000003","322222222223","322222222222",
"000000000003","000000000000","000000000003","133222222223","133222222222",
"000000000003","000000000000","000000000003","111322222223","111322222222",
"000000000003","000000000000","000000000003","111133222223","111132222222",
"000000000003","000000000000","000000000003","111111322223","111113322222",
"000000000003","000000000000","000000000003","111111133223","111111132222",
"000000000003","000000000000","000000000003","111111111323","111111113222",
"000000000003","000000000000","000000000003","111111111133","111111111332",
"333333333333","333333333333","000000000003","333333333333","111111111113"};
char far*q=61096+(char far*)0xA0000000;
int C[22][22],D[22][22];
int P[25][9][12],p[9][12];
int B[]={15,14,9,12,2,7};
int G[]={0,2,3,4,1,5,6};
int H[][3]={1,2,5,3,2,5,3,4,5,1,4,5};
int E,h=2571;
int a,n,v,w,x,y;
int main(){
_AX=0x13;
geninterrupt(0x10);
clock_t T;
for(y=11;y--;)
for(x=11;x--;)
C[y+11][x+11]=a=4*A[y][0][x]-192,
C[10-y][x+11]=a+1,
C[10-y][10-x]=a+2,
C[y+11][10-x]=a+3,
D[y+11][x+11]=a=A[y][1][x]-48,
D[10-x][y+11]=a=G[a],
D[10-y][10-x]=a=G[a],
D[x+11][10-y]=G[a];
for(y=9;y--;h-=308)
for(x=12;x--;p[y][x]=h--)
for(n=20,v=6;--v;n-=4)
if(a=Pieza[y][v-1][x]-48)
P[n][y][x]=H[0][--a],
P[n+1][8-y][x]=H[1][a],
P[n+2][8-y][11-x]=H[2][a],
P[n+3][y][11-x]=H[3][a];
for(v=22;v--;q-=2616)
for(w=22;w--;q-=12)
for(a=C[v][w],n=D[v][w],y=9;y--;)
for(x=12;x--;)
if(P[a][y][x]<5) *(q+p[y][x])=B[n<6?n:P[a][y][x]];
E=getch();
return 0;
}
Comentarios sobre la versión: 1.0 (0)
No hay comentarios