mbed Checkers
Dependencies: 4DGL-uLCD-SE SDFileSystem mbed wave_player
Revision 0:e70461c0741e, committed 2016-03-17
- Comitter:
- dcox32
- Date:
- Thu Mar 17 20:23:55 2016 +0000
- Commit message:
- Finished
Changed in this revision
diff -r 000000000000 -r e70461c0741e 4DGL-uLCD-SE.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/4DGL-uLCD-SE.lib Thu Mar 17 20:23:55 2016 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/4180_1/code/4DGL-uLCD-SE/#2cb1845d7681
diff -r 000000000000 -r e70461c0741e SDFileSystem.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SDFileSystem.lib Thu Mar 17 20:23:55 2016 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/SDFileSystem/#c8f66dc765d4
diff -r 000000000000 -r e70461c0741e Speaker.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Speaker.h Thu Mar 17 20:23:55 2016 +0000 @@ -0,0 +1,19 @@ +#include "mbed.h" +// new class to play a note on Speaker based on PwmOut class +class Speaker +{ +public: + Speaker(PinName pin) : _pin(pin) { +// _pin(pin) means pass pin to the Speaker Constructor + } +// class method to play a note based on PwmOut class + void PlayNote(float frequency, float duration, float volume) { + _pin.period(1.0/frequency); + _pin = volume/2.0; + wait(duration); + _pin = 0.0; + } + +private: + PwmOut _pin; +}; \ No newline at end of file
diff -r 000000000000 -r e70461c0741e main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Mar 17 20:23:55 2016 +0000 @@ -0,0 +1,846 @@ +#include "mbed.h" +#include "uLCD_4DGL.h" +#include "Speaker.h" +#include "SDFileSystem.h" +#include "wave_player.h" +#include <iostream> + + + + +DigitalOut myled1(LED1); +DigitalOut myled2(LED2); +DigitalOut myled3(LED3); +DigitalIn select(p19); +DigitalIn move(p20); +DigitalIn clear(p23); // clear the piece manually + +uLCD_4DGL uLCD(p28,p27,p30); +SDFileSystem sd(p11, p12, p13, p17, "sd"); +AnalogOut DACout(p18); + +wave_player waver(&DACout); + +int x1_start = 8; +int y1_start = 8; +int x2_start = 21; +int y2_start = 21; +int x1_r2 = 22; +int y1_r2 = 22; +int x2_r2 = 35; +int y2_r2 = 35; + +int p1_x = 15; +int p1_y = 15; +int p2_x = 112; +int p2_y = 112; +int r = 4; + +int row [8]; +int col [8]; + + +class Nav_Switch +{ +public: + Nav_Switch(PinName up,PinName down,PinName left,PinName right,PinName fire); + int read(); +//boolean functions to test each switch + bool up(); + bool down(); + bool left(); + bool right(); + bool fire(); +//automatic read on RHS + operator int (); +//index to any switch array style + bool operator[](int index) { + return _pins[index]; + }; +private: + BusIn _pins; + +}; +Nav_Switch::Nav_Switch (PinName up,PinName down,PinName left,PinName right,PinName fire): + _pins(up, down, left, right, fire) +{ + _pins.mode(PullUp); //needed if pullups not on board or a bare nav switch is used - delete otherwise + wait(0.001); //delays just a bit for pullups to pull inputs high +} +inline bool Nav_Switch::up() +{ + return !(_pins[0]); +} +inline bool Nav_Switch::down() +{ + return !(_pins[1]); +} +inline bool Nav_Switch::left() +{ + return !(_pins[2]); +} +inline bool Nav_Switch::right() +{ + return !(_pins[3]); +} +inline bool Nav_Switch::fire() +{ + return !(_pins[4]); +} +inline int Nav_Switch::read() +{ + return _pins.read(); +} +inline Nav_Switch::operator int () +{ + return _pins.read(); +} + +Nav_Switch myNav( p9, p6, p7, p5, p8); //pin order on Sparkfun breakout + +class Game_Cursor +{ + int x_, y_, r_, p_,n_,ID_,status_; + +public: + void set_values (int,int,int); + void set_color (int); + void set_n (int); + void draw_cursor(); + void set_ID(int); + void set_status(int); + int get_x() { return x_;} + int get_y() { return y_;} + int get_r() { return r_;} + int get_p() { return p_;} + int get_n(){ return n_;} + int get_ID() { return ID_;} + int get_status() {return status_;} + +}; + +void Game_Cursor::set_values (int x, int y, int r) +{ + x_ = x; + y_ = y; + r_ = r; +} + +void Game_Cursor::set_color (int p) +{ + p_ = p; +} + +void Game_Cursor::set_n(int n) +{ + n_ = n; +} + +void Game_Cursor::draw_cursor() +{ + uLCD.circle(x_,y_,r_,p_); +} +void Game_Cursor::set_ID (int ID) +{ + ID_ = ID; +} +void Game_Cursor::set_status (int status) +{ + status_ = status; +} +class Game_Piece +{ + int x_,y_,r_,p_,ID_; +public: + void set_values (int,int,int,int); + void set_ID(int); + int get_x() { return x_;} + int get_y() { return y_;} + int get_r() { + return r_; + } + int get_p() { + return p_; + } + int get_ID() { + return ID_; + } +}; + +void Game_Piece::set_values (int x, int y, int r, int p) +{ + x_ = x; + y_ = y; + r_ = r; + p_ = p; +} + +void Game_Piece::set_ID (int ID) +{ + ID_ = ID; +} + +class Game_Cell +{ + int x_,y_,color_,status_,n_,ID_; + public: + void set_values(int,int,int); + void set_status(int); + void set_n(int); + void set_ID(int); + int get_x(){ return x_;} + int get_y(){ return y_;} + int get_color(){ return color_;} + int get_status(){ return status_;} + int get_n(){ return n_;} + int get_ID(){ return ID_;} +}; +void Game_Cell::set_values(int x, int y, int color) +{ + x_ = x; + y_ = y; + color_=color; +} + +void Game_Cell::set_status(int status) +{ + status_ = status; +} + +void Game_Cell::set_n(int n) +{ + n_ = n; +} + +void Game_Cell::set_ID(int ID) +{ + ID_ = ID; +} + +int main() +{ + int player_1_pieces = 12; + int player_2_pieces = 12; + + row[0]=15; + col[0]=15; + for(int i=1; i<8; i++) { + row[i]=row[i-1]+14; + col[i]=col[i-1]+14; + } + + while(1) { + // uLCD.background_color(BLUE); + uLCD.cls(); + //uLCD.printf("Player 1"); + + Game_Piece p1_[12]; + Game_Piece p2_[12]; + + Game_Cell cell[64]; + + // Player One Pieces + p1_[0].set_values(row[0],col[0],r,BLACK); + p1_[0].set_ID(1); + p1_[1].set_values(row[2],col[0],r,BLACK); + p1_[1].set_ID(2); + p1_[2].set_values(row[4],col[0],r,BLACK); + p1_[2].set_ID(3); + p1_[3].set_values(row[6],col[0],r,BLACK); + p1_[3].set_ID(4); + p1_[4].set_values(row[1],col[1],r,BLACK); + p1_[4].set_ID(5); + p1_[5].set_values(row[3],col[1],r,BLACK); + p1_[5].set_ID(6); + p1_[6].set_values(row[5],col[1],r,BLACK); + p1_[6].set_ID(7); + p1_[7].set_values(row[7],col[1],r,BLACK); + p1_[7].set_ID(8); + p1_[8].set_values(row[0],col[2],r,BLACK); + p1_[8].set_ID(9); + p1_[9].set_values(row[2],col[2],r,BLACK); + p1_[9].set_ID(10); + p1_[10].set_values(row[4],col[2],r,BLACK); + p1_[10].set_ID(11); + p1_[11].set_values(row[6],col[2],r,BLACK); + p1_[11].set_ID(12); + + // Player Two Pieces + p2_[0].set_values(row[1],col[5],r,RED); + p2_[0].set_ID(13); + p2_[1].set_values(row[3],col[5],r,RED); + p2_[1].set_ID(14); + p2_[2].set_values(row[5],col[5],r,RED); + p2_[2].set_ID(15); + p2_[3].set_values(row[7],col[5],r,RED); + p2_[3].set_ID(16); + p2_[4].set_values(row[0],col[6],r,RED); + p2_[4].set_ID(17); + p2_[5].set_values(row[2],col[6],r,RED); + p2_[5].set_ID(18); + p2_[6].set_values(row[4],col[6],r,RED); + p2_[6].set_ID(19); + p2_[7].set_values(row[6],col[6],r,RED); + p2_[7].set_ID(20); + p2_[8].set_values(row[1],col[7],r,RED); + p2_[8].set_ID(21); + p2_[9].set_values(row[3],col[7],r,RED); + p2_[9].set_ID(22); + p2_[10].set_values(row[5],col[7],r,RED); + p2_[10].set_ID(23); + p2_[11].set_values(row[7],col[7],r,RED); + p2_[11].set_ID(24); + + // row one cells 0 - 7 + cell[0].set_values(15,15,WHITE); + cell[0].set_status(1); + cell[0].set_n(0); + cell[0].set_ID(p1_[0].get_ID()); + cell[1].set_values(29,15,0x999999); + cell[1].set_status(0); + cell[1].set_n(1); + cell[1].set_ID(0); + cell[2].set_values(43,15,WHITE); + cell[2].set_status(1); + cell[2].set_n(2); + cell[2].set_ID(p1_[1].get_ID()); + cell[3].set_values(57,15,0x999999); + cell[3].set_status(0); + cell[3].set_n(3); + cell[3].set_ID(0); + cell[4].set_values(71,15,WHITE); + cell[4].set_status(1); + cell[4].set_n(4); + cell[4].set_ID(p1_[2].get_ID()); + cell[5].set_values(85,15,0x999999); + cell[5].set_status(0); + cell[5].set_n(5); + cell[5].set_ID(0); + cell[6].set_values(99,15,WHITE); + cell[6].set_status(1); + cell[6].set_n(6); + cell[6].set_ID(p1_[3].get_ID()); + cell[7].set_values(113,15,0x999999); + cell[7].set_status(0); + cell[7].set_n(7); + cell[7].set_ID(0); + + // row two cells 8 through 15 + cell[8].set_values(15,29,0x999999); + cell[8].set_status(0); + cell[8].set_n(8); + cell[8].set_ID(0); + cell[9].set_values(29,29,WHITE); + cell[9].set_status(1); + cell[9].set_n(9); + cell[9].set_ID(p1_[4].get_ID()); + cell[10].set_values(43,29,0x999999); + cell[10].set_status(0); + cell[10].set_n(10); + cell[10].set_ID(0); + cell[11].set_values(57,29,WHITE); + cell[11].set_status(1); + cell[11].set_n(11); + cell[11].set_ID(p1_[5].get_ID()); + cell[12].set_values(71,29,0x999999); + cell[12].set_status(0); + cell[12].set_n(12); + cell[12].set_ID(0); + cell[13].set_values(85,29,WHITE); + cell[13].set_status(1); + cell[13].set_n(13); + cell[13].set_ID(p1_[6].get_ID()); + cell[14].set_values(99,29,0x999999); + cell[14].set_status(0); + cell[14].set_n(14); + cell[14].set_ID(0); + cell[15].set_values(113,29,WHITE); + cell[15].set_status(1); + cell[15].set_n(15); + cell[15].set_ID(p1_[7].get_ID()); + + //row three cells 16 - 23 + cell[16].set_values(15,43,WHITE); + cell[16].set_status(1); + cell[16].set_n(16); + cell[16].set_ID(p1_[8].get_ID()); + cell[17].set_values(29,43,0x999999); + cell[17].set_status(0); + cell[17].set_n(17); + cell[17].set_ID(0); + cell[18].set_values(43,43,WHITE); + cell[18].set_status(1); + cell[18].set_n(18); + cell[18].set_ID(p1_[9].get_ID()); + cell[19].set_values(57,43,0x999999); + cell[19].set_status(0); + cell[19].set_n(19); + cell[19].set_ID(0); + cell[20].set_values(71,43,WHITE); + cell[20].set_status(1); + cell[20].set_n(20); + cell[20].set_ID(p1_[10].get_ID()); + cell[21].set_values(85,43,0x999999); + cell[21].set_status(0); + cell[21].set_n(21); + cell[21].set_ID(0); + cell[22].set_values(99,43,WHITE); + cell[22].set_status(1); + cell[22].set_n(22); + cell[22].set_ID(p1_[11].get_ID()); + cell[23].set_values(113,43,0x999999); + cell[23].set_status(0); + cell[23].set_n(23); + cell[22].set_ID(0); + + // row four cells 24 - 31 + cell[24].set_values(15,57,0x999999); + cell[24].set_status(0); + cell[24].set_n(24); + cell[24].set_ID(0); + cell[25].set_values(29,57,WHITE); + cell[25].set_status(0); + cell[25].set_n(25); + cell[25].set_ID(0); + cell[26].set_values(43,57,0x999999); + cell[26].set_status(0); + cell[26].set_n(26); + cell[26].set_ID(0); + cell[27].set_values(57,57,WHITE); + cell[27].set_status(0); + cell[27].set_n(27); + cell[27].set_ID(0); + cell[28].set_values(71,57,0x999999); + cell[28].set_status(0); + cell[28].set_n(28); + cell[28].set_ID(0); + cell[29].set_values(85,57,WHITE); + cell[29].set_status(0); + cell[29].set_n(29); + cell[29].set_ID(0); + cell[30].set_values(99,57,0x999999); + cell[30].set_status(0); + cell[30].set_n(30); + cell[20].set_ID(0); + cell[31].set_values(113,57,WHITE); + cell[31].set_status(0); + cell[31].set_n(31); + cell[31].set_ID(0); + + // row five cells 32 - 39 + cell[32].set_values(15,71,WHITE); + cell[32].set_status(0); + cell[32].set_n(32); + cell[32].set_ID(0); + cell[33].set_values(29,71,0x999999); + cell[33].set_status(0); + cell[33].set_n(33); + cell[33].set_ID(0); + cell[34].set_values(43,71,WHITE); + cell[34].set_status(0); + cell[34].set_n(34); + cell[34].set_ID(0); + cell[35].set_values(57,71,0x999999); + cell[35].set_status(0); + cell[35].set_n(35); + cell[35].set_ID(0); + cell[36].set_values(71,71,WHITE); + cell[36].set_status(0); + cell[36].set_n(36); + cell[36].set_ID(0); + cell[37].set_values(85,71,0x999999); + cell[37].set_status(0); + cell[37].set_n(37); + cell[38].set_values(99,71,WHITE); + cell[38].set_status(0); + cell[38].set_n(38); + cell[38].set_ID(0); + cell[39].set_values(113,71,0x999999); + cell[39].set_status(0); + cell[39].set_n(39); + cell[29].set_ID(0); + + // row six cells 40 - 47 + cell[40].set_values(15,85,0x999999); + cell[40].set_status(0); + cell[40].set_n(40); + cell[40].set_ID(0); + cell[41].set_values(29,85,WHITE); + cell[41].set_status(2); + cell[41].set_n(41); + cell[41].set_ID(p2_[0].get_ID()); // + cell[42].set_values(43,85,0x999999); + cell[42].set_status(0); + cell[42].set_n(42); + cell[42].set_ID(0); + cell[43].set_values(57,85,WHITE); + cell[43].set_status(2); + cell[43].set_n(43); + cell[43].set_ID(p2_[1].get_ID()); // + cell[44].set_values(71,85,0x999999); + cell[44].set_status(0); + cell[44].set_n(44); + cell[44].set_ID(0); + cell[45].set_values(85,85,WHITE); + cell[45].set_status(2); + cell[45].set_n(45); + cell[45].set_ID(p2_[2].get_ID()); // + cell[46].set_values(99,85,0x999999); + cell[46].set_status(0); + cell[46].set_n(46); + cell[46].set_ID(0); + cell[47].set_values(113,85,WHITE); + cell[47].set_status(2); + cell[47].set_n(47); + cell[47].set_ID(p2_[3].get_ID()); // + + // row seven cells 48 - 55 + cell[48].set_values(15,99,WHITE); + cell[48].set_status(2); + cell[48].set_n(48); + cell[48].set_ID(p2_[4].get_ID()); + cell[49].set_values(29,99,0x999999); + cell[49].set_status(0); + cell[49].set_n(49); + cell[49].set_ID(0); + cell[50].set_values(43,99,WHITE); + cell[50].set_status(2); + cell[50].set_n(50); + cell[50].set_ID(p2_[5].get_ID()); + cell[51].set_values(57,99,0x999999); + cell[51].set_status(0); + cell[51].set_n(51); + cell[50].set_ID(0); + cell[52].set_values(71,99,WHITE); + cell[52].set_status(2); + cell[52].set_n(52); + cell[52].set_ID(p2_[6].get_ID()); + cell[53].set_values(85,99,0x999999); + cell[53].set_status(0); + cell[53].set_n(53); + cell[53].set_ID(0); + cell[54].set_values(99,99,WHITE); + cell[54].set_status(2); + cell[54].set_n(54); + cell[54].set_ID(p2_[7].get_ID()); + cell[55].set_values(113,99,0x999999); + cell[55].set_status(0); + cell[55].set_n(55); + cell[55].set_ID(0); + + // row eight cells 56 - 64 + cell[56].set_values(15,113,0x999999); + cell[56].set_status(0); + cell[56].set_n(56); + cell[56].set_ID(0); + cell[57].set_values(29,113,WHITE); + cell[57].set_status(2); + cell[57].set_n(57); + cell[57].set_ID(p2_[8].get_ID()); + cell[58].set_values(43,113,0x999999); + cell[58].set_status(0); + cell[58].set_n(58); + cell[58].set_ID(0); + cell[59].set_values(57,113,WHITE); + cell[59].set_status(2); + cell[59].set_n(59); + cell[59].set_ID(p2_[9].get_ID()); + cell[60].set_values(71,113,0x999999); + cell[60].set_status(0); + cell[60].set_n(60); + cell[60].set_ID(0); + cell[61].set_values(85,113,WHITE); + cell[61].set_status(2); + cell[61].set_n(61); + cell[61].set_ID(p2_[10].get_ID()); + cell[62].set_values(99,113,0x999999); + cell[62].set_status(0); + cell[62].set_n(62); + cell[62].set_ID(0); + cell[63].set_values(113,113,WHITE); + cell[63].set_status(2); + cell[63].set_n(63); + cell[63].set_ID(p2_[11].get_ID()); + + //Board + uLCD.filled_rectangle(8, 8, 120, 119, 0x999999); + uLCD.rectangle(8,8,120,120,BLUE); + uLCD.filled_rectangle(x1_start,y1_start,x2_start,y2_start, WHITE); + uLCD.filled_rectangle(x1_r2,y1_r2,x2_r2,y2_r2, WHITE); + + // odd rows + for(int i = 0; i < 8; i=i+2) { + uLCD.filled_rectangle(x1_start+14*i,y1_start,x2_start+14*i,y2_start, WHITE); + uLCD.filled_rectangle(x1_start+14*i,y1_start+28,x2_start+14*i,y2_start+28,WHITE); + uLCD.filled_rectangle(x1_start+14*i,y1_start+28*2,x2_start+14*i,y2_start+28*2,WHITE); + uLCD.filled_rectangle(x1_start+14*i,y1_start+28*3,x2_start+14*i,y2_start+28*3,WHITE); + } + // even rows + for(int j = 0; j < 7; j=j+2) { + uLCD.filled_rectangle(x1_r2+14*j,y1_r2,x2_r2+14*j,y2_r2, WHITE); + uLCD.filled_rectangle(x1_r2+14*j,y1_r2+28,x2_r2+14*j,y2_r2+28, WHITE); + uLCD.filled_rectangle(x1_r2+14*j,y1_r2+28*2,x2_r2+14*j,y2_r2+28*2, WHITE); + uLCD.filled_rectangle(x1_r2+14*j,y1_r2+28*3,x2_r2+14*j,y2_r2+28*3, WHITE); + } + uLCD.rectangle(8,8,120,120,BLUE); + + + // draw player one pieces + for(int k = 0;k<12;k++) { + uLCD.filled_circle(p1_[k].get_x(),p1_[k].get_y(),p1_[k].get_r(),p1_[k].get_p()); + } + + // draw player two pieces + for(int k = 0;k<12;k++) { + uLCD.filled_circle(p2_[k].get_x(),p2_[k].get_y(),p2_[k].get_r(),p2_[k].get_p()); + } + + Game_Cursor g_c; + + g_c.set_values(row[0],col[0],6); + g_c.set_color(BLUE); + g_c.set_n(0); + g_c.draw_cursor(); + g_c.set_ID(0); + g_c.set_status(0); + + myled3=0; + + int location = 0; + int timer = 0; + while(1) { + + + if(player_1_pieces < 12) // change 12 back to 1 + { + while(1) + { + uLCD.background_color(WHITE); + uLCD.cls(); + wait(0.2); + uLCD.cls(); + uLCD.locate(4,6); + uLCD.background_color(WHITE); + uLCD.set_font(FONT_7X8); + uLCD.text_mode(TRANSPARENT); + uLCD.text_bold(ON); + uLCD.text_string("GAME OVER", 4, 6, FONT_7X8, BLUE); + uLCD.locate(2,10); + uLCD.text_bold(ON); + uLCD.text_string("Player 1 Loses", 2, 10, FONT_7X8, RED); + uLCD.text_width(4); //4X size text + uLCD.text_height(4); + uLCD.color(RED); + myled1=0; + myled2=0; + myled3=0; + FILE *wave_file; + wave_file=fopen("/sd/champ.wav","r"); + waver.play(wave_file); + fclose(wave_file); + + while(1) + { + myled2=1; + wait(0.2); + myled2=0; + wait(0.2); + } + + + + } + } + + if(player_2_pieces < 12) // change 12 back to 1 + { + while(1) + { + uLCD.background_color(BLUE); + uLCD.cls(); + wait(0.2); + uLCD.cls(); + uLCD.locate(4,6); + uLCD.background_color(BLUE); + uLCD.set_font(FONT_7X8); + uLCD.text_mode(TRANSPARENT); + uLCD.text_bold(ON); + uLCD.text_string("GAME OVER", 4, 6, FONT_7X8, WHITE); + uLCD.locate(2,10); + uLCD.text_bold(ON); + uLCD.text_string("Player 2 Loses", 2, 10, FONT_7X8, WHITE); + uLCD.text_width(4); //4X size text + uLCD.text_height(4); + uLCD.color(RED); + myled1=0; + myled2=0; + myled3=0; + FILE *wave_file; + wave_file=fopen("/sd/champ.wav","r"); + waver.play(wave_file); + fclose(wave_file); + while(1) + { + myled1=1; + wait(0.2); + myled1=0; + wait(0.2); + } + + + + } + } + + if(select) + { + + if(g_c.get_ID() == 0) + { + location = g_c.get_n(); + g_c.set_status(cell[location].get_status()); + g_c.set_ID(cell[location].get_ID()); + + } + + + } + + if(move) + { + + myled3 =1; + if(g_c.get_ID() > 0) + { + if(cell[g_c.get_n()].get_status() < 1) + { + int x = g_c.get_x(); + int y = g_c.get_y(); + uLCD.filled_circle(cell[location].get_x(),cell[location].get_y(),r,WHITE); + if (g_c.get_status() == 1) + { + uLCD.filled_circle(x,y,r,BLACK); + FILE *wave_file; + wave_file=fopen("/sd/bang.wav","r"); + waver.play(wave_file); + fclose(wave_file); + } + else if (g_c.get_status() == 2) + { + uLCD.filled_circle(x,y,r,RED); + FILE *wave_file; + wave_file=fopen("/sd/zip.wav","r"); + waver.play(wave_file); + fclose(wave_file); + } + cell[g_c.get_n()].set_status(cell[location].get_status()); + cell[location].set_status(0); + cell[g_c.get_n()].set_ID(g_c.get_ID()); + cell[location].set_ID(0); + location = 0; + g_c.set_ID(0); + g_c.set_status(0); + + myled3 = 0; + + } + + + } + } + + if(clear) + { + if(cell[g_c.get_n()].get_status() == 1) + { + uLCD.filled_circle(g_c.get_x(),g_c.get_y(),r,WHITE); + cell[g_c.get_n()].set_status(0); + player_1_pieces--; + FILE *wave_file; + wave_file=fopen("/sd/wow.wav","r"); + waver.play(wave_file); + fclose(wave_file); + + } + if(cell[g_c.get_n()].get_status() == 2) + { + uLCD.filled_circle(g_c.get_x(),g_c.get_y(),r,WHITE); + cell[g_c.get_n()].set_status(0); + player_2_pieces--; + FILE *wave_file; + wave_file=fopen("/sd/wow.wav","r"); + waver.play(wave_file); + fclose(wave_file); + } + } + + if(myNav.down()){ + int c = cell[g_c.get_n()].get_color(); + g_c.set_color(c); + g_c.draw_cursor(); + int i = g_c.get_n()+ 8; + if(i > 63) { + i=0; + } + int x = cell[i].get_x(); + int y = cell[i].get_y(); + g_c.set_n(i); + g_c.set_values(x,y,6); + g_c.set_color(BLUE); + g_c.draw_cursor(); + } + if(myNav.right()){ + int c = cell[g_c.get_n()].get_color(); + g_c.set_color(c); + g_c.draw_cursor(); + int i = g_c.get_n()+ 1; + if(i>63) { + i=63; + } + int x = cell[i].get_x(); + int y = cell[i].get_y(); + g_c.set_n(i); + g_c.set_values(x,y,6); + g_c.set_color(BLUE); + g_c.draw_cursor(); + } + if(myNav.left()){ + int c = cell[g_c.get_n()].get_color(); + g_c.set_color(c); + g_c.draw_cursor(); + int i = g_c.get_n()- 1; + if(i<0){ + i=0; + } + int x = cell[i].get_x(); + int y = cell[i].get_y(); + g_c.set_n(i); + g_c.set_values(x,y,6); + g_c.set_color(BLUE); + g_c.draw_cursor(); + } + if(myNav.up()){ + int c = cell[g_c.get_n()].get_color(); + g_c.set_color(c); + g_c.draw_cursor(); + int i = g_c.get_n()- 8; + if(i<0){ + i=0; + } + int x = cell[i].get_x(); + int y = cell[i].get_y(); + g_c.set_n(i); + g_c.set_values(x,y,6); + g_c.set_color(BLUE); + g_c.draw_cursor(); + } + myled1 = 1; + myled2 = 0; + wait(0.2); + myled1 = 0; + myled2 =1; + wait(0.2); + + } + } +}
diff -r 000000000000 -r e70461c0741e mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Thu Mar 17 20:23:55 2016 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/87f2f5183dfb \ No newline at end of file
diff -r 000000000000 -r e70461c0741e wave_player.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wave_player.lib Thu Mar 17 20:23:55 2016 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/users/dcox32/code/wave_player/#12ce7c719643