Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
products:laboratory_iot:exp52 [2020/06/11 20:54] – создано labuser29 | products:laboratory_iot:exp52 [2021/07/21 16:55] (текущий) – [Программный код эксперимента] labuser29 | ||
---|---|---|---|
Строка 7: | Строка 7: | ||
</ | </ | ||
+ | Отображать игру будем на TFT дисплее, | ||
+ | Отображать графику будем с помощью // | ||
+ | |||
+ | <WRAP center round download 60%> | ||
+ | {{ : | ||
+ | </ | ||
+ | |||
+ | Начнем с построения игрового поля — лабиринта. Нужно описать в каких клетках есть стена, а в каких нет. Проще всего это сделать с помощью двумерного массива. Число 1 будет обозначать наличие стены, а 0 — ее отсутствие. | ||
+ | |||
+ | ==== Схема эксперимента ==== | ||
+ | |||
+ | {{ : | ||
+ | // | ||
+ | |||
+ | {{ : | ||
+ | // | ||
+ | ==== Программный код эксперимента ==== | ||
+ | |||
+ | <file python Exp52.py[enable_line_numbers=" | ||
+ | from machine import Pin, SPI | ||
+ | from tft import TFT_GREEN | ||
+ | _init() | ||
+ | machine.freq(160000000) | ||
+ | |||
+ | |||
+ | dc = Pin(4, Pin.OUT) | ||
+ | cs = Pin(2, Pin.OUT) | ||
+ | rst = Pin(5, Pin.OUT) | ||
+ | spi = SPI(1, baudrate=40000000, | ||
+ | |||
+ | tft = TFT_GREEN(128, | ||
+ | |||
+ | Map = [ | ||
+ | [1, | ||
+ | [0, | ||
+ | [1, | ||
+ | [0, | ||
+ | [0, | ||
+ | [1, | ||
+ | [1, | ||
+ | [1, | ||
+ | [1, | ||
+ | [1, | ||
+ | ] | ||
+ | |||
+ | |||
+ | tft.initr(tft.BGR) # tft.initr(tft.RGB) #Если вместо синего цвета отображается красный, | ||
+ | tft.clear(tft.COLOR_BLACK) | ||
+ | |||
+ | x = 0 | ||
+ | y = 0 | ||
+ | |||
+ | for row in Map: | ||
+ | for col in row: | ||
+ | if col: | ||
+ | tft.draw_bmp(x * 16, y * 16,' | ||
+ | x+=1 | ||
+ | x=0 | ||
+ | y+=1 | ||
+ | </ | ||
+ | |||
+ | Мы объявили двумерный массив '' |