Browse Source

Add image creation

master
Noëlle Anthony 4 years ago
parent
commit
396e254a16
3 changed files with 30 additions and 0 deletions
  1. 1
    0
      .gitignore
  2. 29
    0
      metroidgen.py
  3. BIN
      narpasfw.ttf

+ 1
- 0
.gitignore View File

@@ -0,0 +1 @@
images/CQSKz?O7JWC6MizYigply03l.png

+ 29
- 0
metroidgen.py View File

@@ -6,6 +6,7 @@

import random, sys
from ananas import PineappleBot, hourly
from PIL import Image, ImageDraw, ImageFont

class MetroidState:
""" Stores the game state
@@ -823,6 +824,34 @@ class MetroidState:
if i%64 == 63:
print()

class MetroidPoster(PineappleBot):

@hourly(minute=50)
def postPassword(self):
gs = MetroidState()
gs.initializeBitfield()
gs.randomize()
gs.createBitfield()
gs.generatePassword()
post_text = gs.toString()
img = self.createImage(gs.password)
media_id = self.mastodon.media_post(img, description=gs.password)
self.mastodon.status_post(post_text, visibility = "unlisted", spoiler_text = "Metroid password: {}".format(gs.password), media_ids = [media_id])
print("Metroidgen scheduled: posted {}".format(gs.password))

def createImage(self, pwd):
pwd_chunks = pwd.split(" ") # This is safe because we'll never generate a password with a space in it
pwd_lines = []
pwd_lines.append(" ".join([pwd_chunks[0], pwd_chunks[1]]))
pwd_lines.append(" ".join([pwd_chunks[2], pwd_chunks[3]]))
newpwd = "\n".join(pwd_lines)
fnt = ImageFont.truetype('narpasfw.ttf', size=18)
img = Image.new('RGB', (300, 100))
draw = ImageDraw.Draw(img)
draw.text((50, 35), newpwd, font=fnt, fill=(190, 210, 255))
filename = 'images/{}.png'.format("".join(pwd_chunks))
img.save(filename)
return filename


def main():

BIN
narpasfw.ttf View File


Loading…
Cancel
Save