Ir ao conteúdo
  • Cadastre-se

Jogo dos Pontinhos (Dot Game) em linguagem C!


Gabriela Nunes

Posts recomendados

Oi gente, estou fazendo um trabalho em linguagem c que reproduz o jogo dos pontinhos. Acontece que o jogo não está rodando e gostaria e saber qual o problema que há!

#include <stdio.h>
#include <stdlib.h>
/* int Mapa1[17][22] ={

1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
};*/

int Mapa2[17][22] ={

1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
};

int desenharmapa()
{
int linha,coluna,i,j;
int mapa2[linha][coluna];
for(i=0;i<17;i++){
for(j=0;j<22;j++){
if(mapa2[linha][coluna]==1){
printf("*");
}
if(mapa2[linha][coluna]==0){
printf(" ");
}
return 1;
}
}}


int hor(){
int linha,coluna;
int mapa2[linha][coluna];
if(mapa2[linha%2==0][coluna%2!=0]==0){
printf("-");
}

}

int ver(){
int linha,coluna;
int mapa2[linha][coluna];
if(mapa2[linha%2!=0][coluna%2==0]==0){
printf("|");
}

}
int centro(){
int linha,coluna;
int mapa2[linha][coluna];
if(mapa2[linha%2!=0][coluna%2!=0]==0){
printf("x");
}}
int jogada (int linha,int coluna){

if((linha%2!=0)&&(coluna%2==0)){
hor();
}else if((linha%2==0)&&(coluna%2!=0)){
ver();
}else {
printf("opcao invalida\n");
}

}

int main()
{
int linha,coluna,i,j,cont1,k,cont2;

cont1=0;
cont2=0;;
int Mapa2[linha][coluna];
k=266;
/*for(i=1;i<=0;i++){
printf("\n%d",i);
}
for(i=1;i<=17;i++){
for(j=1;j<=22;j++){
printf("\n%d\n",j);
}}*/
while(k==' '){

desenharmapa();

printf("jogador 1 digite uma linha: ");
scanf("%d",&linha);
printf("jogador 1 digite uma coluna: ");
scanf("%d",&coluna);
jogada(linha,coluna);
cont1++;
system("cls");
k--;

printf("jogador 2 digite uma linha: ");
scanf("%d",&linha);
printf("jogador 2 digite uma coluna: ");
scanf("%d",&coluna);
jogada(linha,coluna);
cont2++;
system("cls");
k--;
}
printf("pontos do jogador 1: ",cont1);
printf("pontos do jogador 2: ",cont2);
if (cont1<cont2){
printf("jogador 2 venceu!!!");
}else if (cont1>cont2){
printf("jogador 1 venceu!!!");
}else if (cont1=cont2){
printf("empate!!!");
}
return 0;
}

Link para o comentário
Compartilhar em outros sites

Olá, Gabriela, o codigo tinha alguns problemas impediam o mapa de abrir, pois você tinha declarado uma variavel global para o mapa e estava declarando outa dentro de cada função para o mesmo proposito, por isso não estava funcionando. Há e você poderia usar o tipo void para a função desenhar mapa.

Com as correções abaixo o mapa aparece na tela. A constante k esta impedindo de entrar no laço while. Só que eu não entendi o que você queria fazer ao digitar a linha e a coluna, pois não acontece nada.

Bom segue o codigo com as correções:


#include <stdio.h>
#include <stdlib.h>
/* int Mapa1[17][22] ={

1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
};*/
void desenharmapa();//para desenhar o mapa não é necessario retornar um valor pode usar void

int Mapa2[17][22] ={

1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
};

void desenharmapa(){
int linha,coluna,i,j;

for(i=0;i<17;i++){
for(j=0;j<22;j++){
if(Mapa2[i][j]==1){
printf("*");
}
if(Mapa2[i][j]==0){
printf(" ");
}
}
printf("\n");
}
}


int hor(int linha,int coluna){
//int mapa2[linha][coluna];voce ja declarou uma variavel global que representa o mapa

if(Mapa2[linha%2==0][coluna%2!=0]==0){
printf("-");
}

}

int ver(int linha,int coluna){

//int linha,coluna;
//int mapa2[linha][coluna];
if(Mapa2[linha%2!=0][coluna%2==0]==0){
printf("|");
}

return 0;
}
int centro(){
int linha,coluna;
int mapa2[linha][coluna];

if(mapa2[linha%2!=0][coluna%2!=0]==0){
printf("x");
}
return 0;
}

int jogada (int linha,int coluna){

if((linha%2!=0)&&(coluna%2==0)){
hor(linha,coluna);
}
else if((linha%2==0)&&(coluna%2!=0)){
ver(linha,coluna);
}
else {
printf("opcao invalida\n");
}
return 0;
}

int main(){
int linha,coluna,i,j,cont1,cont2;
char k;
cont1=0;
cont2=0;;

//int Mapa2[linha][coluna];

k=' ';//você estava usando k como int e comparando com um caracter no while
/*for(i=1;i<=0;i++){
printf("\n%d",i);
}
for(i=1;i<=17;i++){
for(j=1;j<=22;j++){
printf("\n%d\n",j);
}}*/

while(k==' '){

desenharmapa();

printf("jogador 1 digite uma linha: ");
scanf("%d",&linha);

printf("jogador 1 digite uma coluna: ");
scanf("%d",&coluna);

jogada(linha,coluna);
cont1++;
system("cls");

desenharmapa();

printf("jogador 2 digite uma linha: ");
scanf("%d",&linha);

printf("jogador 2 digite uma coluna: ");
scanf("%d",&coluna);

jogada(linha,coluna);
cont2++;
system("cls");

}
printf("pontos do jogador 1: ",cont1);
printf("pontos do jogador 2: ",cont2);

if (cont1<cont2){
printf("jogador 2 venceu!!!");
}
else if (cont1>cont2){
printf("jogador 1 venceu!!!");
}
else if (cont1=cont2){
printf("empate!!!");
}
return 0;
}

Fala mais detalhadamente como devera funcionar o seu jogo.

Há, esquece de colocar um system("PAUSE"); antes do return 0 , pois se você estiver usando o windows a janela fechara após executar o codigo.


int main(){

codigos......

system("PAUSE");
return 0;
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...