elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Juego de Damas [Color del Tablero]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Juego de Damas [Color del Tablero]  (Leído 2,344 veces)
bestfriend

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Juego de Damas [Color del Tablero]
« en: 22 Junio 2015, 21:17 pm »

Hola espero que me puedan ayudar con este problemilla que tengo la verdad el programa me corre bien lo que necesito es añadirle color al tablero (fondo y texto), pero no se como hacerlo si pudieran ayudarme seria excelente. Les adjunto el codigo:

Código:
#define T 8 
#include <stdio.h>
#include <stdlib.h>

int turno = 0;
char tablero[T][T];

/////////////////////////////////////////Rellena el tablero despues de un movimiento////////////////////////////////////////
int llenarTablero()
{
  int i,j,k;
   for(i=0;i<T;i++)
       for(j=0;j<T;j++)
      {
         if(i<3&&((i+j)%2==0))
            tablero[i][j]='N';
         else
            if((i>4)&&((i+j)%2==0))
               tablero[i][j]='B';
            else
               tablero[i][j]= ' ' ;
      }
}
///////////////////////////////////////Pausa para continuar///////////////////////////////////////////////////////////
void pausar()
{
   printf("\nPresione 'c' para continuar...");
   while(getchar()!='c');
}
////////////////////////////////Imprime el tablero///////////////////////////////////////////////////////////////////////////
int imprimirTablero()
{
  int k,j,i;
   system("cls");
   for(i=0;i<T;i++)
       {
      if (i==0)
      {
         printf("  ");
         for(k=0;k<T;k++)
            printf(" %d ",k);
         printf("\n");
      }

      printf("%d ",i);
           for(j=0;j<T;j++)
     {
       
                   printf(" %c ",tablero[i][j]);
             }
             printf("\n");
       }
}
/////////////////////////////Valida cada movimiento de pieza/////////////////////////////////////////////////////////////////
int moverPieza(int x, int y, int direccion)
{
   if(turno==1)
   {
      if(tablero[x][y]!='n')
      {
         printf("No existe pieza negra en la posicion %d %d \n", x, y);
      ;
      }
      else
      {
         printf("Direccion %d \n", direccion);
         if(direccion==1&&(y-1)>=0&&(x+1)<8)
         {
            if(tablero[x+1][y-1]==' ')
            {
               tablero[x][y] =' ';
               tablero[x+1][y-1]= 'n';
            }
            else
               if(tablero[x+1][y-1]=='b'&&tablero[x+2][y-2]==' ')
               {
                  tablero[x][y] = ' ';
                  tablero[x+1][y-1]= ' ';
                  tablero[x+2][y-2]= 'n';
                  printf("La pieza negra se comio la pieza Blanca en %d %d \n", x + 1, y - 1);
               }
               else
                  printf("La pieza no puede moverse a una casilla ocupada");
         }
         else
         {
            if(direccion==1)
               printf("La pieza no puede moverse pues sale del tablero");
             
         }
         
         if(direccion==2&&(y+1)<8&&(x+1)<8)
         {
            if(tablero[x+1][y+1]==' ')
            {
               tablero[x][y]=' ';
               tablero[x+1][y+1]= 'n';
            }
            else
               if(tablero[x+1][y+1]=='b'&&tablero[x+2][y+2]==' ')
               {
                  tablero[x][y] = ' ';
                  tablero[x+1][y+1]=' ';
                  tablero[x+2][y+2]='n';
                  printf("La pieza negra se comio la pieza Blanca en %d %d \n", x + 1, y + 1);
               }
               else
                  printf("La pieza no puede moverse a una casilla ocupada");
             
         }
         else
         {
            if(direccion==2)
               printf("La pieza no puede moverse pues sale del tablero");
               
         }
      }
      turno=0;
   }
   else
       if(turno==0)
   {
      if(tablero[x][y]!='b')
      {
         printf("No existe pieza Blanca en la posicion %d %d \n", x, y);
             
      }
      else
      {
         if(direccion==1&&(y-1)>=0&&(x-1)>=0)
         {
            if(tablero[x-1][y-1]==' ')
            {
               tablero[x][y]=' ';
               tablero[x-1][y-1]='b';
            }
            else
               if(tablero[x-1][y-1]=='n'&&tablero[x-2][y-2]==' ')
               {
                  tablero[x][y]=' ';
                  tablero[x-1][y-1]=' ';
                  tablero[x-2][y-2]='b';
                  printf("La pieza Blanca se comio la pieza negra en %d %d \n", x - 1, y - 1);
               }
               else
                  printf("La pieza no puede moverse a una casilla ocupada");
                 
         }
         else
         {
            if(direccion==1)
               printf("La pieza no puede moverse pues sale del tablero");
                 
         }
         
         if(direccion==2&&(y+1)<8&&(x-1)>=0)
         {
            if(tablero[x-1][y+1]==' ')
            {
               tablero[x][y] = ' ';
               tablero[x-1][y+1]='b';
            }
            else
               if(tablero[x-1][y+1]=='n'&&tablero[x-2][y+2]==' ')
               {
                  tablero[x][y] = ' ';
                  tablero[x-1][y+1]=' ';
                  tablero[x-2][y+2]='b';
                  printf("La pieza Blanca se comio la pieza negra en %d %d \n", x + 1, y + 1);
               }
               else
                  printf("La pieza no puede moverse a una casilla ocupada");
         }
         else
         {
            if(direccion==2)
               printf("La pieza no puede moverse pues sale del tablero");
                 
         }
      }
         turno=1;
    }
      pausar();
}
//////////////////////////////////////////Se elige la fila y columna a donde se desea realizar el movimiento de la pieza///////////////////////////////////////
int jugar()
{
   int x, y, direccion;
   imprimirTablero();
   if(turno==1)
   {
      printf("Seleccione la ficha negra que desea mover...\n");
       
   }
   else if(turno==0)
   {
      printf("Seleccione la ficha Blanca que desea mover...\n");
       
   }
   
   printf("\tIntroduzca la fila y columna\n");
   scanf("%d %d",&x,&y);
   printf("\tElija la direccion del movimiento,\n\tIzquierda [1]\n\tDerecha [2]\n");
   scanf("%d",&direccion);
   moverPieza(x, y, direccion);
   return 1;
   
}
/////////////////////////////////////Manual que contiene las instrucciones del juego////////////////////////////////////////////////////////////////////
int manual()
{
    printf("\tEn este juego parte el jugador con las piezas blancas\n El tablero esta enumerado del 0 al 7,desde arriba hacia abajo y de izquierda a derecha\n\tLas negras estan arriba y las blancas abajo\n\tLuego de cada movimiento para continuar debe presionar [c]\n\tLas coordenadas de la ficha que desea mover debera ser ingresada con un espacio entre cada numero\n"); 
}
//////////////////////////////////////////////////////MENU/////////////////////////////////////////////////////////////
int main(){
   int menu,aux=0;
  while(aux!=1)
  {
      printf("\n\n\n\t**************BIENVENIDO AL JUEGO DE LAS DAMAS EN C************\n\t*****  *****\t********  ****     **\t***    ***\n\t***  **  ***\t***       ** **    **\t***    ***\n\t***  **  ***\t******    **  **   **\t***    ***\n\t***      ***\t***       **    ** **\t**********\n\t***      ***\t********  **     ****\t**********\n\tpara leer el manual presione [1]\n\tpara comenzar a jugar presione [2]\n\tpara salir presione [0]\n");
      scanf("%d",&menu);
 
      if(menu==2)
      {
   system("cls");
   llenarTablero();
   while(jugar());
   aux=1;
      }
   else if(menu==0)
      {
   
   printf("\t\t******ADIOS******\n\tGRACIAS POR PREFERIR DAMAS EN C\n\n");
   aux=1;
   system("cls");
   return 0;
      }
   else if(menu==1)
      {
   manual();
   aux=0;
      }   
   else if(menu!=1&&menu!=2&&menu!=0)
   aux=0;
  }
   return 0;
}


En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Juego de Damas [Color del Tablero]
« Respuesta #1 en: 23 Junio 2015, 21:57 pm »

En la cabecera window.h tienes algunas funciones para cambiar algunos atributos de la consola:

Código
  1. HANDLE laTerminal;
  2.    laTerminal = GetStdHandle ( STD_OUTPUT_HANDLE );
  3.  
  4.    SetConsoleTextAttribute ( laTerminal,BACKGROUND_GREEN );
  5.    printf("Texto 1");
  6.    SetConsoleTextAttribute ( laTerminal,BACKGROUND_INTENSITY | BACKGROUND_GREEN| BACKGROUND_RED| BACKGROUND_BLUE );
  7.    printf("Texto 2");
  8.    SetConsoleTextAttribute ( laTerminal,BACKGROUND_INTENSITY | BACKGROUND_RED );
  9.    printf("texto 3");
  10.    SetConsoleTextAttribute ( laTerminal,FOREGROUND_INTENSITY | FOREGROUND_BLUE | FOREGROUND_GREEN| FOREGROUND_RED );
  11.    printf(" texto 4");
  12.  
  13.  


En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
bestfriend

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Juego de Damas [Color del Tablero]
« Respuesta #2 en: 25 Junio 2015, 21:04 pm »

Disculpa pero no logro entender como aplico eso para colorear las casillas de mi tablero? Te adjunto la función del programa que imprime el tablero a ver si me puedes ayudar a buscar como implementar esa utilidad.

Código:
////////////////////////////////Imprime el tablero/////////////////////////////////////////////////////////////////////////// 
int imprimirTablero()
{
  int k,j,i;
   system("cls");
   for(i=0;i<T;i++)
       {
      if (i==0)
      {
         printf("  ");
         for(k=0;k<T;k++)
            printf(" %d ",k);
         printf("\n");
      }

      printf("%d ",i);
           for(j=0;j<T;j++)
     {
                   printf(" %c ",tablero[i][j]);
             }
             printf("\n");
       }
}
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Damas Inglesas en ASM
ASM
MasterPM2 5 6,388 Último mensaje 19 Abril 2010, 07:26 am
por MasterPM2
Tablero java
Java
lulu2704 1 4,928 Último mensaje 23 Abril 2011, 05:11 am
por Castiblanco
Juego de damas en python
Ejercicios
alex284 3 7,120 Último mensaje 20 Marzo 2014, 05:55 am
por Mitsu
Problema con tablero
Programación C/C++
Kougami 2 1,687 Último mensaje 16 Marzo 2017, 21:42 pm
por MAFUS
Juego tablero monopoly
Programación C/C++
Bruja199231 1 2,585 Último mensaje 13 Abril 2020, 22:54 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines