Mostrar Ganar tocar un número en la matriz.

Iniciado por veravluis, 25 Febrero 2016, 21:04 PM

0 Miembros y 1 Visitante están viendo este tema.

veravluis

Hola amigos, una pregunta como haria para que cuando toque el numero "3" salga un mensaje en pantalla Haz ganado, de ante mano gracias.



#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>

#define maxfilas 10
#define minfilas 3
#define maxcolum 10
#define mincolum 3

int main(){

int filas,columnas,i ,j,a,num,num2;
int matriz[400][400];
srand(time(NULL));

printf("Bienvenido.\n");

do {
fflush(stdin);
printf("Ingrese el numero de filas que tendra el juego\n");
a = isdigit(filas);
scanf("%d",&filas);
}


while(filas > maxfilas || filas < minfilas);

do {
fflush(stdin);
printf("Ingrese el numero de columnas para el juego\n");
a = isdigit(columnas);
scanf("%d",&columnas);
}
while(columnas > maxcolum || columnas < mincolum);



//Cargamos la matriz
for(i = 0; i < filas; i++) {
for(j = 0; j < columnas; j++) {
matriz[i][j]=0;
matriz[num][num2]=8;
    matriz[filas][columnas]=3;
}
}
imprimir(filas,columnas,matriz);
movimiento(filas,columnas,matriz);


return 0;
}

void imprimir(int filas,int columnas,int matriz[maxfilas][maxcolum]) {

system("cls");
//int matriz[filas][columnas];
int num,num2,i,j;

//Imprimiendo la matriz
for(i = 0; i < filas; i++) {
printf("\n");
for(j = 0; j < columnas; j ++) {
if(matriz[i][j]==0) {
printf("0",matriz[i][j]);
}
if(matriz[i][j]==8) {
printf("\1",matriz[i][j]);
}
if(matriz[i][j]==3) {
printf("3",matriz[i][j]);
}
}
}




}// cierre funcion imprimir.

void movimiento(int filas,int columnas,int matriz[maxfilas][maxcolum]) {


int num,num2;
char tecla;

//int matriz[filas][columnas];
num = rand()%2+1;
num2 = rand()%2+1;
matriz[num][num2]=8;
matriz[filas-1][columnas-1]=3;

do {

tecla = getch();



matriz[filas][columnas]=0;
matriz[num][num2]=0;

switch (tecla) {


case 'w': {
if (matriz[num-1][num2]==0) {
num--;
if(matriz[num][num2]==3){
break;
}
}
break;
}
case 's': {
if (matriz[num+1][num2]==0) {
num++;
if(matriz[num][num2]==3){
break;
}
}
break;
}
case 'a': {
if (matriz[num][num2-1]==0) {
num2--;
if(matriz[num][num2]==3){
break;
}
}
break;
}
case 'd': {
if (matriz[num][num2+1]==0){
num2++;
if(matriz[num][num2]==3){
break;
}
}
break;
}

}//cierre switch
system("cls");
matriz[num][num2]=8;
matriz[filas][columnas]=0;
matriz[filas][columnas]=3;

imprimir(filas,columnas,matriz);


}while(tecla != 'x');

}