All pastes #249792 Raw Edit

X N

public cpp v1 · immutable
#249792 ·published 2006-11-16 04:19 UTC
rendered paste body
#include<stdio.h>#include<conio.h>#include<time.h>#include<stdlib.h>struct Carta {  int num;  bool vol;};Carta Tablero[32];void ResetTablero(){  int x;  for(x=0;x<30;x++){    Tablero[x].num = 0;    Tablero[x].vol = false;  }}void LlenaTablero(){  int x,y;  for(x=0;x<32;x++){    do{      y = random(32);          } while(Tablero[y].num != 0);    Tablero[y].num = x+1;    Tablero[y].vol = true;  }}void __debug_MuestraTablero(){  int x;  for(x=0;x<32;x++)    if(Tablero[x].num%2)      printf("%i\n",(Tablero[x].num+1)/2);    else      printf("%i\n",Tablero[x].num/2);}void DibujaCarta(int x, int y, bool sel,int num = 0){  if(sel){    gotoxy(x,y);    printf("ÉÍÍÍÍ»");    gotoxy(x,y+1);    printf("º    º");    gotoxy(x,y+2);    if(num != 0)      printf("º %2i º",num);    else      printf("º    º");    gotoxy(x,y+3);    printf("º    º");    gotoxy(x,y+4);    printf("º    º");    gotoxy(x,y+5);    printf("ÈÍÍÍͼ");  } else {    gotoxy(x,y);    printf("ÚÄÄÄÄ¿");    gotoxy(x,y+1);    printf("³    ³");    gotoxy(x,y+2);    if(num != 0)      printf("³ %2i ³",num);    else      printf("³    ³");    gotoxy(x,y+3);    printf("³    ³");    gotoxy(x,y+4);    printf("³    ³");    gotoxy(x,y+5);    printf("ÀÄÄÄÄÙ");  }}void DibujaTablero(){  int x,num;  for(x=0;x<32;x++){    if(Tablero[x].num%2)      num = (Tablero[x].num+1)/2;    else      num = Tablero[x].num/2;    DibujaCarta(((x%8)*7)+3,((x/8)*6)+1,false,num);  }}int main(int argc, char *argv[]){  int pos = 0,xpos = 0,tecla;  srand(time(NULL));  ResetTablero();  LlenaTablero();  /*__debug_MuestraTablero();*/  clrscr();  DibujaTablero();  do{    tecla = getch();    switch(tecla){      case 0:        tecla = getch();        switch(tecla){          case 77:            xpos = pos++;            if(pos > 31) pos = 0;            break;          case 75:            xpos = pos--;            if(pos < 0) pos = 31;            break;          case 80:            xpos = pos;            pos += 8;            if(pos > 31) pos -= 32;            break;          case 72:            xpos = pos;            pos -= 8;            if(pos < 0) pos += 32;            break;        }        break;      case 27:        exit(0);    }    DibujaCarta(((xpos%8)*7)+3,((xpos/8)*6)+1,false);    DibujaCarta(((pos%8)*7)+3,((pos/8)*6)+1,true);  } while(1);}