Escolar Documentos
Profissional Documentos
Cultura Documentos
h>
#include <stdlib.h>
#include <time.h>
#include <stdbool.h>
int escolherDificuldade ();
int tabuleiroJogo (int tam);
int teclarLinha ();
int teclarColuna ();
while (true) {
int i, dificuldade;
switch (i) {
case (1):
dificuldade = escolherDificuldade();
if(dificuldade == 0) break;
else tabuleiroJogo (dificuldade);
break;
case (2):
printf("\nO objetivo do jogo é descobrir quais os espaços que
devem ser marcados ou\n"
"deixados como vazios. A grade é formada por ""quadrinhos"".
Repare no números\n"
"embaixo de cada coluna e à direita de cada linha. Elas indicam
quantos espaços\n"
"devem ser marcados em sequência, formando assim, blocos. A
sequência dos blocos\n"
"deve ser respeitada, seguindo os números das linhas da
esquerda para direita, e das\n"
"colunas de cima para baixo. Entre os blocos deve haver pelo
menos um espaço vazio\n"
"Dica: Tente começar pelo maiores blocos, ou pelas maiores
sequências de blocos.\n");
break;
case (3):
printf("\nJogo encerrado.\n");
return 0;
default:
printf("\nOpção inválida.\n");
continue;
}
}
return 0;
}
int escolherDificuldade () {
int i;
do{
switch(i) {
case (1):
return 5;
case (2):
return 10;
case (3):
return 20;
case (0):
return 0;
default:
printf("\nDificuldade inválida.\n");
continue;
}
} while(i!=0&&i!=1&&i!=2&&i!=3);
}
int controlWhile = 0;
while(true) {
fals=verd=0;
if(controlWhile == 0) {
for(i=0; i<tam; i++) {
for(j=0; j<tam; j++) {
usuario[i][j] = 0;
}
}
}
for(i=0; i<tam; i++) for(j=0; j<tam; j++) bordaTabuleiro[i][j] = 0;
for(i=0; i<tam; i++) temp[i] = 0;
srand(time(NULL));
if(controlWhile == 0) {
while(fals>=verd) {
fals=verd=0;
for(i=0; i<tam; i++) {
for(j=0; j<tam; j++) {
tabuleiro[i][j] = rand()%2;
if(tabuleiro[i][j] == 1) verd++;
else fals++;
}
}
}
}
printf("\n");
printf(" Tabuleiro:\n\n");
printf("\n");
printf("\n");
control = 'A';
printf("\n");
do {
getchar();
lin = teclarLinha ();
if(lin == -1) return 0;
} while(lin == -4);
if (lin == -2) {
controlWhile = 1;
for(i=0; i<tam; i++) for(j=0; j<tam; j++) usuario[i][j] = 0;
continue;
}
if(lin == -3) {
for(i=0; i<tam; i++) {
for(j=0; j<tam; j++) {
if(usuario[i][j] != tabuleiro[i][j]) {
do {
printf("Sua tabela está errada\n");
printf("(Tecle 0 para voltar) ");
scanf("%d", &lin);
if(lin==0) break;
else printf("\nNúmero inválido, tecle 0.\n\n");
} while(lin != 0);
break;
}
else if(i == tam-1 && j == tam-1) {
printf("Sua tabela está correta, parabéns\n");
return 0;
}
}
if(lin==0) break;
}
if(lin==0) {
controlWhile++;
continue;
}
}
do {
getchar();
col = teclarColuna ();
if(col == -1) return 0;
} while(col == -4);
if (col == -2) {
controlWhile = 1;
for(i=0; i<tam; i++) for(j=0; j<tam; j++) usuario[i][j] = 0;
continue;
}
if(col == -3) {
for(i=0; i<tam; i++) {
for(j=0; j<tam; j++) {
if(usuario[i][j] != tabuleiro[i][j]) {
do {
printf("Sua tabela está errada\n");
printf("(Tecle 0 para voltar) ");
scanf("%d", &col);
if(col==0) break;
else printf("\nNúmero inválido, tecle 0.\n\n");
} while(col != 0);
break;
}
else if(i == tam-1 && j == tam-1) {
printf("Sua tabela está correta, parabéns.");
return 0;
}
}
if(col==0) break;
}
if(col==0) {
controlWhile++;
continue;
}
}
controlWhile++;
usuario[lin][col] = 1;
}
}
int teclarLinha () {
int linha;
char lin;
return linha;
}
int teclarColuna () {
int coluna;
char col;
return coluna;
}
de <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdbool.h>
int escolherDificuldade ();
int tabuleiroJogo (int tam);
int teclarLinha ();
int teclarColuna ();
while (true) {
int i, dificuldade;
switch (i) {
case (1):
dificuldade = escolherDificuldade();
if(dificuldade == 0) break;
else tabuleiroJogo (dificuldade);
break;
case (2):
printf("\nO objetivo do jogo é descobrir quais os espaços que
devem ser marcados ou\n"
"deixados como vazios. A grade é formada por ""quadrinhos"".
Repare no números\n"
"embaixo de cada coluna e à direita de cada linha. Elas indicam
quantos espaços\n"
"devem ser marcados em sequência, formando assim, blocos. A
sequência dos blocos\n"
"deve ser respeitada, seguindo os números das linhas da
esquerda para direita, e das\n"
"colunas de cima para baixo. Entre os blocos deve haver pelo
menos um espaço vazio\n"
"Dica: Tente começar pelo maiores blocos, ou pelas maiores
sequências de blocos.\n");
break;
case (3):
printf("\nJogo encerrado.\n");
return 0;
default:
printf("\nOpção inválida.\n");
continue;
}
}
return 0;
}
int escolherDificuldade () {
int i;
do{
switch(i) {
case (1):
return 5;
case (2):
return 10;
case (3):
return 20;
case (0):
return 0;
default:
printf("\nDificuldade inválida.\n");
continue;
}
} while(i!=0&&i!=1&&i!=2&&i!=3);
}
int controlWhile = 0;
while(true) {
fals=verd=0;
if(controlWhile == 0) {
for(i=0; i<tam; i++) {
for(j=0; j<tam; j++) {
usuario[i][j] = 0;
}
}
}
for(i=0; i<tam; i++) for(j=0; j<tam; j++) bordaTabuleiro[i][j] = 0;
for(i=0; i<tam; i++) temp[i] = 0;
srand(time(NULL));
if(controlWhile == 0) {
while(fals>=verd) {
fals=verd=0;
for(i=0; i<tam; i++) {
for(j=0; j<tam; j++) {
tabuleiro[i][j] = rand()%2;
if(tabuleiro[i][j] == 1) verd++;
else fals++;
}
}
}
}
printf("\n");
printf(" Tabuleiro:\n\n");
printf("\n");
printf("\n");
control = 'A';
printf("\n");
do {
getchar();
lin = teclarLinha ();
if(lin == -1) return 0;
} while(lin == -4);
if (lin == -2) {
controlWhile = 1;
for(i=0; i<tam; i++) for(j=0; j<tam; j++) usuario[i][j] = 0;
continue;
}
if(lin == -3) {
for(i=0; i<tam; i++) {
for(j=0; j<tam; j++) {
if(usuario[i][j] != tabuleiro[i][j]) {
do {
printf("Sua tabela está errada\n");
printf("(Tecle 0 para voltar) ");
scanf("%d", &lin);
if(lin==0) break;
else printf("\nNúmero inválido, tecle 0.\n\n");
} while(lin != 0);
break;
}
else if(i == tam-1 && j == tam-1) {
printf("Sua tabela está correta, parabéns\n");
return 0;
}
}
if(lin==0) break;
}
if(lin==0) {
controlWhile++;
continue;
}
}
do {
getchar();
col = teclarColuna ();
if(col == -1) return 0;
} while(col == -4);
if (col == -2) {
controlWhile = 1;
for(i=0; i<tam; i++) for(j=0; j<tam; j++) usuario[i][j] = 0;
continue;
}
if(col == -3) {
for(i=0; i<tam; i++) {
for(j=0; j<tam; j++) {
if(usuario[i][j] != tabuleiro[i][j]) {
do {
printf("Sua tabela está errada\n");
printf("(Tecle 0 para voltar) ");
scanf("%d", &col);
if(col==0) break;
else printf("\nNúmero inválido, tecle 0.\n\n");
} while(col != 0);
break;
}
else if(i == tam-1 && j == tam-1) {
printf("Sua tabela está correta, parabéns.");
return 0;
}
}
if(col==0) break;
}
if(col==0) {
controlWhile++;
continue;
}
}
controlWhile++;
usuario[lin][col] = 1;
}
}
int teclarLinha () {
int linha;
char lin;
return linha;
}
int teclarColuna () {
int coluna;
char col;
return coluna;
}