Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - nelxiton

#1
HOLA, TENGO UN PROBLEMA CON RESOLVER ESTE EJERCICIO ...

TRATA SOBRE EL JUEGO TRES EN LINEA...

ME FALTA HALLAR SI GANO DE FORMA VERTICAL Y DE FORMA DIAGONAL IZQUIERDA Y DERECHA

ESPERO QUE ALGUIEN ME PUEDA AYUDAR CON ESTE PROBLEMA LE ESTARIA MUY AGRADECIDO..   :huh:


Código (cpp) [Seleccionar]
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
//declaro matriz
int matriz[3][3];

using namespace System;


//declaro funcion
int verifica_horizontal();

int main(array<System::String ^> ^args)
{

Random r;

//Inicio matriz - por filas
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
matriz[i][j]=0;

//Genero matriz aleatoria
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
matriz[i][j]=r.Next(0,2);

//Mostrar matriz original - por filas
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
printf("%4d",matriz[i][j]);

printf("\n");
}

printf("\n");
printf("\n");
//Mostrar matriz - por filas
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
if( matriz[i][j] == 0)
{
printf("O");
}
if( matriz[i][j] == 1)
{
printf("X");
}
}
printf("\n");
}

//Invoco funciones
//int horizontal = verifica_horizontal();

if (verifica_horizontal() == 1)
printf("\n\n\t GANA HORIZONTAL");
else
printf("\n\n\t NO HAY GAANDOR HORIZONTAL");


_getch();
    return 0;
}

//Implemento funcion
int verifica_horizontal()
{
int gana=0;
int contador;

for(int i=0;i<3;i++)
{
contador=0;
for(int j=0;j<3;j++)
{
if(matriz[i][j]==1)
contador++;
}
if( contador == 3 )
{
gana=1;
break;
}
}

return gana;
}
#2
HOLA TENGO UN PROBLEMA EN UN EJERCICIO QUE TENGO QUE PRESENTAR EL DIA DE HOY..!! (es en lenguaje c++ VISUAL STUDIO)

EL PROGRAMA TIENE MASOMENOS ESTE SENTIDO http://www.4shared.com/zip/SDxUXq61/jumper.html? (ejecutable que nos dio el profesor).

TENGO ESTE CODIGO.. 

EL CUAL QUIERO INCLUIRLO EN EL CODIGO MAYOR PERO AL HACERLO ME SALE UN MONTON DE ERRORES...!!




Código (cpp) [Seleccionar]
#include<stdafx.h>
#include<stdio.h>
#include<conio.h>
#include<windows.h>


using namespace System;



void Colorletras(int numero)
{
       
        if(numero==1)         
       
                Console::ForegroundColor = ConsoleColor::Blue;
                       
        else
        if(numero==2)
                        Console::ForegroundColor = ConsoleColor::Green;
                       
        else
        if(numero==3)
                        Console::ForegroundColor = ConsoleColor::Cyan;
                       
        else
        if(numero==4)
                        Console::ForegroundColor = ConsoleColor::Red;
                       
        else
        if(numero==5)
                        Console::ForegroundColor = ConsoleColor::Magenta;
                       
        else
                Console::ForegroundColor = ConsoleColor::Yellow;
       
}

int main(array<System::String ^> ^args)
{
        Console::WindowWidth=80;

       

char vec1[80]={"       ***** ** \n"};
char vec2[80]={"    ****** **** * \n"};
char vec3[80]={"   **   * *  **** \n"};
char vec4[80]={"  *     * *   ** \n"};
char vec5[80]={"       * *       \n"};
char vec6[80]={"       ***  **       **                                         *****  ***** \n"};
char vec7[80]={"       **   **       **  *** **** ****      *****      ****       **** ******\n"};
char vec8[80]={"       **   **       **   *** **** ***     ********   *******       * **  ***\n"};
char vec9[80]={"       **   **       **     **  **** ***   **    **   **   ***       **\n"};
char vec10[80]={"       **   **       **     **   **   **   **    **   ********       **\n"};
char vec11[80]={"        *   **       **     **   **   **   **    **   ****           **\n"};
char vec12[80]={"  **    *   **       **     **   **   **   *******    ****   **      ***\n"};
char vec13[80]={" ****  *    ********* **     ***  *** ***  ******     ********       ***\n"};
char vec14[80]={" *  * **     *****     **      ***  *** *** **          *****\n"};
char vec15[80]={"*    **                                     **          \n"};
char vec16[80]={"     *                                      **          \n"};
char vec17[80]={"                                            **\n"};
char vec18[80]={"\n"};
char vec19[80]={"\n"};
char vec20[80]={"\n"};
char vec21[80]={"\n"};
char vec22[80]={"\n"};
char vec23[90]={"================================================================================"};
char vec24[90]={"<1>Play\n"};
char vec25[90]={"<2>End Game"};


        while(1)
        {
               
                Random x;
                int numeroDeFila = x.Next(6);
                Console::SetCursorPosition(0,0);
                Console::ForegroundColor = ConsoleColor::White;
                printf(vec1);
                printf(vec2);
                printf(vec3);
                Colorletras(numeroDeFila);
                printf(vec4);
                printf(vec5);
                printf(vec6);
                printf(vec7);
                printf(vec8);
                printf(vec9);
                printf(vec10);
                printf(vec11);
                printf(vec12);
                printf(vec13);
                printf(vec14);
                printf(vec15);
                printf(vec16);
                printf(vec17);
                printf(vec18);
                printf(vec19);
                printf(vec20);
                printf(vec21);
                printf(vec22);
                printf(vec23);
                printf(vec24);
                printf(vec25);
       
               
                for(int i=1; i<=17;i++)
                {
                        Colorletras(numeroDeFila);
                        Console::SetCursorPosition(0,0);
                        int comienza = i;
                        int termina = i+3;
                       
                        if(comienza == 1)
                                Console::ForegroundColor = ConsoleColor::White;

                        printf(vec1);
                        if(comienza == 2)
                                Console::ForegroundColor = ConsoleColor::White;
                        printf(vec2);
                        if(comienza == 3)
                                Console::ForegroundColor = ConsoleColor::White;
                        printf(vec3);
                        if(comienza == 4)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 4)
                                Colorletras(numeroDeFila);
                        printf(vec4);
                        if(comienza == 5)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 5)
                                Colorletras(numeroDeFila);
                        printf(vec5);
                        if(comienza == 6)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 6)
                                Colorletras(numeroDeFila);
                        printf(vec6);
                        if(comienza == 7)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 7)
                                Colorletras(numeroDeFila);
                        printf(vec7);
                        if(comienza == 8)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 8)
                                Colorletras(numeroDeFila);
                        printf(vec8);
                        if(comienza == 9)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 9)
                                Colorletras(numeroDeFila);
                        printf(vec9);
                        if(comienza == 10)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 10)
                                Colorletras(numeroDeFila);
                        printf(vec10);
                        if(comienza == 11)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 11)
                                Colorletras(numeroDeFila);
                        printf(vec11);
                        if(comienza == 12)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 12)
                                Colorletras(numeroDeFila);
                        printf(vec12);
                        if(comienza == 13)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 13)
                                Colorletras(numeroDeFila);
                        printf(vec13);
                        if(comienza == 14)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 14)
                                Colorletras(numeroDeFila);
                        printf(vec14);
                        if(comienza == 15)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 15)
                                Colorletras(numeroDeFila);
                        printf(vec15);
                        if(comienza == 16)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 16)
                                Colorletras(numeroDeFila);
                        printf(vec16);
                        if(comienza == 17)
                                Console::ForegroundColor = ConsoleColor::White;
                        if(termina == 17)
                                Colorletras(numeroDeFila);
                        printf(vec17);
                        _sleep(200);
       
                }                     
               
        }
       
_getch();     
                return 0;
}




ESTE ES EL CODIGO MAYOR EN DONDE ESTA LA MAYOR CANTIDAD DE FUNCIONES..!! (el otro es introduccion)

Código (cpp) [Seleccionar]
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <windows.h>

#define MAXBLOQUE 80


int tiempos=1;
char num_vidas=3;
int repeticio=0,nivel=10;

using namespace System;

void Colorletras(int numero)
{
if(numero==1)
Console::ForegroundColor = ConsoleColor::Blue;
else
if(numero==2)
Console::ForegroundColor = ConsoleColor::Green;
else
if(numero==3)
Console::ForegroundColor = ConsoleColor::Cyan;
else
if(numero==4)
Console::ForegroundColor = ConsoleColor::Red;
else
if(numero==5)
Console::ForegroundColor = ConsoleColor::Magenta;
else
    Console::ForegroundColor = ConsoleColor::Yellow;
}


void mostrar_movil(int Px, int Py)
{ System::Console::ForegroundColor=System::ConsoleColor::White;
System::Console::SetCursorPosition(Px,Py-1);
printf("%c",2);
System::Console::SetCursorPosition(Px,Py);
printf("%c",221);
System::Console::SetCursorPosition(Px+1,Py);
printf("%c",47);
System::Console::SetCursorPosition(Px-1,Py);
printf("%c",92);
System::Console::SetCursorPosition(Px,Py+1);
printf("%c",221);
System::Console::SetCursorPosition(Px,Py+2);
printf("%c",186);

}

void borrar_movil(int Px, int Py)
{ System::Console::ForegroundColor=System::ConsoleColor::White;

System::Console::SetCursorPosition(Px,Py-1);
printf("   ");
System::Console::SetCursorPosition(Px,Py);
printf("   ");
System::Console::SetCursorPosition(Px+1,Py);
printf("   ");
System::Console::SetCursorPosition(Px-1,Py);
printf("   ");
System::Console::SetCursorPosition(Px,Py+1);
printf("   ");
System::Console::SetCursorPosition(Px,Py+2);
printf("   ");
}

void vidas(int vidas)
{ int Px,Py;
System::Console::ForegroundColor=System::ConsoleColor::White;
System::Console::SetCursorPosition(Px+1,Py+1);
printf("Vidas %c",vidas);
System::Console::SetCursorPosition(Px+5,Py+1);
printf("%c",vidas--);
}

void tiempo(int vidas)
{
int hora,minuto,segundo,Px,Py;
for(int i=0;i<=1;i++)

System::Console::SetCursorPosition(Px+35,Py+1);
hora=minuto=segundo=0;
do
{System::Console::SetCursorPosition(Px+35,Py+1);
segundo++;
if(segundo>59)
{segundo=0;
minuto++;
}
if(minuto>59)
{minuto=0;
hora++;
}
if(hora>23)
hora=0;
if(kbhit())
break;
printf("%d:%d:%d", hora,minuto,segundo);
Sleep(1800);
}while(true);
}




int main(array<System::String ^> ^args)

{









int hora,minuto,segundo,x,y,dx,dy,vi,i;
char c;

     x=15;
y=12;
dx=dy=1;
vidas(num_vidas);


system("color c7");
System::Console::CursorVisible=false;
System::Random^r= gcnew
System::Random(System::DateTime::Now.Ticks);
///Variables del bloque
int Vecfila[MAXBLOQUE],VecColI[MAXBLOQUE];
int VecColf[MAXBLOQUE],VecColor[MAXBLOQUE];
int NBloques=50;
///variables del muñeco
int Px=5,Py=12;
int estado;///importantisimo
int contador_salto;

////inicial el 1er bloque
Vecfila[0]=15; VecColI[0]=0; VecColf[0]=25;
VecColor[0]=10;
////Pintar
//System::Console::ForegroundColor=System::ConsoleColor(VecColor[0]);
//for(int x=VecColI[0];x<=VecColf[0];x++)
//   {int y=Vecfila[0];
//    System::Console::SetCursorPosition(x,y);
// printf("#");
//   }
///inicializar el resto de bloques
for(int i=1;i<NBloques;i++)
   { int siguiente_fila=r->Next(7);

if(siguiente_fila==0)
Vecfila[i]=Vecfila[i-1]+3;

if(siguiente_fila==1)
Vecfila[i]=Vecfila[i-1]+2;

if(siguiente_fila==2)
Vecfila[i]=Vecfila[i-1]+1;

if(siguiente_fila==3)
Vecfila[i]=Vecfila[i-1]-0;

if(siguiente_fila==4)
Vecfila[i]=Vecfila[i-1]-1;

if(siguiente_fila==5)
Vecfila[i]=Vecfila[i-1]-2;

if(siguiente_fila==6)
Vecfila[i]=Vecfila[i-1]-3;


///inicializar la columna de inicio
VecColI[i]=VecColf[i-1]+4;
///inicializar la columna de fin
VecColf[i]=VecColI[i]+7;
///inicializar el color
VecColor[i]=r->Next(1,15);
   }
estado=0;///estado de reposo
contador_salto=0;
while(1) //while(true)
   {
   while(!kbhit())//mientras que no presiones nada
{ //pintar todos los bloques
   for(int i=0;i<NBloques;i++)
  {System::Console::ForegroundColor=System::ConsoleColor(VecColor[i]);
for(int x=VecColI[i];x<=VecColf[i];x++)
{int y=Vecfila[i];
if(x>=0 && x<80 && y>=0 && y<25)
{System::Console::SetCursorPosition(x,y);
  printf("%c",219);
}
}
  }
   ///Pintar muñeco
mostrar_movil(Px,Py);

//Pintar tiempo


System::Console::SetCursorPosition(35,1);
segundo++;
if(segundo>59)
{segundo=0;
minuto++;
}
if(minuto>59)
{minuto=0;
hora++;
}
if(hora>23)
hora=0;
if(kbhit())
break;
printf("%d:%d:%d", hora,minuto,segundo);


   ///Sleep
Sleep(150);



   ///Borrar bloques
for(int i=0;i<NBloques;i++)
  {System::Console::ForegroundColor=System::ConsoleColor(VecColor[i]);
for(int x=VecColI[i];x<=VecColf[i];x++)
{int y=Vecfila[i];
if(x>=0 && x<80 && y>=0 && y<25)
{System::Console::SetCursorPosition(x,y);
  printf(" ");
}
}
  }




   ///Borrar muñeco
borrar_movil(Px,Py);
 

   ///Calcular nueva posicion de bloques
for(int i=0;i<NBloques;i++)
  {
  VecColI[i]--;
  VecColf[i]--;
  }
   ///Calcular nuevo estado del muñeco
if(estado==1)
{
Py--;
contador_salto++;
if(contador_salto==5)
estado=2;
}
else if(estado==2)
  {
  Py++;//actualizo coordenadas
  }
//si debajo del muñeco hay un bloque
//entonces cambio el estado a 0
bool encontrado=false;
for(int i=0;i<NBloques;i++)
  {
  if((Py+2)+1==Vecfila[i]&&(Px>=VecColI[i]&&Px<=VecColf[i]))
  {
  encontrado=true;
  }
  }
if(encontrado)
estado=0;
else
estado=2;
     }
   //Reconocer la tecla que he presionado
   char tecla=getch();
   //en esta parte solo modificamos estados, no pintamos
   if(tecla==75)
   {borrar_movil(Px,Py);
if(x>2)
x=x-dx;
mostrar_movil(Px,Py);
System::Console::ForegroundColor=System::ConsoleColor::White;
System::Console::SetCursorPosition(Px,Py);
printf(" %c",1);
System::Console::SetCursorPosition(Px,Py+1);
printf("-|-");
System::Console::SetCursorPosition(Px,Py+2);
printf("( (");

System::Console::ForegroundColor=System::ConsoleColor::White;
System::Console::SetCursorPosition(Px,Py);
printf(" %c",1);
System::Console::SetCursorPosition(Px,Py+1);
printf("-|-");
System::Console::SetCursorPosition(Px,Py+2);
printf("||");
}
       if(tecla==77)
{borrar_movil(Px,Py);
  if(x<77)
x=x+dx;
mostrar_movil(Px,Py);
System::Console::ForegroundColor=System::ConsoleColor::White;
System::Console::SetCursorPosition(Px,Py);
printf(" %c",1);
System::Console::SetCursorPosition(Px,Py+1);
printf("-|-");
System::Console::SetCursorPosition(Px,Py+2);
printf(") )");

System::Console::ForegroundColor=System::ConsoleColor::White;
System::Console::SetCursorPosition(Px,Py);
printf(" %c",1);
System::Console::SetCursorPosition(Px,Py+1);
printf("-|-");
System::Console::SetCursorPosition(Px,Py+2);
printf("| |");
   }

   if(tecla==72)
{
if(estado==0)//solo si estoy en reposo
{
  estado=1;//lo hago saltar
  contador_salto++;

   System::Console::ForegroundColor=System::ConsoleColor::White;
   System::Console::SetCursorPosition(Px,Py);
   printf("  ");
   System::Console::SetCursorPosition(Px,Py+1);
   printf("   ");
   System::Console::SetCursorPosition(Px,Py+2);
   printf("  ");
   Py--;
   

   System::Console::ForegroundColor=System::ConsoleColor::White;
   System::Console::SetCursorPosition(Px,Py);
   printf("  ");
   System::Console::SetCursorPosition(Px,Py+1);
   printf("   ");
   System::Console::SetCursorPosition(Px,Py+2);
   printf("  ");
   Py--;
   

   System::Console::ForegroundColor=System::ConsoleColor::White;
   System::Console::SetCursorPosition(Px,Py);
   printf("  ");
   System::Console::SetCursorPosition(Px,Py+1);
   printf("   ");
   System::Console::SetCursorPosition(Px,Py+2);
   printf("  ");
   Py--;
   

   System::Console::ForegroundColor=System::ConsoleColor::White;
   System::Console::SetCursorPosition(Px,Py);
   printf("  ");
   System::Console::SetCursorPosition(Px,Py+1);
   printf("   ");
   System::Console::SetCursorPosition(Px,Py+2);
   printf("  ");
   Py--;

       System::Console::ForegroundColor=System::ConsoleColor::White;
   System::Console::SetCursorPosition(Px,Py);
   printf("  ");
   System::Console::SetCursorPosition(Px,Py+1);
   printf("   ");
   System::Console::SetCursorPosition(Px,Py+2);
   printf("  ");
   Py--;

   
}
}
   }
_getch();
    return 0;
}



ESPERO QUE ME PUEDAN AYUDA URGENTE POR FAVOR....  :(