44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
import sys
|
|
import time
|
|
import unittest
|
|
import Image
|
|
import StringIO
|
|
|
|
import gameduino.remote
|
|
import gameduino.prep as gdprep
|
|
|
|
gd = gameduino.remote.Gameduino(sys.argv.pop(), 115200)
|
|
|
|
class TestGameduino(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
pass
|
|
|
|
def test_talk(self):
|
|
self.assertEqual(gd.rd(gameduino.IDENT), 0x6d)
|
|
|
|
def test_sprites(self):
|
|
ir = gdprep.ImageRAM(StringIO.StringIO())
|
|
(rock0, rock1) = gdprep.palettize([Image.open("rock0r.png"), Image.open("rock1r.png")], 16)
|
|
ir.addsprites("rock0", (16, 16), rock0, gdprep.PALETTE16A, center = (8,8))
|
|
ir.addsprites("rock1", (32, 32), rock1, gdprep.PALETTE16A, center = (16,16))
|
|
gd.wr16(gameduino.RAM_PAL, gameduino.RGB(0, 255, 0))
|
|
gd.wrstr(gameduino.RAM_SPRIMG, ir.used())
|
|
gd.wrstr(gameduino.PALETTE16A, gdprep.getpal(rock0))
|
|
|
|
for i in range(128):
|
|
gd.sprite(i, 200 + 20 * (i & 7), 20 * (i / 8), i / 2, gdprep.PALETTE16A[i&1], 0)
|
|
|
|
(pic,chr,pal) = gdprep.encode(Image.open("platformer.png"))
|
|
gd.wrstr(gameduino.RAM_CHR, chr)
|
|
gd.wrstr(gameduino.RAM_PAL, pal)
|
|
for y in range(32):
|
|
gd.wrstr(gameduino.RAM_PIC + 64 * y, pic[16*y:16*y+16])
|
|
|
|
def test_ascii(self):
|
|
gd.ascii()
|
|
gd.putstr(10, 10, "THIS IS A!!")
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|