//-------------------------------------------------------------------------------- int main() { escolhePalavra(palavraSecreta); abertura(); do { desenhaForca(); chuta(); } while(!acertou() && !enforcou()); if(acertou()) { } else { } //adicionaPalavra(); printf("\r\n"); return (EXIT_SUCCESS); }
void verificarResposta(ALLEGRO_SAMPLE *som_acertou, ALLEGRO_SAMPLE *som_errou, telaAlternativa *posicaoAlt, listaQuestao *questionario, SpriteSheet *sFantasmas, bonecoJog *jogador){ //verificar clique //printf("X: %d - Y: %d\n", posicaoAlt->mousePoderes_x, posicaoAlt->mousePoderes_y); //printf("alt A x: %d - y: %d", posicaoAlt->alt_Ax, posicaoAlt->alt_Ay); if (posicaoAlt->mousePoderes_x > posicaoAlt->alt_Ax - 50 /* 765 */ && posicaoAlt->mousePoderes_x < posicaoAlt->alt_Ax + 50 /* 878 */ && posicaoAlt->mousePoderes_y > posicaoAlt->alt_Ay - 20 /* 172 */ && posicaoAlt->mousePoderes_y < posicaoAlt->alt_Ay + 80 /* 266 */ ){ if(questionario->matarFantasma>=questionario->QntdRespostaMatarFantasma){ questionario->matarFantasma = 0; sFantasmas->eliminado[0] = SIM; } else{ //flag para que no próximo loop seja atualizado a questao na tela questionario->atualizarQuestao=1; // if para verificar se alternativa A é igual a resposta correta if (questionario->alternativa_A == questionario->resposta){ acertou(questionario, jogador); al_play_sample(som_acertou, 1.0, 0.0, 1.0, ALLEGRO_PLAYMODE_ONCE, NULL); } else{ errou(questionario); al_play_sample(som_errou, 1.0, 0.0, 1.0, ALLEGRO_PLAYMODE_ONCE, NULL); } } } /* ISSO É FEITO EXATAMENTE IGUAL PARA AS ALTERNATIVAS B E C, OU SEJA, É FEITA A VERIFICAÇÃO EM TODOS OS CASOS QUE O JOGADOR CLICA NA ALTERNATIVA A, B OU C */ else if (posicaoAlt->mousePoderes_x > posicaoAlt->alt_Bx - 90 && posicaoAlt->mousePoderes_x < posicaoAlt->alt_Bx + 70 && posicaoAlt->mousePoderes_y > posicaoAlt->alt_By - 0 && posicaoAlt->mousePoderes_y < posicaoAlt->alt_By + 100){ if(questionario->matarFantasma >= questionario->QntdRespostaMatarFantasma){ questionario->matarFantasma = 0; sFantasmas->eliminado[1] = SIM; } else{ questionario->atualizarQuestao=1; if (questionario->alternativa_B == questionario->resposta){ acertou(questionario, jogador); al_play_sample(som_acertou, 1.0, 0.0, 1.0, ALLEGRO_PLAYMODE_ONCE, NULL); } else{ errou(questionario); al_play_sample(som_errou, 1.0, 0.0, 1.0, ALLEGRO_PLAYMODE_ONCE, NULL); } } } else if (posicaoAlt->mousePoderes_x > posicaoAlt->alt_Cx - 90 && posicaoAlt->mousePoderes_x < posicaoAlt->alt_Cx + 70 && posicaoAlt->mousePoderes_y > posicaoAlt->alt_Cy - 0 && posicaoAlt->mousePoderes_y < posicaoAlt->alt_Cy + 100){ if(questionario->matarFantasma >= questionario->QntdRespostaMatarFantasma){ questionario->matarFantasma = 0; sFantasmas->eliminado[2] = SIM; } else{ questionario->atualizarQuestao = 1; if (questionario->alternativa_C == questionario->resposta){ acertou(questionario, jogador); al_play_sample(som_acertou, 1.0, 0.0, 1.0, ALLEGRO_PLAYMODE_ONCE, NULL); } else{ errou(questionario); al_play_sample(som_errou, 1.0, 0.0, 1.0, ALLEGRO_PLAYMODE_ONCE, NULL); } } } //------------------------------------------------------------------------------------------------------------- //atualizando variavel contaora de quesdoes acertadas para eliminar fantasma if( questionario->matarFantasma <= 5 && questionario->acertou == 1){ questionario->matarFantasma++; } }