그래서 raspi 3 및 간단한 8x8 LED 매트릭스가 있습니다. 일부 게임을하고 난 후에 나는 파이 게임의 이벤트로 간단한 뱀 게임 (그 매트릭스에 표시)을하기로 결심했다. 나는 파이 게임의 이전 경험이 없다. LED 매트릭스 이외에 연결된 스크린/디스플레이가 없습니다. 나는 내가 그것이 ENV 변수로 설정하여 고정 얻었다 고 생각하지만, "비디오 시스템 초기화되지 pygame.error는" SSH를 통한 파이 게임이 키 입력을 등록하지 않습니다 (라즈베리 파이 3)
그래서 처음에 문제가 있었다 나는 그것을 실행 작업 그것을 가지고 이제os.putenv('DISPLAY', ':0.0')
를 ... 그리고 키 입력이 등록되지 않은 것처럼 아무 일도 일어나지 않습니다.
Just this "junk", I don't know how to call it LED 매트릭스의 점이 움직이지 않습니다. 루프의 어딘가에서 뱀의 x 또는 y 위치를 변경하면 의도 한대로 움직입니다.
내 코드 :
#!/usr/bin/python2
import pygame
import max7219.led as led
from max7219.font import proportional, SINCLAIR_FONT, TINY_FONT, CP437_FONT
import numpy as nqp
import os
SIZE = (8, 8)
class Board:
def __init__(self, size, snake):
"Board object for snake game"
self.matrix = np.zeros(size, dtype=np.int8)
self.device = led.matrix()
self.snake = snake
def draw(self):
#add snake
self.matrix = np.zeros(SIZE, dtype=np.int8)
self.matrix[self.snake.x][self.snake.y] = 1
for x in range(8):
for y in range(8):
self.device.pixel(x, y, self.matrix[x][y], redraw=False)
self.device.flush()
def light(self, x, y):
"light specified pixel"
self.matrix[x][y] = 1
def dim(self, x, y):
"off specified pixel"
self.matrix[x][y] = 0
class Snake:
def __init__(self):
"Object representing an ingame snake"
self.length = 1
self.x = 3
self.y = 3
if __name__=="__main__":
os.putenv('DISPLAY', ':0.0')
pygame.init()
snake = Snake()
board = Board(SIZE, snake)
done = False
while not done:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
snake.y -= 1
elif event.key == pygame.K_DOWN:
snake.y += 1
elif event.key == pygame.K_LEFT:
snake.x -= 1
elif event.key == pygame.K_RIGHT:
snake.x += 1
board.draw()
내가 무엇을 모르기 때문에 내가 파이 게임을 사용하고 (그럼 난 파이 게임을 사용할 수 있습니다하지만 난 그냥 어떤 대안을 알고하지 않습니다). 그것이 더 간단하게 할 수 있다면 나는 그것을 행복하게 할 것입니다. 미리 감사드립니다!
퍼티를 사용하고있는 것 같습니다. X11 포워딩을 설정하는 방법에 대해 [this] (http://superuser.com/q/119792/152529)와 [this] (http://unix.stackexchange.com/q/12755)를보십시오. 방법. – Kupiakos