Eu tenho uma duvida de como posso finalizar meu programa quando o # do meu jogo estiver em cima do X se alguem pode me ajudar??
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include<windows.h>
#include<conio.h>
#define L 10
#define C 20
int main()
{
///ALERTA: NÃO MODIFICAR O TRECHO DE CÓDIGO, A SEGUIR.
//INICIO: COMANDOS PARA QUE O CURSOR NÃO FIQUE PISCANDO NA TELA
HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO cursorInfo;
GetConsoleCursorInfo(out, &cursorInfo);
cursorInfo.bVisible = false; // set the cursor visibility
SetConsoleCursorInfo(out, &cursorInfo);
//FIM: COMANDOS PARA QUE O CURSOR NÃO FIQUE PISCANDO NA TELA
//INÍCIO: COMANDOS PARA REPOSICIONAR O CURSOR NO INÍCIO DA TELA
short int CX=0, CY=0;
COORD coord;
coord.X = CX;
coord.Y = CY;
//FIM: COMANDOS PARA REPOSICIONAR O CURSOR NO INÍCIO DA TELA
///ALERTA: NÃO MODIFICAR O TRECHO DE CÓDIGO, ACIMA.
//Posição inicial do personagem no console
int x=5, y=3;
// Posição inicial da caixa no console
int n=2,m=2;
// Posição inicial do final no console
int v=8,b=18;
//Variável para recla precionada
char tecla;
//Coordenadas para impressão na tela
int i,j;
while(1){
///Imprime o jogo: mapa e personagem.
i=0;
while (i<L) {
j=0;
while (j<C) {
if (x==i && y==j){
printf("$");
}
else if (i==0 || i==L-1 || j==0 || j==C-1){
printf("°");
}else if(n==i&& m==j){
printf("#");
}
else if(v==i&& b==j){
printf("X");
}
else{
printf(" ");
}
j++;
}
printf("\n");
i++;
}
if ( _kbhit() ){
tecla = getch();
switch(tecla)
{
case 'w': ///cima
x--;
if (x==n && y==m)
{
n--;
}
break;
case 's': ///baixo
x++;
if (x==n && y==m)
{
n++;
}
break;
case 'a': ///esquerda
y--;
if (x==n && y==m)
{
m--;
}
break;
case 'd': ///direita
y++;
if (x==n && y==m)
{
m++;
}
break;
}
}
if (n==0 && x==1)// NAO DEIXA O JOGADOR E A CAIXA SAIR PARA CIMA
{
n++;
x++;
}
if (n==9 && x==8)// NAO DEIXA O JOGADOR E A CAIXA SAIR PARA BAIXO
{
n--;
x--;
}
if (m==19 && y==18)// NAO DEIXA O JOGADOR E A CAIXA SAIR PARA DIREITA
{
m--;
y--;
}
if (m==0 && y==1)// NAO DEIXA O JOGADOR E A CAIXA SAIR PARA ESQUERDA
{
m++;
y++;
}
if(x==0) // NAO DEIXA O JOGADOR SAIR PARA CIMA
{
x++;
}
if(x==9)// NAO DEIXA O JOGADOR SAIR PARA BAIXO
{
x--;
}
if(y==0)// NAO DEIXA O JOGADOR SAIR PARA ESQUERDA
{
y++;
}
if(y==19)// NAO DEIXA O JOGADOR SAIR PARA DIREITA
{
y--;
}
printf("X %d Y %d n %d m %d", x,y,n,m);
if (n==8 && m==18)
{
printf("vitoria");
break;
return 0;
}
/**
Recoloca o mapa no inicio da tela,
isso faz com que o jogo seja escrito sempre no mesmo lugar.
*/
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
return 0;
}