// jogo multiplayer.c - Criado pelo studio UNO 2.3
// 1 August 2016 12:06:04 pm
#include <uno.h>
// Declaracao das Variaveis
unsigned int Buzzer;
unsigned int Motor1;
unsigned int Motor2;
unsigned char Nivel;
unsigned int Obstaculo;
unsigned int Obstaculo2;
unsigned int Tempo;
// Prototipos
void Players(void);
void Nivel(void);
void Obstaculos(void);
//Funcoes do Usuario
void Players(void)
{
__lcd_clear();
if (!__digital_in(5)) {
if ((Buzzer == 0)) {
__buzzer(60, 50);
Buzzer++;
}
__lcd_goto(0x7f, Motor2);
}
else {
Buzzer = 0;
__lcd_goto(0xbf, Motor2);
}
__lcd_puts("T");
if (!__digital_in(6)) {
if ((Buzzer == 0)) {
__buzzer(60, 50);
Buzzer++;
}
__lcd_goto(0x7f, Motor1);
}
else {
Buzzer = 0;
__lcd_goto(0xbf, Motor1);
}
__lcd_puts("i");
__lcd_goto(0xbf, Obstaculo);
__lcd_puts("M");
__lcd_goto(0x7f, Obstaculo2);
__lcd_puts("V");
}
void Nivel(void)
{
__lcd_clear();
__lcd_goto(0x7f, 4);
__lcd_puts("Pontuacao:");
__delay(1000);
__lcd_goto(0xbf, 4);
__lcd_puts("%l", __timer_sistema);
__delay(3000);
__timer_sistema = 0;
}
void Obstaculos(void)
{
Obstaculo = 0;
Obstaculo2 = 0;
Obstaculo3 = 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);
Motor1 = 2;
Motor2 = 1;
Tempo = 188;
Nivel = 1;
Obstaculos();
while(TRUE) {
Players();
if ((((Motor1 == Obstaculo) && !(!__digital_in(6))) || ((Motor1 == Obstaculo2) && !__digital_in(6)))) {
__lcd_clear();
__lcd_goto(0x7f, 1);
__lcd_puts("Jogador 1 morreu");
for (int __i2 = 0; __i2 < 3; ++__i2) {
__buzzer(48, 100);
__delay(100);
}
Motor1 = 2;
Motor2 = 1;
__lcd_clear();
__delay(1000);
Nivel();
}
if ((((Motor2 == Obstaculo) && !(!__digital_in(5))) || ((Motor2 == Obstaculo2) && !__digital_in(5)))) {
__lcd_clear();
__lcd_goto(0x7f, 1);
__lcd_puts("Jogador 2 morreu");
for (int __i2 = 0; __i2 < 3; ++__i2) {
__buzzer(48, 100);
__delay(100);
}
Motor1 = 2;
Motor2 = 1;
__lcd_clear();
__delay(1000);
Nivel();
}
if (((Motor1 <= 16) && (Motor2 <= 15))) {
Motor1++;
Motor2++;
}
else {
Motor1 = 2;
Motor2 = 1;
}
__delay(Tempo);
Nivel();
}
while(TRUE) { }
}