def NELine(startx, endx, y): r = randint(0, 255) rinc = randint(25, 50) g = randint(0, 255) ginc = randint(25, 50) b = randint(0, 255) binc = randint(25, 50) for x in range(startx, endx): #red value incrementation if r + rinc > 255 or r + rinc < 0: rinc = -rinc else: r += rinc #green value incrementation if g + ginc > 255 or g + ginc < 0: ginc = -ginc else: g += ginc #blue value incrementation if b + binc > 255 or b + binc < 0: binc = -binc else: b += binc ledmatrix.set_pixel(x, y, r, g, b) ledmatrix.show() sleep(wait) y += 1
def showmap(r, g, b): for x in range(0, 7): for y in range(0, 7): rr = int(r) gg = int(g) bb = int(b) ledmatrix.set_pixel(x, y, rr, gg, bb)
def show_digit(val, xd, yd, r, g, b): offset = val * 15 for p in range(offset, offset + 15): xt = p % 3 yt = (p-offset) // 3 ledmatrix.set_pixel(xt+xd, 7-yt-yd, r*NUMS[p], g*NUMS[p], b*NUMS[p]) ledmatrix.show()
def gbl(ini): if ini.getshow() is False: ledmatrix.set_pixel(ini.getx(), ini.gety(), ini.getfarbe()[0], ini.getfarbe()[1], ini.getfarbe()[2]) ini.setshow(True) else: ini.setshow(False)
def showMap(r, g, b): for x in range(0, 7): for y in range(0, 7): z = (float(y) + 7.0 * float(x)) / 49.0 rr = int(z * r) gg = int(z * g) bb = int(z * b) # print(x,y,rr,gg,bb) ledmatrix.set_pixel(x, y, rr, gg, bb) ledmatrix.show()
def hurt(ini, x): for i in range(0, x): ledmatrix.set_pixel(ini.getx(), ini.gety(), 255, 0, 0) ledmatrix.show() time.sleep(0.05) ledmatrix.set_pixel(ini.getx(), ini.gety(), ini.getfarbe()[0], ini.getfarbe()[1], ini.getfarbe()[2]) ledmatrix.show() time.sleep(0.05)
def loop(ini): if ini.getx() is 1 and ini.gety() != 5: ini.sety(ini.gety() + 1) ledmatrix.set_pixel(ini.getx(), ini.gety(), ini.getfarbe()[0], ini.getfarbe()[1], ini.getfarbe()[2]) pass elif ini.gety() is 5 and ini.getx() != 5: ini.setx(ini.getx() + 1) ledmatrix.set_pixel(ini.getx(), ini.gety(), ini.getfarbe()[0], ini.getfarbe()[1], ini.getfarbe()[2]) pass elif ini.getx() is 5 and ini.gety() != 1: ini.sety(ini.gety() - 1) ledmatrix.set_pixel(ini.getx(), ini.gety(), ini.getfarbe()[0], ini.getfarbe()[1], ini.getfarbe()[2]) pass elif ini.gety() is 1 and ini.getx() != 1: ini.setx(ini.getx() - 1) ledmatrix.set_pixel(ini.getx(), ini.gety(), ini.getfarbe()[0], ini.getfarbe()[1], ini.getfarbe()[2]) else: print("ups")
def show_letters(self, val: int, xd: int, yd: int) -> None: """show_digit Calculate position of leds on and off Attributes: :param <val> : (int) number display :param <xd> : (int) width display :param <yd> : (int) height display """ offset = val * 15 for p in range(offset, offset + 15): xt = p % 3 yt = (p - offset) // 3 ledmatrix.set_pixel(xt + xd, 6 - yt - yd, self.r * LETTERS[p], self.g * LETTERS[p], self.b * LETTERS[p]) ledmatrix.show()
def draw_bats(): for y in range(7): ledmatrix.set_pixel(0, y, background_color[0], background_color[1], background_color[2]) ledmatrix.set_pixel(6, y, background_color[0], background_color[1], background_color[2]) for y in range(game_state.bat_left_size): ledmatrix.set_pixel(0, y + game_state.bat_left_y, left_bat_color[0], left_bat_color[1], left_bat_color[2]) for y in range(game_state.bat_right_size): ledmatrix.set_pixel(6, y + game_state.bat_right_y, right_bat_color[0], right_bat_color[1], right_bat_color[2])
def hpbar(p1, p2): # top = ((0,6),(1,6),(2,6),(3,6),(4,6),(5,6),(6,6)) # bot = ((0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0)) hpmax1 = p1.gethpmax() hpvar1 = p1.gethp() hpmax2 = p2.gethpmax() hpvar2 = p2.gethp() anz1 = int(hpvar1 / hpmax1 * 100 // 14) anz2 = int(hpvar2 / hpmax2 * 100 // 14) if anz1 == 0: ledmatrix.set_pixel(0, 6, 255, 0, 0) for x in range(0, anz1): ledmatrix.set_pixel(x, 6, p1.getfarbe()[0], p1.getfarbe()[1], p1.getfarbe()[2]) if anz2 == 0: ledmatrix.set_pixel(0, 0, 255, 0, 0) for x in range(0, anz2): ledmatrix.set_pixel(x, 0, p2.getfarbe()[0], p2.getfarbe()[1], p2.getfarbe()[2])
from ptpulse import ledmatrix letter_a = [[0] * 7 for i in range(7)] letter_a[1][1] = 1 for i in range(7): for j in range(7): if letter_a[i][j] is not 0: ledmatrix.set_pixel(i,j,255,255,255) ledmatrix.show()
def paintgrid(position): for i in range(0, s_height): for j in range(0, s_width): xp = (position + i) % gridlen ledmatrix.set_pixel(i, j, lightgrid[j][xp][0], lightgrid[j][xp][1], lightgrid[j][xp][2])
def paintbackground(red, green, blue): for i in range(0, 7): for j in range(0, 7): ledmatrix.set_pixel(i, j, red, green, blue)
from ptpulse import ledmatrix from random import randint # this is a program one of my students wrote while their pitop was broken # it kind of looks like modern art so maybe you're supposed to be confused by it def paintbackground(red, green, blue): for i in range(0, 7): for j in range(0, 7): ledmatrix.set_pixel(i, j, red, green, blue) position = 0 while True: ledmatrix.clear() paintbackground(0, 0, 255) # parameters, are x position, y position, red, green and blue position += 1 if position == 7: position = 0 ledmatrix.set_pixel(2, position, 255, 0, 0) ledmatrix.set_pixel(2, 3, randint(0, 255), randint(0, 255), randint(0, 255)) ledmatrix.set_pixel(5, 5, 42, 226, 79) ledmatrix.set_pixel(1, 2, 126, 100, 200) ledmatrix.set_pixel(3, 2, 125, 90, 61) ledmatrix.show()
print(step) level += 1 gamespeed -= 1 frequency -= 1 # if game is at the right iterval, step the game forward if step % gamespeed == 0: # choose direction for player based on whether button is pressed if button.is_pressed: direction = 1 else: direction = -1 for i in range(0, s_width): for j in range(0, s_height): # choose color of trail based on game level if level == 1: ledmatrix.set_pixel(i, j, tgrid[i][j], 0, 0) elif level == 2: ledmatrix.set_pixel(i, j, 0, tgrid[i][j], 0) else: ledmatrix.set_pixel(i, j, 0, 0, tgrid[i][j]) # make trail fade away tgrid[i][j] -= 10 # make sure color value isn't negative if tgrid[i][j] < 0: tgrid[i][j] = 0 # generate trail behind laser if lgrid[i][j] == 1: lgrid[i][j] = 0 tgrid[i][j] = 255 ledmatrix.set_pixel(i, j, 255, 255, 255) if j > 0:
f.close() return rate ledmatrix.rotation(0) while True: rate = getCpuRates() ledmatrix.clear() for i in range(0, 4): level = int(6.99 * rate[i]) if level < 4: r = 0 g = 255 b = 0 elif level < 6: r = 255 g = 255 b = 6 else: r = 255 g = 0 b = 0 for y in range(0, level + 1): ledmatrix.set_pixel(2 * i, y, r, g, b) ledmatrix.show() time.sleep(1) ledmatrix.clear() ledmatrix.show()
def showplayer(ini): ledmatrix.set_pixel(ini.getx(), ini.gety(), ini.getfarbe()[0], ini.getfarbe()[1], ini.getfarbe()[2])
def rndplayer(): player1[0] = random.randint(0, 6) player1[1] = random.randint(0, 6) print(player1) ledmatrix.set_pixel(player1[0], player1[1], 0, 255, 255)
for i in range(0, s_width): grid.append([]) for j in range(0, s_height): grid[i].append(0) def mandelbrot(z, maxiter): c = z for n in range(maxiter): if abs(z) > 2: return n z = z * z + c return maxiter makegrid(grid) for i in range(0, s_width): re = i / s_width * 4 - 2 for j in range(0, s_height): im = j / s_height * 4 - 2 z = complex(re, im) iter = mandelbrot(z, 100) grid[i][j] = iter while True: for i in range(0, s_width): for j in range(0, s_height): ledmatrix.set_pixel(i, j, grid[i][j], grid[i][j], grid[i][j]) ledmatrix.show();
def clear(): for x in range(0, 7): for y in range(0, 7): ledmatrix.set_pixel(x, y, 0, 0, 0) ledmatrix.show() sleep(meh)
def draw_ball(): ledmatrix.set_pixel(game_state.ball_x, game_state.ball_y, ball_color[0], ball_color[1], ball_color[2])
def showdeath(ini): for x in range(0, 7): ledmatrix.set_pixel(x, ini, 255, 0, 0)
def startintro(player1, player2): ledmatrix.rotation(0) ledmatrix.clear() showmap(80, 80, 80) for x in range(6, -1, -1): ledmatrix.set_pixel(x, 6, player1.getfarbe()[0], player1.getfarbe()[1], player1.getfarbe()[2]) ledmatrix.show() time.sleep(0.1) for x in range(0, 7, 1): ledmatrix.set_pixel(x, 0, player2.getfarbe()[0], player2.getfarbe()[1], player2.getfarbe()[2]) ledmatrix.show() time.sleep(0.1) ledmatrix.set_pixel(0, 5, player1.getfarbe()[0], player1.getfarbe()[1], player1.getfarbe()[2]) ledmatrix.set_pixel(6, 1, player2.getfarbe()[0], player2.getfarbe()[1], player2.getfarbe()[2]) ledmatrix.show() time.sleep(0.1) ledmatrix.set_pixel(0, 4, player1.getfarbe()[0], player1.getfarbe()[1], player1.getfarbe()[2]) ledmatrix.set_pixel(6, 2, player2.getfarbe()[0], player2.getfarbe()[1], player2.getfarbe()[2]) ledmatrix.show() time.sleep(0.1) ledmatrix.set_pixel(0, 3, player1.getfarbe()[0], player1.getfarbe()[1], player1.getfarbe()[2]) ledmatrix.set_pixel(6, 3, player2.getfarbe()[0], player2.getfarbe()[1], player2.getfarbe()[2]) ledmatrix.show() time.sleep(0.1) ledmatrix.set_pixel(0, 5, 80, 80, 80) ledmatrix.set_pixel(6, 1, 80, 80, 80) ledmatrix.show() time.sleep(0.1) ledmatrix.set_pixel(0, 4, 80, 80, 80) ledmatrix.set_pixel(6, 2, 80, 80, 80) ledmatrix.show() time.sleep(0.1)
from ptpulse import ledmatrix import colorsys import math s_width, s_height = ledmatrix.get_shape() def numtohue(num): return (math.cos(num) + 1) / 2 counter = 0 while True: counter += 0.02 rotationx = math.cos(counter / 8) rotationy = math.sin(counter / 8) for i in range(0, s_width): for j in range(0, s_height): color = colorsys.hsv_to_rgb( numtohue(counter + i * rotationx + j * rotationy) * 0.7, 1, 1) color = (color[0] * 255, color[1] * 255, color[2] * 255) ledmatrix.set_pixel(i, j, color[0], color[1], color[2]) ledmatrix.show()
makegrid(tgrid) makegrid(bgrid) while True: counter += 0.02 rotationx = math.cos(counter / 8) rotationy = math.sin(counter / 8) for i in range(0, s_width): for j in range(0, s_height): color = colorsys.hsv_to_rgb( numtohue(counter + i * rotationx + j * rotationy) * 0.7, 1, 1) color = (0, color[1] * 255, color[2] * 255) bgrid[i][j] = (color[0], color[1], color[2]) for i in range(0, s_width): for j in range(0, s_height): ledmatrix.set_pixel(i, j, tgrid[i][j], bgrid[i][j][1], bgrid[i][j][2]) tgrid[i][j] -= 10 if tgrid[i][j] < 0: tgrid[i][j] = 0 if lgrid[i][j] == 1: lgrid[i][j] = 0 tgrid[i][j] = 255 ledmatrix.set_pixel(i, j, 255, 255, 255) if j > 0: lgrid[i][j - 1] = 1 makelaser = randint(0, 9) if makelaser == 9: randpos = randint(0, s_width - 1) lgrid[randpos][s_height - 1] = 1 ledmatrix.show()
col = (col[0] * shade, col[1] * shade, col[2] * shade) return (col[0] * 255, col[1] * 255, col[2] * 255) effects = [tunnel, rainbow_search, checker, swirl] step = 0 while True: for i in range(500): for y in range(s_height): for x in range(s_width): r, g, b = effects[0](x, y, step) if i > 400: r2, g2, b2 = effects[-1](x, y, step) ratio = (500.00 - i) / 100.0 r = r * ratio + r2 * (1.0 - ratio) g = g * ratio + g2 * (1.0 - ratio) b = b * ratio + b2 * (1.0 - ratio) r = int(max(0, min(255, r))) g = int(max(0, min(255, g))) b = int(max(0, min(255, b))) ledmatrix.set_pixel(x, y, r, g, b) step += 1 ledmatrix.show() effect = effects.pop() effects.insert(0, effect)
def showloose(): for x in range(0, 7): ledmatrix.set_pixel(x, 6, 255, 0, 0) for x in range(0, 7): ledmatrix.set_pixel(x, 0, 255, 0, 0)
def paintgrid(): for i in range(0, s_height): for j in range(0, s_width): ledmatrix.set_pixel(i, j, lightgrid[j][i][0], lightgrid[j][i][1], lightgrid[j][i][2])
def makegrid(grid): for i in range(0, s_width): grid.append([]) for j in range(0, s_height): grid[i].append(0) makegrid(lgrid) makegrid(tgrid) while True: for i in range(0, s_width): for j in range(0, s_height): ledmatrix.set_pixel(i, j, tgrid[i][j], 0, 0) tgrid[i][j] -= 10 if tgrid[i][j] < 0: tgrid[i][j] = 0 if lgrid[i][j] == 1: lgrid[i][j] = 0 tgrid[i][j] = 255 ledmatrix.set_pixel(i, j, 255, 255, 255) if j > 0: lgrid[i][j - 1] = 1 makelaser = randint(0, 9) if makelaser == 9: randpos = randint(0, s_width - 1) lgrid[randpos][s_height - 1] = 1 ledmatrix.show()