Skip to content

Instantly share code, notes, and snippets.

@phenomist
Created March 26, 2019 05:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save phenomist/4a685de252d6f910862d1657926f30bf to your computer and use it in GitHub Desktop.
Save phenomist/4a685de252d6f910862d1657926f30bf to your computer and use it in GitHub Desktop.
#Hello future readers! These are some hastily written comments written way after the fact.
def stage1(): #I strongly suggest using PyPy or Cython to run this
f = set(open("dict/cleancommon.txt").read().lower().split()) #word lists not included
#g = set(open("dict/nyt.txt").read().lower().split())
#h = f & g
seen = {}
doubleseen = set()
for w in list(f):
if ord('a') <= ord(w[0]) <= ord('z') and len(w) == 6 or len(w) >= 8:
for d in range(len(w)):
w2 = w[:d]+w[d+1:]
for e in range(len(w2)):
g = w2[e:]+w2[:e]
if g not in doubleseen:
if g in seen:
del seen[g]
doubleseen.add(g)
else:
seen[g] = w+"`"
g = g[::-1]
if g not in doubleseen:
if g in seen:
del seen[g]
doubleseen.add(g)
else:
seen[g] = w+"{" #This hack is because { and ` are still "atbash" pairs (in that ord("{")+ord("`") = ord("a")+ord("z") and a way I can keep track of which orientation a word goes.
prevw = "aaaaa"
for s in seen:
at = "".join([chr(219-ord(c)) for c in s]) #don't you love magic numbers?
if at in seen:
if seen[at][-1] != seen[s][-1]:
if seen[at][:-1] != prevw:
print(s, seen[s], at, seen[at])
prevw = seen[at][:-1]
print(len(seen))
#stage1()
def phase2(): #note that some of these hardcoded strings contain 7 letter words. I had wanted to try to add a few 7 pointed stars as well, but there were far too few, and it would have been a glaring inconsistency to include them.
c1 = '''allou allout` zoolf floozy{
badly baldly` yzwob blowzy{
bllot ballot` yoolg gloomy{
bligh blight` yorts oyster{
bowzy blowzy` yldab baldly{
boero bolero` ylvil lively{
bonot bonmot` ylmlg glumly{
booze boozer` yllav valley{
borig boring` ylirt trimly{
bovin bovine` ylerm merely{
riton briton` irglm grimly{
bsing busing` yhrmt rhythm{
bword byword` ydliw wildly{
dimmr dimmer` wrnni winner{
divrs divers` wreih whiner{
enfol enfold` vmulo volume{
ftish fetish` ugrhs gusher{
fixiy fixity` urcrb rubric{
fligt flight` uortg trough{
flooz floozy` uolla allout{
rolic frolic` ilorx prolix{
grish garish` tirhs shrift{
gzebo gazebo` tavyl vastly{
glooy gloomy` tollb ballot{
glmly glumly` tonob bonmot{
grais gratis` tizrh zither{
grive grieve` tirev verity{
griml grimly` tirno briton{
gushr gusher` tfhsi fetish{
hreof hereof` sivlu visual{
hrmes hermes` sinvh vanish{
hmily homily` snrob suborn{
huris hubris` sfirh shrift{
ibosh kibosh` rylhs rashly{
laryn larynx` ozibm zombie{
lning lining` omrmt marmot{
livly lively` oreob bolero{
mlign malign` nortm matron{
mrgin margin` nitrm martin{
mrmot marmot` ninlg lining{
mrtin martin` nigrm margin{
mtron matron` ngilm malign{
mrely merely` nivob bovine{
movig moving` nlert relent{
wlish owlish` dorhs shroud{
oford oxford` luliw wilful{
oystr oyster` lbhgi blight{
pligh plight` korts stroke{
rofit profit` ilurg ruling{
rolix prolix` ilorc frolic{
rshly rashly` ihsob kibosh{
rvish ravish` ierhs relish{
rebue rebuke` ivyfv vivify{
relnt relent` ivomg moving{
reish relish` ivrhs ravish{
rmove remove` inlev snivel{
rtire retire` igriv virgin{
rhytm rhythm` isbgn busing{
rubrc rubric` ifyix fixity{
rulig ruling` ifort profit{
shooi shooin` hsllr shrill{
hovel shovel` slevo shovel{
shrit shrift` hsirg garish{
shrif shrift` hsiru hubris{
shrll shrill` hsioo shooin{
shrod shroud` hsilw owlish{
nivel snivel` mrevo remove{
strok stroke` hgilp plight{
sborn suborn` hylim homily{
smbol symbol` hnylo unholy{
tremr tremor` givni virgin{
trily trimly` girob boring{
troug trough` gilft flight{
nholy unholy` mslob symbol{
vally valley` ezoob boozer{
vnish vanish` emrhs hermes{
vatly vastly` ezgob gazebo{
verit verity` evirg grieve{
vigin virgin` ertrm tremor{
virgi virgin` eritr retire{
visul visual` erhfo hereof{
vivfy vivify` ereub rebuke{
volum volume` elofn enfold{
whier whiner` dsrvi divers{
wildy wildly` drowb byword{
wilul wilful` drofo oxford{
winnr winner` drmmi dimmer{
wzard wizard` daziw wizard{
zithr zither` argsi gratis{
zombi zombie` alnyr larynx{'''.split('\n')
c = '''aalii aaliis` zzorr rozzer{
aftoa aftosa` zuglz guzzle{
guish aguish` tfrhs shrift{
ngler angler` mtovi mikvot{
rtful artful` igufo fugios{
auhor author` zfsli fuzils{
avaar avatar` zezzi zizzle{
zoths azoths` algsh galahs{
azoth azoths` zalgs glazes{
azoti azotic` zalgr glazer{
badly baldly` yzwob blowzy{
bsins basins` yhrmh rhythm{
bknot beknot` ypmlg glumpy{
ezoar bezoar` valzi vizsla{
bifle biflex` yruov dyvour{
bizze bizzes` yraav vagary{
blazr blazer` yozai zoysia{
blightr blighter` yortsgi stroying{
bowzy blowzy` yldab baldly{
bodiy bodily` ylwrb brawly{
bogls bogles` yltoh hostly{
boero bolero` ylvil lively{
bolsh bolshy` ylohs shoaly{
bonir bonier` ylmri firmly{
boole boodle` yllov volley{
booig booing` yllrt trolly{
boozs boozes` yllah chally{
boran borane` ylizm mazily{
borie boride` ylirv verily{
boros borons` ylilh holily{
borch borsch` ylixs sexily{
borzi borzoi` yliar racily{
boghs boughs` yltsh hostly{
bovin bovine` ylerm merely{
bowfi bowfin` yldur rudely{
bowot bowpot` yldlg gladly{
bowww bowwow` ylddd diddly{
boxrs boxers` ylcih chicly{
brwly brawly` yidob bodily{
brazn brazen` yizam mazily{
brird briard` yiriw wirily{
bills brills` yrooh hooray{
boils broils` ylroh hourly{
brols broils` yiloh holily{
buree burgee` yfivv vivify{
burgr burger` yfiti citify{
burgl burgle` yfito notify{
burni burnie` yfimr ramify{
bskin buskin` yhprm murphy{
cvils cavils` xeroh exhort{
hally chally` szoob boozes{
hicly chicly` srxob boxers{
himla chimla` srnoz zoners{
hirps chirps` srikh kirsch{
itify citify` rgrub burger{
cleoe cleome` xovlv volvox{
cldly coldly` xowob oxbows{
colob colobi` xloly xylols{
confrer confrere` xlmuivi lixivium{
ceole creole` xvlov volvox{
croik crojik` xilrp prolix{
dhuis dhutis` wsfrh wharfs{
dddly diddly` wwwob bowwow{
diluvil diluvial` wrofero forswore{
dimrs dimers` wrnih whiner{
dimmr dimmer` wrnni winner{
doggr dogger` wltti wittol{
dlors dolors` wolih whilom{
doofu doofus` wlluf lawful{
doornil doornail` wllimro millwork{
oubly doubly` lfyob flyboy{
dobly doubly` wlyob lowboy{
ovish dovish` lerhs relish{
riegh driegh` irvts verist{
drvel drivel` wievo inwove{
riven driven` irevm verism{
rylot drylot` ibolg globin{
yvour dyvour` belfi biflex{
enfol enfold` vmulo volume{
ephbe ephebe` vksyv skivvy{
rbium erbium` iyrfn frying{
exhor exhort` vcsli cavils{
ftish fetish` ugrhs gusher{
filtr filter` urogi rubigo{
fnish finish` umrhs musher{
fiish finish` urrhs rusher{
firkn firkin` uripm umpire{
irmly firmly` rinob bonier{
fiver fivers` urevi quiver{
fixiy fixity` urcrb rubric{
fzgig fizgig` uatrt tauter{
fligt flight` uortg trough{
flied flited` uorvw vrouws{
floks flocks` uolph plough{
flboy flyboy` uoylb doubly{
flyig flying` uobrt rubout{
fotor foetor` ulgli gluily{
fgbow fogbow` utyld studly{
fobow fogbow` ulyld loudly{
foium folium` ulrfn unfurl{
folum folium` ulofn unfold{
forot forgot` ulilg uglily{
forkr forker` ulipi huipil{
forwore forswore` ulidliv diluvial{
foxiy foxily` ulcrb lubric{
rivol frivol` irelo oriole{
rizzy frizzy` iraab zariba{
fryin frying` uibrm erbium{
fugio fugios` uftrl artful{
fullm fullam` ufoon unroof{
urore furore` filiv vilify{
fzils fuzils` uaroh author{
glahs galahs` tozsh azoths{
gvels gavels` tevoh throve{
gzebo gazebo` tavyl vastly{
ghero gherao` tsvil livest{
ghibl ghibli` tsryo toyers{
ghlls ghylls` tsooh tholos{
gimml gimmal` trnno tonner{
gizms gizmos` tranh thenar{
gldly gladly` towob bowpot{
glazr glazer` tozai azotic{
glazs glazes` tozah azoths{
glbly glibly` toyob potboy{
gitzy glitzy` trgab ratbag{
globi globin` tolyr drylot{
gloomil gloomily` tollnro tornillo{
gluil gluily` tofro foetor{
glmpy glumpy` tonkb beknot{
gnrls gnarls` tmioh mythoi{
goifs gonifs` tlruh thurls{
gorgs gorges` tlith tilths{
grmas gramas` tinzh zenith{
gravs graves` tizeh zither{
griev grieve` tirve verite{
griml grimly` tirno triton{
grinh grinch` tirms merits{
grggy groggy` tittb titbit{
grois groins` tilrh lither{
groos grooms` tillh thalli{
gushr gusher` tfhsi fetish{
guzzl guzzle` tfaao aftosa{
gyras gyrase` tbizh zibeth{
hbile habile` syrov savory{
hllel hallel` soovo ovolos{
hmzas hamzas` snazh hazans{
hrlot harlot` siolg sigloi{
hzans hazans` sazmh hamzas{
haard hazard` szziw wizzes{
hreof hereof` sivlu visual{
higglig higgling` srttort trotters{
highbsh highbush` srtsyhs shysters{
ighly highly` rtsob turbos{
highl highly` srtso torsos{
hilld hilled` sroow wooers{
hilte hilted` srogv vigors{
hirig hiring` srirt triers{
hobob hobnob` slyly xylyls{
hobos hoboes` slylh lushly{
hlily holily` sorob borons{
holiy holily` slorb broils{
holng holing` slomt molest{
hodle hondle` slwov vowels{
hoory hooray` sllib brills{
hstly hostly` shgob boughs{
hotly hostly` slgob bogles{
houri houris` slfir rifles{
horly hourly` sliob broils{
uipil huipil` frkro forker{
hulld hulled` sfoow whoofs{
ullos hullos` foolh loofah{
hulls hullos` sfooh whoofs{
iwove inwove` rdlev drivel{
inove inwove` rmlev marvel{
kgler kegler` ptovi pivots{
kvels kevels` pevoh uphove{
ibosh kibosh` rylhs rashly{
kilms kilims` pronh orphan{
kirsh kirsch` prihs chirps{
kloos kloofs` pollh phyllo{
knowr knower` pmldi limpid{
krill krills` piroo pooris{
lagns lagans` oztmh matzoh{
laigh laighs` ozrts zoster{
lwful lawful` odufo doofus{
lazng lazing` ozamt matzot{
lmpid limpid` onkrw knower{
lithr lither` orgsi groins{
livly lively` oreob bolero{
ivery livery` revib verbid{
livry livery` oreib orbier{
livst livest` orehg gherao{
livng living` oremt merlot{
lxivium lixivium` ocrerfn confrere{
loofh loofah` ollus hullos{
ludly loudly` ofwob fogbow{
lovag lovage` olezt zealot{
lovng loving` olemt merlot{
lwboy lowboy` odylb doubly{
lubrc lubric` ofyix foxily{
lshly lushly` ohsob hoboes{
mlign malign` nortm matron{
mallt mallet` nzoog oozing{
mrgin margin` nitrm martin{
mrtin martin` nigrm margin{
mrvel marvel` nievo inwove{
mtron matron` ngilm malign{
mtzoh matzoh` ngals lagans{
mazot matzot` nzalg lazing{
maard mazard` nzziw wizzen{
mzily mazily` narob borane{
maziy mazily` nzarb brazen{
mrely merely` nivob bovine{
mrits merits` nirgh grinch{
melot merlot` nvolg loving{
merot merlot` nvilg living{
mkvot mikvot` npelg pungle{
mivot mikvot` nrelg angler{
millwor millwork` nroodli doornail{
mistr mister` nrhgi nigher{
molst molest` nlohg holing{
mrbid morbid` niyrw wrying{
movig moving` nlert relent{
mrphy murphy` niksb buskin{
mushr musher` nfhsi finish{
mthoi mythoi` ngslr gnarls{
nighr nigher` mrtsi mister{
otify notify` lgrub burgle{
oglig ogling` ltort trotyl{
oldie oldies` lowrv wolver{
oozng oozing` llamt mallet{
oozig oozing` llart thrall{
obier orbier` lyrvi livery{
orhil orchil` lisro sailor{
riole oriole` irlov frivol{
orphn orphan` liksm kilims{
ovoos ovolos` lellh hallel{
oxbow oxbows` lcyld coldly{
etrol petrol` vgilo voling{
hiltres philtres` srogivh vigorish{
phylr phylar` ksboi skibob{
phllo phyllo` ksool kloofs{
pivot pivots` krelg kegler{
plightr plighter` kortsgi stroking{
plouh plough` kolfs flocks{
poori pooris` kllir krills{
otboy potboy` lgylb glibly{
prlix prolix` kiorc crojik{
pngle pungle` kmtov mikvot{
uiver quiver` frevi fivers{
raily racily` izrob borzoi{
rmify ramify` inrub burnie{
rshly rashly` ihsob kibosh{
rtbag ratbag` igyzt glitzy{
reboy rebody` ivylb viably{
rebue rebuke` ivyfv vivify{
reflm refilm` ivuon vinous{
rglet reglet` itovg voting{
reivd reived` ivrew viewer{
relnt relent` ivomg moving{
relsh relish` ivohs dovish{
reift resift` ivrug vigour{
revvd revved` iveew weevil{
rhbok rhebok` isylp simply{
rhyhm rhythm` isbsn basins{
ribos ribose` irylh richly{
rihly richly` irsob ribose{
ridgs ridges` irwth wright{
ridig riding` irwrt writer{
rifls rifles` iruoh houris{
rozzr rozzer` ilaai aaliis{
ruigo rubigo` ifrtl filter{
rubgo rubigo` ifytl filthy{
rbout rubout` iylfg flying{
rubrc rubric` ifyix fixity{
rudly rudely` ifwob bowfin{
rushr rusher` ifhsi finish{
silor sailor` hroli orchil{
svory savory` helib habile{
crive scrive` xirev vernix{
sxily sexily` hcrob borsch{
hivah shivah` srezs sizers{
shlok shlock` hsolp splosh{
sholy shoaly` hslob bolshy{
shrwd shrewd` hsidw widish{
shrft shrift` hsiug aguish{
shystrs shysters` hsbhgih highbush{
sgloi sigloi` htolr harlot{
siply simply` hrkob rhebok{
szers sizers` havih shivah{
skiob skibob` hprly phylar{
skvvy skivvy` hpeeb ephebe{
ordor sordor` liwli wilily{
sorgh sorgho` hlits tilths{
plosh splosh` kolhs shlock{
strokig stroking` hgilprt plighter{
stroyig stroying` hgilbrt blighter{
tudly studly` gfwob fogbow{
smbol symbol` hnylo unholy{
tautr tauter` gzfgi fizgig{
thlli thalli` gsoor grooms{
thnar thenar` gsmzi gizmos{
thoos tholos` gsllh ghylls{
horpe thorpe` slikv vakils{
trall thrall` gizoo oozing{
thove throve` gslev gavels{
thurl thurls` gsfio gonifs{
tilhs tilths` grosh sorgho{
tilth tilths` grogs gorges{
titbt titbit` grgyg groggy{
tonnr tonner` glmmi gimmal{
tornllo tornillo` glimool gloomily{
trsos torsos` gihlh highly{
toyrs toyers` glbih ghibli{
trirs triers` girih hiring{
rigon trigon` irtlm trimly{
triml trimly` girno trigon{
riton triton` irglm grimly{
trlly trolly` gioob booing{
trottrs trotters` gilggih higgling{
trotl trotyl` gilgo ogling{
trouh trough` gilfs flings{
troug trough` gilft flight{
trbid turbid` giyrw wrying{
trbos turbos` giylh highly{
uglil uglily` ftoro forgot{
umpir umpire` fnkri firkin{
unfol unfold` fmulo folium{
nholy unholy` mslob symbol{
unoof unroof` fmllu fullam{
phove uphove` kslev kevels{
vaary vagary` ezzib bizzes{
vagrm vagrom` eztin zenith{
vkils vakils` eproh thorpe{
vatly vastly` ezgob gazebo{
verbi verbid` eviyr livery{
vrily verily` eirob boride{
verim verism` evirn driven{
vrist verist` eirhg driegh{
vrite verite` eirgv grieve{
verix vernix` evirc scrive{
vibly viably` eryob rebody{
vialy viably` erzob rebozo{
viwer viewer` erdvi reived{
vigorsh vigorish` ertlihs philtres{
vgors vigors` etlih hilted{
vigur vigour` ertfi resift{
vilif vilify` eroru furore{
vinou vinous` ermlf refilm{
visul visual` erhfo hereof{
vvify vivify` eerub burgee{
vivfy vivify` ereub rebuke{
vizla vizsla` eraoz bezoar{
volig voling` elort petrol{
volly volley` eloob boodle{
volum volume` elofn enfold{
vlvox volvox` eoelc cleome{
volvx volvox` eloec creole{
votig voting` elgrt reglet{
vowls vowels` eldoh hondle{
vrouw vrouws` eilfd flited{
weevi weevil` dvver revved{
whrfs wharfs` dsiuh dhutis{
whilo whilom` dsrol dolors{
whinr whiner` dsrmi dimers{
hoofs whoofs` slluh hullos{
woofs whoofs` dlluh hulled{
wdish widish` dwrhs shrewd{
wilil wilily` droro sordor{
winnr winner` drmmi dimmer{
wiriy wirily` drirb briard{
wittl wittol` drggo dogger{
wzard wizard` daziw wizard{
wizzn wizzen` draam mazard{
wizzs wizzes` draah hazard{
wolvr wolver` dloei oldies{
woors wooers` dllih hilled{
wriht wright` dirsg ridges{
writr writer` dirgi riding{
wryig wrying` dibrt turbid{
wryin wrying` dibrm morbid{
xylol xylols` cbolo colobi{
ylyls xylyls` boboh hobnob{
ariba zariba` ziryz frizzy{
zelot zealot` avolg lovage{
znith zenith` amrgs gramas{
zenit zenith` avmrg vagrom{
zibth zibeth` arygs gyrase{
zithe zither` argsv graves{
zizze zizzle` araav avatar{
zonrs zoners` almih chimla{
zostr zoster` alhgi laighs{
zoyia zoysia` albrz blazer{'''.split('\n')
c = c1
d = [set() for i in range(26)]
for i in c:
j = i.split()
k = list(j[1][:-1])
l = list(j[3][:-1])
for c in j[0]:
k.remove(c)
for c in j[2]:
l.remove(c)
d[ord(k[0])-97].add(l[0])
d[ord(l[0])-97].add(k[0])
print(i, k, l)
print([''.join(sorted(list(c))) for c in d])
#phase2()
def phase25(): #first testsolve encounted some minor bugs, because I had mistranscribed the star positions
ret = [] #so I went ahead and programmatically searched for the list, and then compared them to my manually made list
from PIL import Image #There were two errors found, one serious (16 pixels off) enough that it shifted the letter by 1.
im = Image.open("landingpagebg-orig.png")
for i in range(384):
for j in range(384):
if im.getpixel((i*4,j*4))[:3] == (255,255,255):
ret.append((i,j))
return ret
#origstars = phase25()
def phase3():
s = '''1 30,20
2 26,58
3 74,60
4 169,39
5 187,36
6 245,9
7 311,29
8 354,17
9 4,114
10 23,160
11 55,139
12 98,101
13 102,126
14 98,140
15 99,183
16 50,190
17 12,221
18 37,227
19 91,222
20 116,234
21 43,255
22 96,249
23 136,244
24 159,243
25 158,244
26 158,245
27 150,260
28 120,264
29 50,289
30 12,334
57,379
98,338
146,304
174,302
176,281
182,279
218,299
229,345
292,299
309,313
313,374
375,324
346,293
376,288
371,277
380,234
328,230
323,219
310,229
305,234
270,258
263,249
256,253
248,261
190,245
241,226
254,220
278,214
327,198
356,199
184,209
173,193
169,195
139,167
131,152
142,129
154,98
168,129
173,129
173,130
190,135
207,110
210,137
235,188
264,164
285,185
343,164
287,144
262,127
311,109
324,111
340,65
295,83
270,77
263,85
294,93'''.split('\n')
from PIL import Image, ImageDraw
import numpy as np
import random
random.seed(31415926535) #Just a fixed seed so that I wouldn't have to keep producing images. Pi in the sky?
im = Image.open("observatory_wind.png")
#im = Image.new("RGB",(1536,1536))
draw = ImageDraw.Draw(im)
s = [tuple(4*int(a) for a in q.split('\t')[-1].split(',')) for q in s]
#This was used to produce solutions. I think it still draws out the solution graphics.
stars = ["irmly" ,"vgors" ,"lyvat" ,"tflig" ,"hlive" ,"shlyr" ,"ylyls" ,"hstsg" ,"gruli"]
starpos = [(1,67,2,4,13),(5,73,12,85,64),(6,83,72,7,79),(84,59,74,77,58),(76,46,37,60,40),(55,39,33,56,38),(19,34,29,23,32),(11,20,17,15,21),(9,14,10,3,16)]
colors = [(255,0,0),(255,170,0),(170,255,0),(0,255,0),(0,255,170),(0,170,255),(0,0,255),(170,0,255),(255,0,170)]
#colors = [(255,252,252),(254,253,252),(253,254,252),(252,255,252),(252,254,253),(252,253,254),(252,252,255),(253,252,254),(254,252,253)]
#colors = [(255,204,204),(238,221,204),(221,238,204),(204,255,204),(204,238,221),(204,221,238),(204,204,255),(221,204,238),(238,204,221)]
fixstarset = set(range(1,87))
for c in starpos:
for d in c:
fixstarset.remove(d)
draw.rectangle([(s[d-1][0],s[d-1][1]), (s[d-1][0]+3,s[d-1][1]+3)],(255,255,255),(255,255,255)) #You also don't need this line
for i in list(fixstarset):
draw.rectangle([s[i-1], (s[i-1][0]+3,s[i-1][1]+3)],(64,64,64),(64,64,64)) #And this is the fixed stars, post-fading.
for i in range(9):
r = random.randint(0,4)
print(stars[i][r:]+stars[i][:r])
for j in range(5):
letter = stars[i][(r+j)%5]
lc = ord(letter)-96
for lc in range(lc,lc+1):
draw.line([s[starpos[i][j-1]-1][0]+1.5,s[starpos[i][j-1]-1][1]+1.5,s[starpos[i][j]-1][0]+1.5,s[starpos[i][j]-1][1]+1.5],colors[i]) #You don't need this line when drawing the original graphic
xc = s[starpos[i][j-1]-1][0]*(27-lc)/27 + s[starpos[i][j]-1][0]*lc/27 + 0.5
yc = s[starpos[i][j-1]-1][1]*(27-lc)/27 + s[starpos[i][j]-1][1]*lc/27 + 0.5
draw.rectangle([(xc,yc),(xc+3,yc+3)],colors[i],colors[i])
if lc == 0 or lc == 27:
draw.rectangle([(xc,yc),(xc+3,yc+3)],(255,255,0),(255,255,0))
im.save("landingpagebg.png")
phase3() #Yes, you change which phase to run by changing this line.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment