// jogo ii.c - Criado pelo studio UNO 2.3
// 5 July 2016 1:14:19 pm
#include <uno.h>
// Declaracao das Variaveis
unsigned char buzzer;
unsigned char nivel;
unsigned char obstaculo;
unsigned char obstaculo2;
unsigned char posicao;
unsigned int tempo;
// Prototipos
void Fase(void);
void display(void);
void Sorteio(void);
//Funcoes do Usuario
void Fase(void)
{
if ((__timer_sistema > 10000)) {
if ((nivel == 6)) {
__lcd_clear();
__lcd_goto(0x7f, 1);
__lcd_puts("Voce venceu!");
__beep();
__delay(3000);
posicao = 1;
buzzer = 0;
tempo = 188;
nivel = 1;
Sorteio();
}
else {
nivel++;
__lcd_clear();
__lcd_goto(0x7f, 2);
__lcd_puts("Proximo nivel!");
__lcd_goto(0xbf, 7);
__lcd_puts("%c", nivel);
__delay(1000);
if ((nivel == 2)) {
tempo = 160;
}
if ((nivel == 3)) {
tempo = 140;
}
if ((nivel == 4)) {
tempo = 120;
}
if ((nivel == 5)) {
tempo = 100;
}
if ((nivel == 6)) {
tempo = 80;
}
}
__timer_sistema = 0;
}
}
void display(void)
{
__lcd_clear();
if (__UP_KEY) {
if ((buzzer == 0)) {
__buzzer(60, 50);
buzzer = 1;
}
__lcd_goto(0x7f, posicao);
}
else {
buzzer = 0;
__lcd_goto(0xbf, posicao);
}
__lcd_puts("T");
__lcd_goto(0xbf, obstaculo);
__lcd_puts("M");
__lcd_goto(0x7f, obstaculo2);
__lcd_puts("W");
}
void Sorteio(void)
{
obstaculo = 0;
obstaculo2 = 0;
while((((obstaculo == obstaculo2) || (obstaculo == (obstaculo2 + 1))) || (obstaculo == (obstaculo2 - 1)))) {
obstaculo = __randon(1, 16);
obstaculo2 = __randon(1, 16);
}
__timer_sistema = 0;
}
//Funcao Principal
void main(void)
{
__inicializa;
__backlight(__ON);
posicao = 1;
buzzer = 0;
tempo = 188;
nivel = 1;
Sorteio();
while(TRUE) {
display();
if (((posicao == obstaculo) && !(__UP_KEY))) {
__lcd_clear();
__lcd_goto(0x7f, 7);
__lcd_puts("Erro");
for (int __i2 = 0; __i2 < 3; ++__i2) {
__buzzer(48, 100);
__delay(100);
}
__delay(1000);
posicao = 1;
Sorteio();
}
if (((posicao == obstaculo2) && __UP_KEY)) {
__lcd_clear();
__lcd_goto(0x7f, 7);
__lcd_puts("Erro");
for (int __i2 = 0; __i2 < 3; ++__i2) {
__buzzer(48, 100);
__delay(100);
}
__delay(1000);
posicao = 1;
Sorteio();
}
if ((posicao < 16)) {
posicao++;
}
else {
posicao = 1;
}
__delay(tempo);
Fase();
}
while(TRUE) { }
}