Giving image representation a top and left border

plus some other minor visual cleanups to web game.
This commit is contained in:
Dan Buch 2012-12-19 00:23:22 -05:00
parent 45c45bb838
commit 142c802a70
4 changed files with 46 additions and 24 deletions

View File

@ -178,7 +178,8 @@ func (state *GameState) String() string {
} }
func (state *GameState) Image(xMult, yMult int) (*image.Gray, error) { func (state *GameState) Image(xMult, yMult int) (*image.Gray, error) {
img := image.NewGray(image.Rect(0, 0, state.Height()*xMult, state.Width()*yMult)) img := image.NewGray(image.Rect(0, 0,
(state.Height()*xMult)+1, (state.Width()*yMult)+1))
draw.Draw(img, img.Bounds(), &image.Uniform{color.Gray16{0xff}}, draw.Draw(img, img.Bounds(), &image.Uniform{color.Gray16{0xff}},
image.ZP, draw.Src) image.ZP, draw.Src)
@ -196,8 +197,8 @@ func (state *GameState) Image(xMult, yMult int) (*image.Gray, error) {
color = black color = black
} }
square := image.Rect(cell.X*xMult, cell.Y*yMult, square := image.Rect((cell.X*xMult)+1, (cell.Y*yMult)+1,
(cell.X*xMult)+xMult-1, (cell.Y*yMult)+yMult-1) (cell.X*xMult)+xMult, (cell.Y*yMult)+yMult)
draw.Draw(img, square, color, image.ZP, draw.Src) draw.Draw(img, square, color, image.ZP, draw.Src)
} }

View File

@ -3,4 +3,6 @@ set -e
cd web_assets cd web_assets
go build -x . go build -x .
./web_assets index.html | gofmt > ../web_assets.go ./web_assets index.html > _tmp.go
gofmt < _tmp.go > ../web_assets.go
rm -vf _tmp.go

View File

@ -1,20 +1,22 @@
// WARNING: GENERATED FILE, NERDS! 2012-12-19 00:05:27.733288 -0500 EST // WARNING: GENERATED FILE, NERDS! 2012-12-19 00:21:18.395802 -0500 EST
package conway package conway
const ( const (
GAME_OF_LIFE_INDEX_HTML = ` GAME_OF_LIFE_INDEX_HTML = `
H4sIAAAJbogC/5RV32/TMBB+319xhEpJRZRsCHhY074MBENom7YiwRPy0mvqzrEz+zIoU/93nDhJ H4sIAAAJbogC/5RV3W7rNgy+P0/BuQHsYD52UpwNSOLkphu2DkNbtBmwXQ2qzThKZcmV5LZZkXef
k+6HWB7S+Hz+7vvuztfk1cfzk/nPi0+wolzMDhL3A5CskC2qD/tJnATOTpT8zTa+gc8sR1BL+MaX 5P84bXGaC8fmz0fyI0VFP/xyfbH+5+ZX2OqMrb5E1R9AtEWS2BfzqqlmuLoQ/JnsXQW/kQxBbOBP
mMRu0zkKLm+ANgVOPcI/FKfGeKBRTD1DG4FmhUgerDQup15siBFPY6l0zgT/i1HtHTdQJtW8oD7Y usEorJSVIaP8AfQ+x6Wj8UWHsVIOSGRLR+k9Q7VF1A5sJW6WTqg00TQOuZAZYfQ/DErrsIZSsaS5
mt0xZ/XA6HSHsL4tUW+inMtobbxZEjuv/wFyPgBpqa8sGMIU7reTnfE0z6zJ8yYHjW1ZypS4klCo 7oPtyBOppA4oGXcIu8cC5T7IKA92yllFYWX1PUCVDUBcyDsDhrCE18OiE15mqRE5zuJLLdsUPNZU
ohT2xKnkxJmoTwdjuG/8AEZRhvT16vws8Gui6IcWOwQlL5qjl2gKJQ2O24DbB1EyNVdnlrODr2FC cMhFXjDjccmppoSV3t4YXms7gFGQov7j7vrKc8tE0fUNtg+C39Sut6hywRWOm4CHkyipWIsrk3MF
EEoVw0iFMhR0a4AuYs9WUYkMaS4zvtwE9+YYaidLSZZChPB23HdvKQQLRiwEakiUJoT17Y8vl30C X8L4wITIjyPlQmmv/QZoI/ZkNpVAaUl5Sjd771XNoTQyKfGCMR/Ox33zJgUvIZr4oOskCuXD7vHv
1XPHtMOz+Xoo8UmUyQCELyHYV+cegzTnOaqSgo6Z9XomQROwyt4fHu6F2PZW275gf22U9DvDM0V5 32/7CdjfE5EVnuHrtMR3URZHIHQD3rC66qdQr2mGotBem5mx+oCgBZjKfppMBiEOva9Dv2B3pwR3
gbxBlewuykXQ9loI1anI9Ah2HVfv8N1Gld1Rrc7tjwL/db38xfPM7yFUGewcI4EyoxUkcDTM6B5U W8EHTflEeUddMlrkidfMmg/WK1C9BNuJKzW0U1h2R2V1lX7kuWfl5780S90egmWwNQwY8lRvIYLp
YkGAL6pb2kBW99AfR6woLOO5CnbxUiWJcYnaH/fC7rK6C86IdODbm2ob368EHfOcZRgXMptcM4Mf MaMDqMiAAE3sKa0h7Tl0xwHJc5PxWnhdvFhwTShH6Y57YTtWu+BEa+m55qSawXdtQXOakRTDnKeL
3oU+vAGUqVrg98vTwInuw2qkUssmTw8KMhq0Qnfo8Zu5A3VasLD6UsHTm+caqq1V1U17EIWww/AF e6Lw52++Cz8C8lgk+NftpVcV3YeVqAvJa55OGjI6GoXW6e2T2YFWtWBu6osZjR8+GqimV3aaBhA5
ELY9dDkEar/6EyuJ28GbXKvFphliq6Onxq/dcS4LflfXsCqQVsJ0sy25Lols27oCY+HNruw7iZ35 M8vwExBmPGRxDNS8DTeW3ZXDNdpsqnuR7HvFWv1Xsz5TPocYuUZ5QtNZ27KeX0ZkSo3PBEihRVfZ
Ma9Kmje7sO+hVxLbIC0j3Y3qNvJeg3h7hyxWLchyrv9j/gUAAP//YWhpiHsGAAA=` M030dg7Tyfm3/OUUajADJ4BftcjncD7tfE0/SJKYpVOpZn3NvZAJykphXEAJRhM4m81mXeSaH0tJ
eS2Fzb0UWSZqxhL6VM5vm1hLV7SdvndxGU1j1PeXgnVs2zCF1ubQW7VtubO6Mc8orMRv29npclZ3
5jm0i0IT6iTsgFXnDev21SCWdZv8y5v6/wAAAP//pBp7OsEHAAA=`
NORMALIZE_CSS = ` NORMALIZE_CSS = `
H4sIAAAJbogC/7xY3Y/bxhF/11+xuSCofRV1OjnXODzkwXVi1KiDFLGLFrga4JJciluRu8zuUjq5 H4sIAAAJbogC/7xY3Y/bxhF/11+xuSCofRV1OjnXODzkwXVi1KiDFLGLFrga4JJciluRu8zuUjq5
zf/emf2gSIon94CT7Qfq9mO+5zcze3X5FRFS1bTin9gi05psV4vl4pr8l/z89gN5xzMmNIO/1tws zf/emf2gSIon94CT7Qfq9mO+5zcze3X5FRFS1bTin9gi05psV4vl4pr8l/z89gN5xzMmNIO/1tws

View File

@ -43,15 +43,32 @@
$('#play').click(function() { goToNextState(curState, true); }); $('#play').click(function() { goToNextState(curState, true); });
}); });
</script> </script>
<style type="text/css">
body {
text-align: center;
}
#container {
margin: 0 auto;
width: 1024px;
}
#state_container {
margin-top: 21px;
padding-top: 9px;
border-top: 1px solid #999;
}
</style>
</head> </head>
<body> <body>
<div id="container">
<h1>Conway's Game of Life</h1> <h1>Conway's Game of Life</h1>
<div id="controls"> <div id="controls">
<button id="step">Step</button>
<button id="play">Play</button> <button id="play">Play</button>
<button id="step">Step</button>
</div> </div>
<hr />
<div id="state_container"> <div id="state_container">
</div> </div>
</div>
</body> </body>
</html> </html>