Archived
Fix for missing players
This commit is contained in:
1 parent
dacd6fbbd7
commit
80cbc89f60
1 file changed
+14
-152
+14
-152
@@ -1,107 +1,16 @@
|
|||||||
|
import json
|
||||||
import cv2
|
import cv2
|
||||||
import random
|
import random
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
from PIL import Image, ImageDraw, ImageFont
|
||||||
|
from sys import argv
|
||||||
|
|
||||||
IMGPATH = "blank_sheet.png"
|
IMGPATH = "blank_sheet.png"
|
||||||
|
|
||||||
cells = {
|
|
||||||
"all": [
|
|
||||||
"ACE",
|
|
||||||
"BODYBLOCK",
|
|
||||||
"Rawdog",
|
|
||||||
"Accidental teamkill",
|
|
||||||
"tirilnade",
|
|
||||||
"CS2 bug",
|
|
||||||
"\"DU HAR BOMBEN\"",
|
|
||||||
"A snake eating its own tail indicates that its excrement provides food for it",
|
|
||||||
"\"MORRAPULER\"",
|
|
||||||
"\"KLASKER\"",
|
|
||||||
"\"HÆ? Er jeg den eneste igjen?\"",
|
|
||||||
"Noen blir knifa",
|
|
||||||
"Noen blir zeusa",
|
|
||||||
"Noen caller cheats",
|
|
||||||
"Match win",
|
|
||||||
"Noen klager på luckshots",
|
|
||||||
"Noen caller hacks",
|
|
||||||
"Ace steal (noen tar siste kill)",
|
|
||||||
"comeback fra 6+ losses under mostanderen",
|
|
||||||
"\"Du så han\"",
|
|
||||||
"\"Du hørte han\"",
|
|
||||||
"Accidental teamflash",
|
|
||||||
"Noen suicider",
|
|
||||||
],
|
|
||||||
"parameterized": [
|
|
||||||
"{} acer",
|
|
||||||
"{} clutcher",
|
|
||||||
"{} blir knifa",
|
|
||||||
"{} knifer noen",
|
|
||||||
"{} zeuser noen",
|
|
||||||
"{} topfragger",
|
|
||||||
"{} bottomfragger",
|
|
||||||
"{} 1deager",
|
|
||||||
],
|
|
||||||
"markus": [
|
|
||||||
"Markus bommer lineup",
|
|
||||||
"Markus finner på excuse for at han suger",
|
|
||||||
"Markus prater om spray transfers",
|
|
||||||
],
|
|
||||||
"helen": [
|
|
||||||
"Lille skløtte",
|
|
||||||
"Henrik tar over",
|
|
||||||
"Helen deafener seg selv",
|
|
||||||
],
|
|
||||||
"hanna": [
|
|
||||||
"Hanna tror hun spiller valo",
|
|
||||||
],
|
|
||||||
"leander": [
|
|
||||||
"Leander bommer et lett awp shot",
|
|
||||||
"Leander er for redd for å bli hørt av fienden",
|
|
||||||
"Leander accidentally hopper når han skyter noen",
|
|
||||||
],
|
|
||||||
"petter": [
|
|
||||||
"Petter roper NÆÆÆÆÆÆÆIIIII",
|
|
||||||
"Petter topfragger",
|
|
||||||
],
|
|
||||||
"tita": [
|
|
||||||
"Tita får >2 kills i en runde",
|
|
||||||
"Tita snur ryggen til en fiende",
|
|
||||||
],
|
|
||||||
"thea": [
|
|
||||||
"Thea får run n gun headshots med m4a1s",
|
|
||||||
"Thea prøver å banne overpass",
|
|
||||||
],
|
|
||||||
"stash": [
|
|
||||||
"Stash thrower clutchen",
|
|
||||||
],
|
|
||||||
"mathias": [
|
|
||||||
"Mathias får mer enn 2 kills med xm",
|
|
||||||
"Mathias spiller cs2",
|
|
||||||
],
|
|
||||||
"seb": [
|
|
||||||
"Seb kjøper shotgun",
|
|
||||||
"Seb ignorerer strat og løper alene inn på en site",
|
|
||||||
],
|
|
||||||
"kristoffer": [
|
|
||||||
"Kristoffer baiter oss bare for å ninja defuse",
|
|
||||||
"Kristoffer ninja defuser",
|
|
||||||
"Kristoffer caller strat",
|
|
||||||
],
|
|
||||||
"sven": [
|
|
||||||
"Sven spiller CS2",
|
|
||||||
],
|
|
||||||
"randoms": [
|
|
||||||
"Vi får en russer på laget",
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
with open("cells.json") as f:
|
||||||
|
cells = json.load(f)
|
||||||
|
|
||||||
import cv2
|
|
||||||
|
|
||||||
import cv2
|
|
||||||
|
|
||||||
import cv2
|
|
||||||
from PIL import Image, ImageDraw, ImageFont
|
|
||||||
import numpy as np
|
|
||||||
|
|
||||||
def put_text_in_box(image, text, top_left, bottom_right, font_path, font_size=20, color=(0, 0, 0)):
|
def put_text_in_box(image, text, top_left, bottom_right, font_path, font_size=20, color=(0, 0, 0)):
|
||||||
"""
|
"""
|
||||||
@@ -167,7 +76,7 @@ def sample_cells(players: list[str]) -> dict[str, list[str]]:
|
|||||||
for player in players:
|
for player in players:
|
||||||
other_players = players.copy()
|
other_players = players.copy()
|
||||||
other_players.remove(player)
|
other_players.remove(player)
|
||||||
player_space = default_space + [i for player in players for i in cells[player] if player in cells]
|
player_space = default_space + [i for op in other_players for i in cells.get(op, [])]
|
||||||
other_players.append("du")
|
other_players.append("du")
|
||||||
player_space += [s.format(random.choice(other_players)) for s in cells["parameterized"]]
|
player_space += [s.format(random.choice(other_players)) for s in cells["parameterized"]]
|
||||||
|
|
||||||
@@ -211,65 +120,18 @@ def generate_sheet(sample_space: list, image: np.ndarray):
|
|||||||
put_text_in_box(
|
put_text_in_box(
|
||||||
sliced, sample_space.pop(), (i*width+1, j*width+1), ((i+1)*width, (j+1)*width), font_path="/mnt/c/Windows/Fonts/comic.ttf"
|
sliced, sample_space.pop(), (i*width+1, j*width+1), ((i+1)*width, (j+1)*width), font_path="/mnt/c/Windows/Fonts/comic.ttf"
|
||||||
)
|
)
|
||||||
# tile = sliced[i*width:(i+1)*width, j*width: (j+1)*width]
|
|
||||||
# for i in range(0, 5):
|
|
||||||
# for j in range(0, 5):
|
|
||||||
# width = 123
|
|
||||||
# index = random.randint(0, len(patches)-1)
|
|
||||||
# tile = patches.pop(index)
|
|
||||||
# sliced[i*width:(i+1)*width, j*width: (j+1)*width] = tile
|
|
||||||
|
|
||||||
return image
|
return image
|
||||||
|
|
||||||
def clear_sheet(path):
|
|
||||||
image = cv2.imread(path)
|
|
||||||
|
|
||||||
start = 8, 294
|
def main():
|
||||||
end = 625, 910
|
if len(argv) < 2:
|
||||||
|
raise ValueError("You have to supply players separated by a comma. example: python generate_sheets.py player1,player2,player3")
|
||||||
|
|
||||||
sliced = image[295:910, 10:625]
|
players = argv[1]
|
||||||
patches = []
|
players = players.split(",")
|
||||||
|
generate_sheets(players)
|
||||||
# for i in range(0, 5):
|
|
||||||
# for j in range(0, 5):
|
|
||||||
# width = 123
|
|
||||||
# tile = sliced[i*width:(i+1)*width, j*width: (j+1)*width].copy()
|
|
||||||
# patches.append(tile)
|
|
||||||
|
|
||||||
for i in range(0, 5):
|
|
||||||
for j in range(0, 5):
|
|
||||||
width = 123
|
|
||||||
sliced[i*width+i:(i+1)*width, j*width+j: (j+1)*width] = 255
|
|
||||||
|
|
||||||
cv2.imwrite(f"CLEARED_{path}", image)
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
# def generate_sheet(path):
|
main()
|
||||||
# image = cv2.imread(path)
|
|
||||||
|
|
||||||
# start = 8, 294
|
|
||||||
# end = 625, 910
|
|
||||||
|
|
||||||
# sliced = image[295:910, 10:625]
|
|
||||||
# patches = []
|
|
||||||
|
|
||||||
# for i in range(0, 5):
|
|
||||||
# for j in range(0, 5):
|
|
||||||
# width = 123
|
|
||||||
# tile = sliced[i*width:(i+1)*width, j*width: (j+1)*width].copy()
|
|
||||||
# patches.append(tile)
|
|
||||||
|
|
||||||
# for i in range(0, 5):
|
|
||||||
# for j in range(0, 5):
|
|
||||||
# width = 123
|
|
||||||
# index = random.randint(0, len(patches)-1)
|
|
||||||
# tile = patches.pop(index)
|
|
||||||
# sliced[i*width:(i+1)*width, j*width: (j+1)*width] = tile
|
|
||||||
|
|
||||||
# return image
|
|
||||||
|
|
||||||
|
|
||||||
generate_sheets(
|
|
||||||
["markus", "sven"]
|
|
||||||
)
|
|
||||||
Reference in new issue
Block a user