Ir ao conteúdo

Posts recomendados

Postado

Pessoal, preciso de uma ajuda nesse código, não estou conseguindo deixar o jogador 1 (A) na parte de ima e o jogador 2 (B) na parte de baixo, um esta sobrescrevendo o outro.

Também não estou conseguindo inicializar a Matriz do tabuleiro como "-1", que são as casas em branco.

Resumindo, montar um tabuleiro "funcional"

 

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define TAB 8
#define casa_vazia 0
#define A 1
#define B 2
#define AD 3
#define BD 4
#define casa_branca -1
  
void campo() {
	system("cls");
	int matriz[TAB][TAB] = { {-1} };
	int i = 0, j = 0, lin = 0, col = 0, l = 0, c = 0;

	printf("\t\t\t 0 1 2 3 4 5 6 7 \n");
	for (i = 0; i < TAB; i++) //peças brancas
	{
		printf("\n\t\t\t%d ", i);
		for (j = 0; j < 8; j++)
		{
			if ((i % 2 == 0 && j % 2 == 0) || (i % 2 == 1 && j % 2 == 1))
			{
				matriz[i][j]= 1;				
			}
		//printf("%d ", matriz[i][j]);
		}
	}
	for (j = 0; j < TAB; j++)//peças pretas
	{
		for (i = 0; i < TAB; i++)
		{
			if ((i % 2 == 0 && j % 2 == 0) || (i % 2 == 1 && j % 2 == 1))
			{
				matriz[i][j] = 2;
			}
				printf("%d ", matriz[i][j]);
		}	
	}


	printf("\n\n\t\t\tLINHA => ");
	scanf_s("\n%d", &l);
}

void main() {
	setlocale(LC_ALL, "portuguese");
	int lin = 0, col = 0, i = 0, j = 0, opcao=0, menu = 0;
	int matriz[TAB][TAB] = { {-1} };

	do
	{
		printf("\n\t Bem vindo ao jogo de Damas!");
		printf("\n\t 1 - Iniciar jogo.");
		printf("\n\t 2 - Informações do jogo.");
		printf("\n\t 3 - Sair do jogo.");
		printf("\n\n\t Selecione uma opção => ");
		scanf_s("%d", &menu);

		switch (menu)
		{
		case 1: //COMEÇAR O JOGO (FUNÇÃO JOGO)
			campo();
			
			break;

		case 2: // INFORMAÇÕES DO JOGO
			break;

		case 3: //SAIR DO JOGO
			system("cls");
			printf("\n\tVOCÊ SAIU DO JOGO!");
			break;

		default:
			system("cls");
			printf("\n\tOPÇÃO INVÁLIDA, TENTE NOVAMENTE!");

			//return 0	
		}
	} while (menu != 3);

}

 

Postado
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define TAB 8
#define casa_vazia 0
#define A 1
#define B 2
#define AD 3
#define BD 4
#define casa_branca -1
 
int matriz[TAB][TAB];/* = {{-1, -1, -1, -1, -1, -1, -1, -1}, 
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1}};*/
	                        
void campo() {
	system("cls");
	
	int i = 0, j = 0, lin = 0, col = 0, l = 0, c = 0;

	printf("\t0\t1\t2\t3\t4\t5\t6\t7\t\n\n");
	for (i = 0; i < TAB; i++) //peças brancas
	{
		printf("%d\t", i);
		for (j = 0; j < TAB; j++)
		{
			if (((i % 2 == 0) && (j % 2 == 0)) || ((i % 2 == 1) && (j % 2 == 1))) 
			{
				if (i<3) matriz[i][j]= 1; //brancas
				else if (i>4) matriz[i][j] = 2; //pretas
				else matriz[i][j] = 0;//vazio
			}
			printf("%d\t", matriz[i][j]);
		}
		printf("\n");
	}
	

	printf("\n\n\t\t\tLINHA => ");
	scanf("\n%d", &l);
}

int main() {
	setlocale(LC_ALL, "portuguese");
	int lin = 0, col = 0, i = 0, j = 0, opcao=0, menu = 0;
	do
	{
		printf("\n\t Bem vindo ao jogo de Damas!");
		printf("\n\t 1 - Iniciar jogo.");
		printf("\n\t 2 - Informações do jogo.");
		printf("\n\t 3 - Sair do jogo.");
		printf("\n\n\t Selecione uma opção => ");
		scanf("%d", &menu);

		switch (menu)
		{
		case 1: //COMEÇAR O JOGO (FUNÇÃO JOGO)
			campo();
			
			break;

		case 2: // INFORMAÇÕES DO JOGO
			break;

		case 3: //SAIR DO JOGO
			system("cls");
			printf("\n\tVOCÊ SAIU DO JOGO!");
			break;

		default:
			system("cls");
			printf("\n\tOPÇÃO INVÁLIDA, TENTE NOVAMENTE!");

			//return 0	
		}
	} while (menu != 3);
    return 0;
}

Veja se é a solução que procurava.

  • Obrigado 1
Postado
/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define TAB 8
#define casa_vazia 0
#define A 1
#define B 2
#define AD 3
#define BD 4
#define casa_branca -1
 
int matriz[TAB][TAB];/* = {{-1, -1, -1, -1, -1, -1, -1, -1}, 
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1}};*/

char pecas[3] = {'#', 'A', 'B'}; //o primeiro é espaço vazio, o segundo represente as brancas e o terceiro as pretas
	                        
void campo() {
	system("cls");
	
	int i = 0, j = 0, lin = 0, col = 0, l = 0, c = 0;

	printf("\033[36;1m\t0\t1\t2\t3\t4\t5\t6\t7\t\n\n"); //\033[36;1m mudar a cor da fonte e deixa bold
	for (i = 0; i < TAB; i++) //peças brancas
	{
		printf("\033[36;1m%d\t", i); //\033[36;1m mudar a cor da fonte e deixa bold
		for (j = 0; j < TAB; j++)
		{
			if (((i % 2 == 0) && (j % 2 == 0)) || ((i % 2 == 1) && (j % 2 == 1))) 
			{
				if (i<3) matriz[i][j]= 1; //brancas
				else if (i>4) matriz[i][j] = 2; //pretas
				else matriz[i][j] = 0;//vazio
			}
			printf("\033[37;0m%c\t", pecas[matriz[i][j]]); 
		}
		printf("\n");
	}
	

	printf("\n\n\t\t\tLINHA => ");
	scanf("\n%d", &l);
}

int main() {
	setlocale(LC_ALL, "portuguese");
	int lin = 0, col = 0, i = 0, j = 0, opcao=0, menu = 0;
	do
	{
		printf("\n\t Bem vindo ao jogo de Damas!");
		printf("\n\t 1 - Iniciar jogo.");
		printf("\n\t 2 - Informações do jogo.");
		printf("\n\t 3 - Sair do jogo.");
		printf("\n\n\t Selecione uma opção => ");
		scanf("%d", &menu);

		switch (menu)
		{
		case 1: //COMEÇAR O JOGO (FUNÇÃO JOGO)
			campo();
			
			break;

		case 2: // INFORMAÇÕES DO JOGO
			break;

		case 3: //SAIR DO JOGO
			system("cls");
			printf("\n\tVOCÊ SAIU DO JOGO!");
			break;

		default:
			system("cls");
			printf("\n\tOPÇÃO INVÁLIDA, TENTE NOVAMENTE!");

			//return 0	
		}
	} while (menu != 3);
    return 0;
}

Veja se entende o que fiz. Coloquei um pouco de cor tb. Se interessar, posso falar mais sobre isso.

adicionado 40 minutos depois

Esta versão fica bem legal visualmente:

/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define TAB 8
#define casa_vazia 0
#define A 1
#define B 2
#define AD 3
#define BD 4
#define casa_branca -1
 
int matriz[TAB][TAB];/* = {{-1, -1, -1, -1, -1, -1, -1, -1}, 
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1},
	                        {-1, -1, -1, -1, -1, -1, -1, -1}};*/

char pecas[3] = {' ', 'A', 'B'};
	                        
void campo() {
	system("cls");
	
	int i = 0, j = 0, lin = 0, col = 0, l = 0, c = 0;

	printf("\033[36;40;1m     0    1    2    3    4    5    6    7  \n");
	for (i = 0; i < TAB; i++) //peças brancas
	{
		printf("\033[36;40;1m%d  ", i);
		for (j = 0; j < TAB; j++)
		{
			if (((i % 2 == 0) && (j % 2 == 0)) || ((i % 2 == 1) && (j % 2 == 1))) 
			{
				if (i<3) matriz[i][j]= 1; //brancas
				else if (i>4) matriz[i][j] = 2; //pretas
				else matriz[i][j] = 0;//vazio
				
			}
			//if (matriz[i][j] == 0) 
			{
			    if (i % 2 == 0) 
			     if (j % 2 == 0) printf("\033[41m  %c  ", pecas[matriz[i][j]]);
			     else printf("\033[45m  %c  ", pecas[matriz[i][j]]);
			    else
			     if (j % 2 == 0) printf("\033[45m  %c  ", pecas[matriz[i][j]]);
			     else printf("\033[41m  %c  ", pecas[matriz[i][j]]);
			}
			//else printf("\033[0m%c\t", pecas[matriz[i][j]]);
		}
		printf("\n");
	}
	

	printf("\n\n\t\t\tLINHA => ");
	scanf("\n%d", &l);
}

int main() {
	setlocale(LC_ALL, "portuguese");
	int lin = 0, col = 0, i = 0, j = 0, opcao=0, menu = 0;
	do
	{
		printf("\n\t Bem vindo ao jogo de Damas!");
		printf("\n\t 1 - Iniciar jogo.");
		printf("\n\t 2 - Informações do jogo.");
		printf("\n\t 3 - Sair do jogo.");
		printf("\n\n\t Selecione uma opção => ");
		scanf("%d", &menu);

		switch (menu)
		{
		case 1: //COMEÇAR O JOGO (FUNÇÃO JOGO)
			campo();
			
			break;

		case 2: // INFORMAÇÕES DO JOGO
			break;

		case 3: //SAIR DO JOGO
			system("cls");
			printf("\n\tVOCÊ SAIU DO JOGO!");
			break;

		default:
			system("cls");
			printf("\n\tOPÇÃO INVÁLIDA, TENTE NOVAMENTE!");

			//return 0	
		}
	} while (menu != 3);
    return 0;
}

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!