select_mode

GameStickMan
CalisJI 2024-08-13 15:50:06 +07:00
parent f185991f64
commit 2a03485ce4
1 changed files with 62 additions and 51 deletions

View File

@ -1,8 +1,8 @@
#include <HardwareSerial.h> #include <HardwareSerial.h>
#include <ESP32-HUB75-MatrixPanel-I2S-DMA.h> #include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
#include <FastLED.h> #include <FastLED.h>
// #include <WebServer.h> #include <WebServer.h>
// #include <ArduinoJson.h> #include <ArduinoJson.h>
#pragma region Matrix Config #pragma region Matrix Config
#define R1_PIN 25 #define R1_PIN 25
#define G1_PIN 26 #define G1_PIN 26
@ -323,7 +323,7 @@ void printData()
Serial.println(); Serial.println();
Serial.println("Data printing completed."); Serial.println("Data printing completed.");
} }
bool mode = false;
void loop() void loop()
{ {
//server.handleClient(); //server.handleClient();
@ -365,61 +365,72 @@ void loop()
} }
int x = int(data[row][0]); int x = int(data[row][0]);
int y = int(data[row][1]); int y = int(data[row][1]);
int x_in = int(data[0][0]);
int y_in = int(data[0][1]);
// measure x dimension if(x_in==0&&y_in==0){
mode = true;
}
else if (x_in==255&&y_in==255)
{
mode =false;
}
if(mode){
int *_range;
_range = drawStickMan(x, y);
}
else{
// measure x dimension
int min_x = x - 1 - ((num_moi * 3) / 3); int min_x = x - 1 - ((num_moi * 3) / 3);
int max_x = x + 1 + ((num_moi * 3) / 3); int max_x = x + 1 + ((num_moi * 3) / 3);
int min_y = y - 1; int min_y = y - 1;
int max_y = y + 1; int max_y = y + 1;
for (int i = min_x; i <= max_x; i++)
{
for (int j = y - 1; j <= y + 1; j++)
{
int *_range; if (j <= 32)
_range = drawStickMan(x, y); dma_display->drawPixelRGB888(i, j, 214, 24, 192);
else
dma_display->drawPixelRGB888(i, j, 214, 192, 24);
// reach moi
if (gen_moi == false)
{
drawRandomPoint(x, y, 5 + (num_moi * 3), false);
gen_moi = true;
}
if (min_x <= x_moi + 1 && max_x > x_moi - 1 && min_y <= y_moi + 1 && max_y >= y_moi - 1)
{
reached = true;
num_moi += 1;
gen_moi = false;
}
}
}
if (reached)
{
min_x = x - 1 - ((num_moi * 3) / 3);
max_x = x + 1 + ((num_moi * 3) / 3);
for (int i = min_x; i <= max_x; i++)
{
for (int j = y - 1; j <= y + 1; j++)
{
if (j <= 32)
dma_display->drawPixelRGB888(i, j, 214, 24, 192);
else
dma_display->drawPixelRGB888(i, j, 214, 192, 24);
}
}
reached = false;
}
if (gen_moi)
{
drawRandomPoint(x, y, 5 + (num_moi * 3), gen_moi);
}
}
// for (int i = min_x; i <= max_x; i++)
// {
// for (int j = y - 1; j <= y + 1; j++)
// {
// if (j <= 32)
// dma_display->drawPixelRGB888(i, j, 214, 24, 192);
// else
// dma_display->drawPixelRGB888(i, j, 214, 192, 24);
// // reach moi
// if (gen_moi == false)
// {
// drawRandomPoint(x, y, 5 + (num_moi * 3), false);
// gen_moi = true;
// }
// if (min_x <= x_moi + 1 && max_x > x_moi - 1 && min_y <= y_moi + 1 && max_y >= y_moi - 1)
// {
// reached = true;
// num_moi += 1;
// gen_moi = false;
// }
// }
// }
// if (reached)
// {
// min_x = x - 1 - ((num_moi * 3) / 3);
// max_x = x + 1 + ((num_moi * 3) / 3);
// for (int i = min_x; i <= max_x; i++)
// {
// for (int j = y - 1; j <= y + 1; j++)
// {
// if (j <= 32)
// dma_display->drawPixelRGB888(i, j, 214, 24, 192);
// else
// dma_display->drawPixelRGB888(i, j, 214, 192, 24);
// }
// }
// reached = false;
// }
// if (gen_moi)
// {
// drawRandomPoint(x, y, 5 + (num_moi * 3), gen_moi);
// }
} }
// Reset chỉ số chỉ mục sau khi xử lý // Reset chỉ số chỉ mục sau khi xử lý
bufferIndex = 0; bufferIndex = 0;