Logo Hardware.com.br
Orlando_ADS
Orlando_ADS Novo Membro Registrado
1 Mensagem 0 Curtidas

soluçao para esse pgr

#1 Por Orlando_ADS 30/05/2016 - 01:46
coloque suas tentavas aqui
ou enviem .c para: [email]oralndexx@gmail.com[/email]

01) Assim que o programa for executado, deve aparecer o texto "Pontos 000" no canto inferior
direito da tela. Imprima também a frase "Seu objetivo é comer cinco bolachas no menor
tempo possível. Tecle ENTER para iniciar".

02) Assim que o programa for executado, devem aparecer cinco asteriscos na tela em posições
aleatórias. Esses asteriscos serão considerados bolachas que o jogador deverá comer.
Assim que cada bolacha for comida (colisão do jogador com o asterisco) o programa
deve adicionar um inteiro ao contador de pontos da questão 01.

03) A cada bolacha comida a velocidade do jogador deve ser aumentada. Dica: modifique o
valor de VELOCIDADE adicionando a esta constante um valor fixo. Por exemplo, crie uma
variável chamada, por exemplo, aumentoVelocidade e inicie esta variável com zero. A
cada bolacha comida, adicione um valor fixo a esta variável, por exemplo, 10. Onde
existir VELOCIDADE no programa, troque por VELOCIDADE + aumentoVelocidade.

04) Quando todas as cinco bolachas forem consumidas pelo jogador, o programa será finalizado
mostrando o tempo que o jogador levou para comer todas as bolachas e a frase "Game Over".

//codigo fonte


// Objetivo: Ilustrar um caractere movendo-se pela tela e mudando sua direção
// através das setas do teclado

[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]

[HASHTAG]#define[/HASHTAG] ESC 27
[HASHTAG]#define[/HASHTAG] ACIMA 72
[HASHTAG]#define[/HASHTAG] ABAIXO 80
[HASHTAG]#define[/HASHTAG] DIREITA 77
[HASHTAG]#define[/HASHTAG] ESQUERDA 75
[HASHTAG]#define[/HASHTAG] MAXLIN 24
[HASHTAG]#define[/HASHTAG] MAXCOL 79
[HASHTAG]#define[/HASHTAG] JOGADOR 001
[HASHTAG]#define[/HASHTAG] VELOCIDADE 70
[HASHTAG]#define[/HASHTAG] TITULO "Use as setas do teclado para mover a figura - finaliza"

enum boolean { true = 1, false = 0 };
typedef enum boolean bool;

void gotoxy(short, short);
void clrscr(void);
void cursor(bool);

int main(void) {

short lin = 12, col = 40;
short tecla;
bool sair = false;
clock_t inicio;

SetConsoleTitleA(TITULO);
system("color 0A");
clrscr();
cursor(false);
tecla = DIREITA;
inicio = clock();

while (!sair) {
gotoxy(col, lin);

if (kbhit())
tecla = getch();

if (clock() - inicio <= VELOCIDADE) {
printf("%c", JOGADOR);
}
else {
printf(" ");
inicio = clock();

switch (tecla) {
case ACIMA: lin--;
if (lin < 0) {
lin = 0;
tecla = ABAIXO;
}
break;
case ABAIXO: lin++;
if (lin > MAXLIN) {
lin = MAXLIN;
tecla = ACIMA;
}
break;
case ESQUERDA: col--;
if (col < 0) {
col = 0;
tecla = DIREITA;
}
break;
case DIREITA: col++;
if (col > MAXCOL) {
col = MAXCOL;
tecla = ESQUERDA;
}
break;
case ESC: sair = true;
}
}
}

gotoxy(01, 23);
printf("Tecle ESC para fechar esta janela ");
while (getch() != ESC);
return 0;
}

// ----------------------------------------------------------------------------
// Posiciona o cursor do console nas coordenadas coluna x e linha y
void gotoxy(short x, short y) {
HANDLE hConsoleOutput;
COORD Cursor_Pos = {x, y};
hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hConsoleOutput, Cursor_Pos);
}

// ----------------------------------------------------------------------------
// Limpa a tela do console e posiciona o cursor na coluna 0 linha 0
void clrscr(void) {
CONSOLE_SCREEN_BUFFER_INFO csbi;
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord = {0, 0};
DWORD count;
GetConsoleScreenBufferInfo(hStdOut, &csbi);
FillConsoleOutputCharacter(hStdOut, ' ', csbi.dwSize.X * csbi.dwSize.Y, coord, &count);
SetConsoleCursorPosition(hStdOut, coord);
}

// ----------------------------------------------------------------------------
// Liga ou Desliga o cursor
void cursor(bool show) {


HANDLE hConsoleOutput;
CONSOLE_CURSOR_INFO structCursorInfo;
hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleCursorInfo(hConsoleOutput, &structCursorInfo);
structCursorInfo.bVisible = show;
SetConsoleCursorInfo( hConsoleOutput, &structCursorInfo );
}

// ----------------------------------------------------------------------------
// Fim de arquivo
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal