Jump to content

UberTaco

Members
  • Posts

    3
  • Joined

  • Last visited

Everything posted by UberTaco

  1. For quick access to a server behind a firewall via SSH, consider a VPN. Hamachi is currently free and has clients for all platforms. It's real easy to set up too.
  2. And a pair of bash functions for dropping in your .bashrc (assuming you're running on Linux) function writeScreen() { echo "$@" > ~/test.txt } function writeScreenln() { echo "$@" >> ~/test.txt } These again assume a file (this time in the home dir) called test.txt. You may need to change this path as necessary. :)
  3. Hey guys, I'm lovin' the graffiti wall (even though it's more like the Graffitivision now.) I went ahead and hacked together a script in python to let folks run something similar on their own machines. You need: Python PyGame #import and initialize import pygame pygame.init() class Message(pygame.sprite.Sprite): def __init__(self, filename): pygame.sprite.Sprite.__init__(self) self.font = pygame.font.SysFont("Verdana", 36) self.filename = filename in_file = open(self.filename, "r") filetext = in_file.read() in_file.close() self.text = filetext self.image = self.font.render(self.text, 1, (255, 255, 255)) self.rect = self.image.get_rect() def rendertext(self, font, text, pos=(0,0), color=(255,255,255), bg=(0,0,0)): lines = text.splitlines() #first we need to find image size... width = height = 0 for l in lines: width = max(width, font.size(l)[0]) height += font.get_linesize() #create 8bit image for non-aa text.. img = pygame.Surface((width, height), 0, 8) img.set_palette([(0,0,0), (255,255,255)]) #render each line height = 0 for l in lines: t = font.render(l, 1, (255,255,255), (0,0,0)) img.blit(t, (0, height)) height += font.get_linesize() return img def update(self): #-----Read text from text.txt----# in_file = open(self.filename, "r") filetext = in_file.read() in_file.close() self.text = filetext #self.image = self.font.render(self.text, 1, (255, 255, 255)) self.image = self.rendertext(self.font, self.text) self.rect = self.image.get_rect() label.rect.centerx = background.get_rect().centerx label.rect.centery = background.get_rect().centery #display screen = pygame.display.set_mode((800, 600), pygame.FULLSCREEN | pygame.DOUBLEBUF | pygame.SWSURFACE) FULLSCREEN = True #Entities background = pygame.Surface(screen.get_size()) background = background.convert() background.fill((0, 0, 0)) label = Message("test.txt") labelSprite = pygame.sprite.Group(label) #Action # Assign vals to vars clock = pygame.time.Clock() keepGoing = True # Loop while keepGoing: #T - Timer for framerate clock.tick(30) #E - Events for event in pygame.event.get(): if event.type == pygame.QUIT: keepGoing = False elif event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: keepGoing = False elif event.key == pygame.K_f: if FULLSCREEN: screen = pygame.display.set_mode((800, 600), pygame.DOUBLEBUF | pygame.SWSURFACE) background = pygame.Surface(screen.get_size()) background = background.convert() background.fill((0, 0, 0)) label = Message("test.txt") labelSprite = pygame.sprite.Group(label) else: screen = pygame.display.set_mode((800, 600), pygame.FULLSCREEN | pygame.DOUBLEBUF | pygame.SWSURFACE) background = pygame.Surface(screen.get_size()) background = background.convert() background.fill((0, 0, 0)) label = Message("test.txt") labelSprite = pygame.sprite.Group(label) FULLSCREEN = not FULLSCREEN screen = pygame.display.get_surface() #R - Refresh display screen.blit(background, (0, 0)) labelSprite.update() labelSprite.draw(screen) pygame.display.flip() Can't take credit for quite everything, as I had to creatively Google to find that rendertext function that I dropped in the Message class (Why the heck doesn't pygame.font.Font.render support newline chars?) but the rest is mine. :) Note that this reads from a file "test.txt" in the same directory as the script itself...still working on checking for existence and creating if non-existent file. EDIT: Had to update a few things: the Python was erroring out on Windows (I have to reinitialize each surface each time I reinitialize the screen...) Also set the font to "Verdana" because I know every Windows user will have it, and (almost) every Linux user will default to the much prettier FreeSans if they don't have it.... I can zip up a py2exe, if anyone wants it for "drop-in-and-go"
×
×
  • Create New...