hf

Dependencies:   mbed

main.cpp

Committer:
58340500068
Date:
2016-12-04
Revision:
0:d26b3ebaf06e

File content as of revision 0:d26b3ebaf06e:

#include "mbed.h"
 
Serial duino(PA_11, PA_12);
Serial pc(USBTX, USBRX);
DigitalIn btn(USER_BUTTON); 
DigitalIn btn1();
Timer timer;
uint8_t state_new=0;
uint8_t state_menu=0;
uint8_t state_show=0;
uint8_t state_exit =0;
uint8_t data;
int last[3] = {0,0,0};

int lis[30] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30};

void Win(){  //ชนะ
    if (timer.read() > 1) {
        pc.printf("Writing!\n\r");
        duino.putc(lis[0]);
        duino.putc(lis[1]);
        duino.putc(lis[2]);
        timer.reset();
        }
    if (duino.readable())
        {
        pc.printf("recieving %c",duino.getc());
        }
    }

void  Lose(){ //แพ้
    
    if (timer.read() > 1) {
        pc.printf("Writing!\n\r");
        duino.putc(lis[3]);
        duino.putc(lis[4]);
        duino.putc(lis[5]);
        duino.putc(lis[6]);
        timer.reset();
        }
    if (duino.readable())
        {
        pc.printf("recieving %c",duino.getc());
        }

    }    


void number(){  //นับเวลา
     if (timer.read() > 1) {
        pc.printf("Writing!\n\r");
        duino.putc(lis[7]);  //9  
        duino.putc(lis[8]);  //8
        duino.putc(lis[9]);  //7
        duino.putc(lis[10]);//6
        duino.putc(lis[11]);//5
        duino.putc(lis[12]);//4
        duino.putc(lis[13]);//3
        duino.putc(lis[14]);//2
        duino.putc(lis[15]);//1
        duino.putc(lis[16]);//0
               
        timer.reset();
        }
    if (duino.readable()){
        pc.printf("recieving %c",duino.getc());
        }

    }
 

void correct(){  //เช็คถูก
    if (timer.read() > 1) {
        pc.printf("Writing!\n\r");
        duino.putc(lis[18]);
        timer.reset();
        }
    if (duino.readable()){
        pc.printf("recieving %c",duino.getc());
        }

    }
    
void error(){  // 
    if (timer.read() > 1) {
        pc.printf("Writing!\n\r");
        duino.putc(lis[19]);
        timer.reset();
        }
    if (duino.readable()){
        pc.printf("recieving %c",duino.getc());
        }

    }
void heart(){  //ลงค่าเสร็จ
    if (timer.read() > 1) {
        pc.printf("Writing!\n\r");
        
        
        duino.putc(lis[20]);
        
        
        timer.reset();
                }
    if (duino.readable()){
        pc.printf("recieving %c",duino.getc());
            }         
    
    }
void woman(){  //ตัวหลัก
    if (timer.read() > 1) {
        pc.printf("Writing!\n\r");
        
        
        duino.putc(lis[21]);
        
        
        timer.reset();
                }
    if (duino.readable()){
        pc.printf("recieving %c",duino.getc());
            }         
    
    }
void von(){  //หมุน
    if (timer.read() > 1) {
        pc.printf("Writing!\n\r");
        
        
        duino.putc(lis[22]);
        
        
        timer.reset();
                }
    if (duino.readable()){
        pc.printf("recieving %c",duino.getc());
            }         
    
    }
    
    
int main() {
    
    
    
    pc.baud(9600);
    duino.baud(9600);
    pc.printf("Starting...\n\r");
 
    timer.start();
    while (1) {
        if (btn == 9)
        {
            Win();
            
        }
        
        if (btn == 9)
        {
         Lose();
            
        }
        if (btn == 0)
        {
         number();  
            
        }
        
        if (btn == 9)  //True
        {
          correct();  
        }
        
         if (btn == 9)  //error
        {
           error(); 
            
        }
        if (btn == 9)  
        {
            heart();
        }
       
        if (btn == 9)  
        {
             woman();
        }
        if (btn == 9)  
        {
             von();
        }
        
        wait(0.4); 
        
        if(state_show == 0) {
            pc.printf("************\n");
            pc.printf(" Menu \n");
            pc.printf("1.Menu1\n");
           
            state_show =1;
        }
        if(pc.readable()) {
            data = pc.getc();
            pc.printf("\n");
            state_show =0;
            state_exit =0;
            switch(data) {
                case '1':
                do {
                    if(state_menu == 0) {
                        pc.printf("number 1-9\n");
                        
                        state_menu = 1;
                        }
                        if(pc.readable()) 
                        {
                            data = pc.getc();
                            pc.printf("\n");
                            state_menu=0;
                            switch(data) {
                                wait(0.5);
                                case '1':
                                duino.putc(lis[15]);//1
                                break;
                                
                                case '2':
                                duino.putc(lis[14]);//2
                                break;
                                case '3':
                                duino.putc(lis[13]);//3
                                break;
                                case '4':
                                duino.putc(lis[12]);//4
                                break;
                                case '5':
                                duino.putc(lis[11]);//5
                                break;
                                case '6':
                                duino.putc(lis[10]);//6
                                break;
                                case '7':
                                duino.putc(lis[9]);//7
                                break;
                                case '8':
                                duino.putc(lis[8]);//8
                                break;
                                case '9':
                                duino.putc(lis[7]);//9
                                
                                break;
                                case 'H':
                                duino.putc(lis[17]);//happy
                                
                                break;
                               
                                
                                default:
                                pc.printf("plz select a or s\n");
                                pc.printf("\n\n");
                                break;
                                }
                                }
                                } while(state_exit ==0);
                                pc.printf("\n");
                                break;
        
        
       
    }
}
}
}