#include <16F628A.h> #include #FUSES NOWDT #FUSES INTRC_IO #FUSES NOPUT #FUSES NOPROTECT #FUSES NOBROWNOUT #FUSES NOMCLR #FUSES NOLVP #FUSES NOCPD #byte porta = 0x05 #byte portb = 0x06 #use delay(clock=4000000) #include "lcd.c" #include void main(){ int xute, nivel, tentativa, aleatorio,x; setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); set_tris_a(0x00); set_tris_b(0x00); porta = 0x00; portb = 0x00; lcd_init(); while(true){ xute=0; nivel=1; printf(lcd_putc,"\f >>JOGO<<\nNUMERO ALEATORIO"); delay_ms(3000); for(x=1;x<=16;x++){ lcd_gotoxy(x,1); printf(lcd_putc,"%c", 0xDB); lcd_gotoxy(17-x,0); printf(lcd_putc,"%c", 0xDB); delay_ms(100); } delay_ms(200); printf(lcd_putc,"\fPreparado?\n ok"); while(input(PIN_A2)==1){ } srand(get_rtcc()); aleatorio=rand()%(nivel*10)+1; printf(lcd_putc,"\fCarregando\nNivel %U",nivel); delay_ms(3000); for(tentativa=3;tentativa>0;tentativa--){ printf(lcd_putc,"\fNivel %U, 0 a %U\nTem %U palpites",nivel,nivel*10,tentativa); delay_ms(3000); printf(lcd_putc,"\fSeu palpite? %U \n + - OK", xute); while(input(PIN_A2)==1){ lcd_gotoxy(14,1); printf(lcd_putc,"%U ", xute); if(input(PIN_A0)==0){ xute++; delay_ms(250); } else if(input(PIN_A1)==0){ xute--; delay_ms(250); } } if(xute==aleatorio){ generate_tone(C_NOTE[1],50); generate_tone(DB_NOTE[1],50); generate_tone(D_NOTE[1],50); generate_tone(EB_NOTE[1],50); generate_tone(G_NOTE[1],50); generate_tone(GB_NOTE[1],50); generate_tone(C_NOTE[1],50); generate_tone(DB_NOTE[1],50); generate_tone(D_NOTE[1],50); generate_tone(EB_NOTE[1],50); generate_tone(GB_NOTE[1],50); generate_tone(G_NOTE[1],50); for (x=0;x<=3;x++){ printf(lcd_putc,"\fParabens!\nPassou 1 Nivel!"); delay_ms(700); printf(lcd_putc,"\f"); delay_ms(700); } nivel++; xute=0; tentativa=6; srand(get_rtcc()); aleatorio=rand()%(nivel*10)+1; printf(lcd_putc,"\fCarregando\nNivel %U",nivel); delay_ms(3000); } else if (xute>aleatorio && tentativa!=1){ printf(lcd_putc,"\fErrou! O numero\ne Menor!"); generate_tone(D_NOTE[0],50); generate_tone(E_NOTE[1],50); generate_tone(D_NOTE[0],50); generate_tone(E_NOTE[1],50); generate_tone(D_NOTE[0],50); generate_tone(E_NOTE[1],50); generate_tone(D_NOTE[0],50); generate_tone(E_NOTE[1],50); generate_tone(D_NOTE[0],100); delay_ms(3000); } else if (xute