Created
July 12, 2018 17:17
-
-
Save shikarunochi/55e3b44bb26e2fb2c5b8ae2cc193cf13 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from m5stack import lcd | |
from time import sleep | |
def makeSmaponDataList(dataList): | |
return [ | |
dataList[16],dataList[17],dataList[0],dataList[1],dataList[6],dataList[7],dataList[22],dataList[23], | |
dataList[24],dataList[25],dataList[8],dataList[9],dataList[14],dataList[15],dataList[30],dataList[31], | |
dataList[18],dataList[19],dataList[2],dataList[3],dataList[4],dataList[5],dataList[20],dataList[21], | |
dataList[26],dataList[27],dataList[10],dataList[11],dataList[12],dataList[13],dataList[28],dataList[29], | |
dataList[34],dataList[35],dataList[50],dataList[51],dataList[52],dataList[53],dataList[36],dataList[37], | |
dataList[42],dataList[43],dataList[58],dataList[59],dataList[60],dataList[61],dataList[44],dataList[45], | |
dataList[32],dataList[33],dataList[48],dataList[49],dataList[54],dataList[55],dataList[38],dataList[39], | |
dataList[40],dataList[41],dataList[56],dataList[57],dataList[62],dataList[63],dataList[46],dataList[47] | |
] | |
lcd.clear() | |
lcd.setCursor(0, 0) | |
lcd.setColor(lcd.WHITE) | |
#lcd.print("Hello World!") | |
initDataList = [ | |
1,1,1,1,1,1,1,1, | |
1,0,0,0,0,0,0,1, | |
1,0,0,0,0,0,0,1, | |
1,0,0,0,0,0,0,1, | |
1,0,0,0,0,0,0,1, | |
1,0,0,0,0,0,0,1, | |
1,0,0,0,0,0,0,1, | |
1,1,1,1,1,1,1,1 | |
] | |
smaponDataList = makeSmaponDataList(initDataList) | |
for y in range(8): | |
for x in range(8): | |
if smaponDataList[x + y * 8] == 1: | |
lcd.rect(68 + x * 23,28 + y * 23,15,15,lcd.WHITE,lcd.WHITE) | |
else: | |
lcd.rect(68 + x * 23,28 + y * 23,15,15,lcd.BLACK,lcd.BLACK) | |
sleep(10) | |
#フォントを読み込む | |
fontFile = open("MZ700FON.JP", "rb") | |
for fontIndex in range(512): | |
fontDataList = [] | |
fontFile.seek(fontIndex * 8) | |
fontData = fontFile.read(8) | |
for fontDataByte in fontData: | |
for x in range(8): | |
if fontDataByte >> (7 - x) & 1 == 1: #ビット上側から、1か0かチェック | |
fontDataList.append(1) | |
else: | |
fontDataList.append(0) | |
smaponDataList = makeSmaponDataList(fontDataList); | |
for y in range(8): | |
for x in range(8): | |
if fontIndex <= 255: | |
if smaponDataList[x + y * 8] == 1: | |
lcd.rect(68 + x * 23,28 + y * 23,15,15,lcd.GREENYELLOW,lcd.GREENYELLOW) | |
else: | |
lcd.rect(68 + x * 23,28 + y * 23,15,15,lcd.BLACK,lcd.BLACK) | |
else: | |
if smaponDataList[x + y * 8] == 1: | |
lcd.rect(68 + x * 23,28 + y * 23,15,15,lcd.WHITE,lcd.WHITE) | |
else: | |
lcd.rect(68 + x * 23,28 + y * 23,15,15,lcd.BLUE,lcd.BLUE) | |
sleep(0.1) | |
fontFile.close() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment