import max7219 #https://github.com/mcauser/micropython-max7219
import time
from machine import Pin, SPI
import random
dots=[]
left_btn = Pin(23, Pin.IN, Pin.PULL_DOWN)
right_btn = Pin(19, Pin.IN, Pin.PULL_DOWN)
point = [3,3]
spi = SPI(1, baudrate=10000000, polarity=1, phase=0, sck=Pin(4), mosi=Pin(2))
ss = Pin(5, Pin.OUT)
display = max7219.Matrix8x8(spi, ss, 1)
display.fill(0)
display.show()
plat = [[1,1],[2,1],[3,1]]#создаёем массив с кординатоми
def draw(arr):
for i in arr:#обращаемся поочередно к элементам
display.pixel(i[0],i[1],1)#записываем значение 1 (свет) в x и y, где x=[0], y=[1]
display.show()#вывод на дисплей
def move_plat(side):
for i in plat:#
display.pixel(i[0],i[1],0)#
for i in range(3):
plat[i][0]+=side#side-отвечает за то, что в зависимости от того что мы нажали он делает + или -(то есть перемещает платформу как нам надо)
draw(plat)
def dots_gen():
#x = random.sample(range(0,7),3)#sample-отвечает за то что точки не попадуться в одном месте
for i in range(3):
dots.append([random.randint(0,7),random.randint(7,9)])#
print(dots)
for i in dots:#
display.pixel(i[0],i[1],1)
display.show()
def move_dots():
for i in dots:#
display.pixel(i[0],i[1],0)#
for i in range(3):
dots[i][1]-=1
if dots[i][1] < 0:
dots[i] = [random.randint(0,7),random.randint(7,9)]
if dots[i] in plat:#
print("game over")
draw(dots)
# s=[[6,7],[5,7],[4,7],[3,7],[2,7],[1,7],[1,6],[1,5],[1,4],[2,4],[3,4],[4,4],[5,4],[6,4],[6,3],[6,2],[6,1],[5,1],[4,1],[3,1],[2,1],[1,1]]
# for i in s:
# display.pixel(i[0],i[1],1)
# display.show
# t1=[[3,1],[3,2],[3,3],[3,4],[3,5],[3,6],[3,7],[4,1],[4,2],[4,3],[4,4],[4,5],[4,6],[4,7],[1,7],[2,7],[5,7],[6,7],]
# for i in t1:
# display.pixel(i[0],i[1],1)
# display.show
# for i in s:
# display.pixel(i[0],i[1],1)
# display.show
draw(plat)
dots_gen()
t=time.ticks_ms()
print(t)
while True:
if time.ticks_ms() - t > 500:
t=time.ticks_ms()
move_dots()
if right_btn.value():
move_plat(1)
time.sleep(0.15)
if left_btn.value():
move_plat(-1)
time.sleep(0.15)