Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Gabriela Nunes

Jogo dos Pontinhos (Dot Game) em linguagem C!

Recommended Posts

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;
}

Editado por dif
Use a tag code para postar os códigos. para saber como se usa, leia o tópico em destaque que fala sobre isso.

Compartilhar este post


Link para o post
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;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×