Сегодня мы сделаем Цифровой кубик. Для того, что бы его сделать понадобится только M5Stack.
У нас будет самый обычный кубик с 6 гранями, на которых написаны цифры от 1 до 6.
Каждая сторона кубика - это изображение, поэтому нам необходимо подготовить и загрузить на карту памяти 6 изображений в формате .jpg
назвав их 1.jpg
,2.jpg
и так далее.
Теперь пора определиться с тем, как будет работать наш кубик. Просто демонстрировать случайную картинку - не интересно и не так зрелищно, поэтому при “виртуальном броске” будут в случайном порядке показываться разные стороны кубика, замирая на последнем.
void randomise()
{
int times = random(20, 40);
char myStr1[20];
M5.Lcd.setCursor(100,100 );
for (int i=0;i<times;i+=1)
{
String s = "/Dice/" + String(random(1, 7)) +".jpg";
s.toCharArray(myStr1, s.length()+1);
M5.Lcd.drawJpgFile(SD,myStr1,60,20);
delay(10);
}
}
Итак, что делает функция randomise()
- она случайное число раз показывает случайное изображение одной из сторон. Последнее показанное число - и есть результат броска.
Для того, что бы мы могли бросать кубик постоянно, будем запускать эту функцию каждый раз, когда была нажата средняя кнопка.
void setup() {
M5.begin();
M5.Power.begin();
}
void loop(){
M5.update();
if (M5.BtnB.wasReleased()) {
randomise();
}
}
Поздравляю, теперь вы можете сделать свои собственные кубики для ваших любимых игр!
Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.
Комментарии