52 lines
1.5 KiB
C++
52 lines
1.5 KiB
C++
#include <M5Core2.h>
|
|
|
|
void setup() {
|
|
M5.begin();
|
|
|
|
}
|
|
|
|
void createGrid() {
|
|
M5.Lcd.drawLine(0, 80, 320, 80, WHITE);
|
|
M5.Lcd.drawLine(0, 160, 320, 160, WHITE);
|
|
M5.Lcd.drawLine(106, 0, 106, 320, WHITE);
|
|
M5.Lcd.drawLine(212, 0, 212, 320, WHITE);
|
|
}
|
|
|
|
void createCross(int coord_x, int coord_y) {
|
|
int COORDS[3][3][4] = {
|
|
{{30, 20, 70, 60}, {136, 20, 176, 60}, {242, 20, 282, 60}} ,
|
|
{{30, 100, 70, 140}, {136, 100, 176, 140}, {242, 100, 282, 140}} ,
|
|
{{30, 180, 70, 220}, {136, 180, 176, 220}, {242, 180, 282, 220}}
|
|
};
|
|
|
|
M5.Lcd.drawLine(COORDS[coord_x][coord_y][0],COORDS[coord_x][coord_y][1],COORDS[coord_x][coord_y][2],COORDS[coord_x][coord_y][3], WHITE);
|
|
M5.Lcd.drawLine(COORDS[coord_x][coord_y][0],COORDS[coord_x][coord_y][3],COORDS[coord_x][coord_y][2],COORDS[coord_x][coord_y][1], WHITE);
|
|
}
|
|
|
|
void createCircle(int coord_x, int coord_y) {
|
|
int COORDS[3][3][4] = {
|
|
{{30, 20, 70, 60}, {136, 20, 176, 60}, {242, 20, 282, 60}} ,
|
|
{{30, 100, 70, 140}, {136, 100, 176, 140}, {242, 100, 282, 140}} ,
|
|
{{30, 180, 70, 220}, {136, 180, 176, 220}, {242, 180, 282, 220}}
|
|
};
|
|
|
|
M5.Lcd.drawCircle((COORDS[coord_x][coord_y][0] + COORDS[coord_x][coord_y][2]) / 2, (COORDS[coord_x][coord_y][1] + COORDS[coord_x][coord_y][3]) / 2, 20, WHITE);
|
|
}
|
|
|
|
void loop() {
|
|
createGrid();
|
|
int x;
|
|
int y;
|
|
for (x = 0; x < 3; x++) {
|
|
for (y = 0; y < 3; y++) {
|
|
if ((rand() % 2) == 0) {
|
|
createCross(x, y);
|
|
delay(500);
|
|
} else {
|
|
createCircle(x, y);
|
|
delay(500);
|
|
}
|
|
}
|
|
}
|
|
M5.Lcd.clear();
|
|
} |