Ese juego en que lenguaje está programado?
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ú#include <iostream>
using namespace std;
int main(){
int input = 0;
cout << "1 - Lo que sea" << endl << "2 - Lo que sea" << endl;
cin >> input;
if (input == 1) Funcion1();
if (input == 2) Funcion2();
}
void Funcion1(){
// Lo que sea
}
void Funcion2(){
//Lo que sea
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#define MAXFIL 9
#define MAXCOL 9
void tablero (int matriz[MAXFIL][MAXCOL]);
int mensajes();
int validarCasilla(int f1,int c1,int f2, int c2);
void cambiarCasilla (int matriz[MAXFIL][MAXCOL],int f1,int c1,int f2,int c2);
int buscarCaramelosVertical (int matriz[MAXFIL][MAXCOL],int puntos);
int buscarCaramelosHorizontal (int matriz[MAXFIL][MAXCOL],int puntos);
int bajarCaramelosHori(int matriz[MAXFIL][MAXCOL],int f, int c);
int bajar4CaramelosVerti(int matriz[MAXFIL][MAXCOL],int f, int c);
int bajar3CaramelosVerti(int matriz[MAXFIL][MAXCOL],int f, int c);
void tablero (int matriz[MAXFIL][MAXCOL]){ // cambai numeros por simbolos
int i,j,e;
printf(" 1 2 3 4 5 6 7 8 9 \n");
printf("-----------------------------------------------------------------------------");
for (i=0;i<MAXFIL;i++){
printf("\n");
printf("%i -- ", i+1);
for (j=0;j<MAXCOL;j++){
if (matriz[j]==1)
{
e=1;
printf("\t%c",e);
}
if (matriz[j]==2)
{
e=2;
printf("\t%c",e);
}
if (matriz[j]==3)
{
e=4;
printf("\t%c",e);
}
if (matriz[j]==4)
{
e=5;
printf("\t%c",e);
}
if (matriz[j]==5)
{
e=15;
printf("\t%c",e);
}
}
printf("\n");
}
getch();
}
int mensajes(){
printf("\n\n................|| Bienvenido al Primer Nivel ||................\n\n");
printf("----->>Recuerde: \n\n");
printf(">>Tiene 40 movimientos\n\n");
printf(">>Las Filas son Horizontales\n\n");
printf(">>Las Columnas son Verticales\n\n");
printf("------------------------------------------------------------------------------\n\n\n");
system("pause");
return 0;
}
int validarCasilla(int f1,int c1,int f2, int c2){ // valida fila y columna que ingresa el ususario f1 y c1 son las filas y las clomunas donde se encuentra el numero y f2 y c2 son las casillas a donde quiere mover el usuario
if((f1<1||f2<1)||(f1>9||f2>9)||(c1<1||c2<1)||(c1>9||c2>9)){
printf("\n\n >>Ingrese numeros del 1 al 9\n\n");
return 1;
}
if ((f1<=9 && f2<=9) && (f1>=1 && f2>=1) && (c1<=9 && c2<=9) && (c1>=1 && c2>=1)){
if ((f1==f2)&&(c1==c2)){
printf("\n\n >>Ingrese Coordenadas DIFERENTES\n\n");
return 1;
}
return 0;
}
}
void cambiarCasilla (int matriz[MAXFIL][MAXCOL],int f1,int c1,int f2,int c2){
int i,j,aux; // aux es un valor temporal para guardar la casilla
for (i=0;i<MAXFIL;i++){
for (j=0;j<MAXCOL;j++){
aux=matriz[f2-1][c2-1];
matriz[f2-1][c2-1]=matriz[f1-1][c1-1]; //le resto 1 xk los numero que ingresa el usuario son del 1 al 9 y la matriz toma en cuenta el cero
matriz[f1-1][c1-1]=aux;
}
}
printf("\n");
getch();
}
int buscarCaramelosVertical (int matriz[MAXFIL][MAXCOL],int puntos){
printf("\n\n------------------>> BUSQUEDA VERTICAL:\n\n");
int contador=1;
int f=0; // es la fila en donde se encuentra el ultimo caramelo repetido
int c=0; // es la columna en donde se encuentra el ultimo caramelo repetido
int i,j;
for (j=0;j<MAXCOL;j++){
for (i=0;i<7;i++){
if (matriz[j]==matriz[i+1][j]){
contador++;
f=i+1;// la fila de referencia en donde se encuentra el ult caramelo repetido aumenta en uno
c=j+1;// la columna de referencia en donde se encuentra el ult caramelo repetido aumenta en uno
}
else if (matriz[j]!=matriz[i+1][j]){
contador=1;
}
if (contador==3 && i<=6 && (matriz[i+1][j]==matriz[i+2][j])){ // esta linea no se si este bien .-.
f=i+3; // se queda en la utlima posicion donde encontro el caramelo
printf("\n\n ENCONTRO 4 CARAMELOS EN LA COLUMNA: %d DESDE LA FILA %d A LA FILA %d \n",c,f-3,f);
puntos=puntos+7;
bajar4CaramelosVerti(matriz,f,c);
break;
}
else if (contador==3 && i<=7){
f=i+2;
printf("\n\n ENCONTRO 3 CARAMELOS EN LA COLUMNA: %d DESDE LA FILA %d A LA FILA %d \n",c,f-2,f);
puntos=puntos+5;
bajar3CaramelosVerti(matriz,f,c);
break;
}
}
}
return puntos;
}
int buscarCaramelosHorizontal (int matriz[MAXFIL][MAXCOL],int puntos){ //
printf("\n\n------------------>> BUSQUEDA HORIZONTAL:\n\n");
int contador=1;
int f=0; //fila de refecrencia
int c=0; //columna de referencia
int i,j;
for(i=0;i<MAXFIL;i++){
for(j=0;j<7;j++){
if (matriz[j]== matriz[j+1])
contador=contador+1;
f=i+1;
c=j+1;
puntos=puntos;
if (matriz[j]!=matriz[j+1])
contador=1;
puntos=puntos;
if (contador==3 && j<=6 && (matriz[j+1]==matriz[j+2])){
c=j+3;
printf("\n\n ENCONTRO 4 CARAMELOS DESDE LA COLUMNA: %d HASTA LA COLUMNA %d EN LA FILA %d \n",c-3,c,f); //muestra la columan y la fila donde se encuentra
puntos=puntos+7;
matriz[j]=bajarCaramelosHori(matriz,f,c); //llama funcion para cambiar caramelos
matriz[j]=bajarCaramelosHori(matriz,f,c-1);
matriz[j]=bajarCaramelosHori(matriz,f,c-2);
matriz[j]=bajarCaramelosHori(matriz,f,c-3);
break;
}
if (contador==3 && j<=7){
c=j+2;
printf("\n\n ENCONTRO 3 CARAMELOS DESDE LA COLUMNA: %d HASTA LA COLUMNA %d EN LA FILA %d \n",c-2,c,f);
puntos=puntos+5;
matriz[j]=bajarCaramelosHori(matriz,f,c);
matriz[j]=bajarCaramelosHori(matriz,f,c-1);
matriz[j]=bajarCaramelosHori(matriz,f,c-2);
break;
}
}
}
return puntos;
}
int bajarCaramelosHori(int matriz[MAXFIL][MAXCOL],int f, int c){
int i;
if(f==1&&c<=9){
matriz[0][c-1]=1+(rand()%5); // le resto 1 xk f y c estan con 1 aumentado para que al imprimirse se presenten desde el 1 al 9
}
else if(f==2&&c<=9){
matriz[1][c-1]=matriz[f-2][c-1];
matriz[0][c-1]=1+(rand()%5);
}
else if(f>=3&&c<=9){
for (i=f-1;i>=1;i--){
matriz[c-1]=matriz[i-1][c-1];
}
matriz[0][c-1]=1+(rand()%5);
}
}
int bajar4CaramelosVerti(int matriz[MAXFIL][MAXCOL],int f, int c){ // esta funcion si no me sale
int i,j;
if (f==4){ // revisa si f se encuentra en la fila 4
for (i=0;i<4;i++){
if (j==c){ // c no cambia xk es vertical por loq ue se manitene en la msima columna solo varia fila
matriz[c-1]=1+(rand()%5);
}
}
}
if (f==5){
matriz[f-1][c-1]=matriz[0][c-1];
for (i=0;i<4;i++){
if (j==c){
matriz[c-1]=1+(rand()%5);
}
}
}
if (f==6){
matriz[f-1][c-1]=matriz[1][c-1];
matriz[f-2][c-1]=matriz[0][c-1];
for (i=0;i<4;i++){
if (j==c){
matriz[c-1]=1+(rand()%5);
}
}
}
if (f==7){
matriz[f-1][c-1]=matriz[2][c-1];
matriz[f-2][c-1]=matriz[1][c-1];
matriz[f-3][c-1]=matriz[0][c-1];
for (i=0;i<4;i++){
if (j==c){
matriz[c-1]=1+(rand()%5);
}
}
}
if (f==8){
matriz[f-1][c-1]=matriz[3][c-1];
matriz[f-2][c-1]=matriz[2][c-1];
matriz[f-3][c-1]=matriz[1][c-1];
matriz[f-4][c-1]=matriz[0][c-1];
for (i=0;i<4;i++){
if (j==c){
matriz[c-1]=1+(rand()%5);
}
}
}
if (f==9){
matriz[f-1][c-1]=matriz[4][c-1];
matriz[f-2][c-1]=matriz[3][c-1];
matriz[f-3][c-1]=matriz[2][c-1];
matriz[f-4][c-1]=matriz[1][c-1];
matriz[f-5][c-1]=matriz[0][c-1];
for (i=0;i<4;i++){
if (j==c){
matriz[c-1]=1+(rand()%5);
}
}
}
}
int bajar3CaramelosVerti(int matriz[MAXFIL][MAXCOL],int f, int c){ // esta toampoco sale .-.
int i,j;
if (f==3){
for (i=0;i<3;i++){
if(j==c){
matriz[c-1]=1+(rand()%5);
}
}
}
if (f==4){
matriz[f-1][c-1]=matriz[0][c-1];
for (i=0;i<3;i++){
if (j==c){
matriz[c-1]=1+(rand()%5);
}
}
}
if (f==5){
matriz[f-1][c-1]=matriz[1][c-1];
matriz[f-2][c-1]=matriz[0][c-1];
for (i=0;i<3;i++){
if (j==c){
matriz[c-1]=1+(rand()%5);
}
}
}
if (f==6){
matriz[f-1][c-1]=matriz[2][c-1];
matriz[2][c-1]=1+(rand()%5);
matriz[f-2][c-1]=matriz[1][c-1];
matriz[1][c-1]=1+(rand()%5);
matriz[f-3][c-1]=matriz[0][c-1];
matriz[0][c-1]=1+(rand()%5);
}
if (f==7){
matriz[f-1][c-1]=matriz[3][c-1];
matriz[3][c-1]=matriz[0][c-1];
matriz[f-2][c-1]=matriz[2][c-1];
matriz[f-3][c-1]=matriz[1][c-1];
for (i=0;i<3;i++){
if (j==c){
matriz[c-1]=1+(rand()%5);
}
}
}
if (f==8){
matriz[f-1][c-1]=matriz[3][c-1];
matriz[f-2][c-1]=matriz[2][c-1];
matriz[f-3][c-1]=matriz[1][c-1];
matriz[f-4][c-1]=matriz[0][c-1];
for (i=0;i<3;i++){
if (j==c){
matriz[c-1]=1+(rand()%5);
}
}
}
if (f==9){
matriz[f-1][c-1]=matriz[5][c-1];
matriz[5][c-1]=matriz[2][c-1];
matriz[f-2][c-1]=matriz[4][c-1];
matriz[4][c-1]=matriz[1][c-1];
matriz[f-3][c-1]=matriz[3][c-1];
matriz[3][c-1]=matriz[0][c-1];
for (i=0;i<3;i++){
if (j==c){
matriz[c-1]=1+(rand()%5);
}
}
}
}
int main(){
mensajes();
system("cls");
srand(time(NULL));
printf("\n\n\t\t.....|| Cargando Colores ||....\n\n\n\n");
int i,j;
int matriz[MAXFIL][MAXCOL]={0}; // llena matriz de ceros
for(i=0;i<MAXFIL;i++){
for(j=0;j<MAXCOL;j++){
matriz[j]=1+(rand()%5); // genera numeros aleatorios
}
}
tablero (matriz);
int f1,f2,c1,c2;
printf("\n\n....................>> Primera Coordenada:\n\n");
printf(">>Ingrese fila:"); // donde se encuentra el caramelo
scanf("%d",&f1);
printf(">>Ingrese columna:");
scanf("%d",&c1);
printf("\n\n....................>> Segunda Coordenada:\n\n");
printf(">>Ingrese fila:"); // posicion donde desea mover el caramelo
scanf("%d",&f2);
printf(">>Ingrese columna:");
scanf("%d",&c2);
int puntos=0;
validarCasilla(f1,c1,f2,c2); // verifica si los numeros ingresados por el usuario estan correctos
if (validarCasilla(f1,c1,f2,c2)==0){ // si la funcion es verdadera
printf("\n\n\t\t.....|| MEZCLA DE COLORES ||....\n\n\n\n");
cambiarCasilla (matriz,f1,c1,f2,c2); // cambia las casillas
tablero(matriz);
printf("\n\n------------------------------------------------------------------------------\n\n\n");
printf("\n\n\t\t.....|| BUSQUEDA DE COLORES ||....\n\n\n\n");
puntos=buscarCaramelosVertical (matriz,puntos)+buscarCaramelosHorizontal (matriz,puntos); // suma los putnos
printf("\n\n------------------->>Usted posee %d puntos \n\n",puntos);
printf("\n\n------------------------------------------------------------------------------\n\n\n");
printf("\n\n\t\t.....|| BAJANDO COLORES ||....\n\n\n\n");
tablero (matriz);
}
} ;)
Cita de: OssoH en 5 Febrero 2014, 18:02 PM
Yo tengo un servidor casero donde hago mis pruebas con php y mysql.
¿Que herramienta has utilizado para saber que tu codigo tiene vulnerabilidades?
Gracias.