Othello

Dependencies:   mbed

Revision:
0:8c7f841516ab
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/led_func.h	Tue Sep 04 04:07:41 2018 +0000
@@ -0,0 +1,82 @@
+#include "necleo_pin.h"
+#include "color.h"
+
+#define L 0
+#define H 1
+
+#define R 0
+#define G 1
+#define B 2
+
+class Dot{
+    public:
+        char red;
+        char green;
+        char blue;
+        void SetColor(char r,char g,char b){
+            red=r;
+            green=g;
+            blue=b;
+        }
+};
+
+Dot led_board[16][16];
+
+void ResetLEDBoard(){
+    for(char i=0;i<16;i++){
+        for(char j=0;j<16;j++){
+            led_board[i][j].SetColor(CCLEAR);
+        }
+    }
+}
+
+void PrintLEDBoard(){
+    static const char list[4]={0,2,1,3};
+    static char count=0;
+    CLK=L;
+    LAT=L;
+    for(char i=0;i<4;i++){
+        OE=H;
+        Address=list[i];
+        for(char j=0;j<32;j++){
+            if(j<8){
+                Red1=led_board[i][7-j].red>count;
+                Green1=led_board[i][7-j].green>count;
+                Blue1=led_board[i][7-j].blue>count;
+                Red2=led_board[i+8][7-j].red>count;
+                Green2=led_board[i+8][7-j].green>count;
+                Blue2=led_board[i+8][7-j].blue>count;
+            }else if(j<16){
+                Red1=led_board[i+4][j-8].red>count;
+                Green1=led_board[i+4][j-8].green>count;
+                Blue1=led_board[i+4][j-8].blue>count;
+                Red2=led_board[i+12][j-8].red>count;
+                Green2=led_board[i+12][j-8].green>count;
+                Blue2=led_board[i+12][j-8].blue>count;
+            }else if(j<24){
+                Red1=led_board[i][31-j].red>count;
+                Green1=led_board[i][31-j].green>count;
+                Blue1=led_board[i][31-j].blue>count;
+                Red2=led_board[i+8][31-j].red>count;
+                Green2=led_board[i+8][31-j].green>count;
+                Blue2=led_board[i+8][31-j].blue>count;
+            }else{
+                Red1=led_board[i+4][j-16].red>count;
+                Green1=led_board[i+4][j-16].green>count;
+                Blue1=led_board[i+4][j-16].blue>count;
+                Red2=led_board[i+12][j-16].red>count;
+                Green2=led_board[i+12][j-16].green>count;
+                Blue2=led_board[i+12][j-16].blue>count;
+            }
+            CLK=H;
+            CLK=L;
+        }
+        LAT=H;
+        LAT=L;
+        OE=L;
+        wait_us(1);
+    }
+    OE=H;
+    count++;
+    if(count>100)count=0;
+}
\ No newline at end of file