Skip to content

Instantly share code, notes, and snippets.

@shikarunochi
Created July 12, 2018 17:17
Show Gist options
  • Save shikarunochi/55e3b44bb26e2fb2c5b8ae2cc193cf13 to your computer and use it in GitHub Desktop.
Save shikarunochi/55e3b44bb26e2fb2c5b8ae2cc193cf13 to your computer and use it in GitHub Desktop.
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