Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!--Save as html file-->
- <html>
- <head>
- <link rel="icon"
- type="image/png"
- href="favicon.png">
- <title>flickgame.org</title>
- <style>
- #header h1 {
- padding:0;
- margin:0;
- line-height: 40px;
- }
- #header {
- position:absolute;
- left:0px;
- right:0px;
- top:0px;
- height:40px;
- background-color: black;
- color:white;
- text-align: center;
- padding: 0px;
- margin:0px;
- border:0px;
- }
- a {
- color:white;
- }
- #content {
- position: absolute;
- top:40px;
- bottom:30px;
- left:0px;
- right:0px;
- background-color: white;
- text-align: center;
- padding:0;
- margin:0;
- }
- #content canvas {
- top:0;
- bottom:0;
- left:0;
- right:0;
- padding: 0;
- margin:0;
- }
- #hackLink {
- position: absolute;
- right:10px;
- float: right;
- }
- #homelink {
- float: center;
- }
- #footer {
- position:absolute;
- left:0px;
- right:0px;
- bottom:0px;
- height:30px;
- margin:0;
- padding:0;
- background-color: black;
- color:white;
- text-align: center;
- padding: 0;
- line-height: 30px;
- }
- </style>
- <script>
- <!--__EmbedBegin__-->
- var embeddedDat="%7B%22gameLink%22:%22www.flickgame.org%22,%22canvasses%22:%5B%5B65,%220%22,12,%22f%22,5,%220%22,7,%22f%22,3,%220%22,9,%22f%22,6,%220%22,53,%22f%22,64,%220%22,12,%22f%22,4,%220%22,8,%22f%22,3,%220%22,8,%22f%22,9,%220%22,52,%22f%22,63,%220%22,13,%22f%22,3,%220%22,9,%22f%22,3,%220%22,6,%22f%22,11,%220%22,52,%22f%22,62,%220%22,13,%22f%22,3,%220%22,9,%22f%22,3,%220%22,5,%22f%22,6,%220%22,5,%22f%22,3,%220%22,51,%22f%22,61,%220%22,14,%22f%22,3,%220%22,9,%22f%22,3,%220%22,4,%22f%22,5,%220%22,7,%22f%22,3,%220%22,51,%22f%22,60,%220%22,14,%22f%22,3,%220%22,9,%22f%22,3,%220%22,4,%22f%22,4,%220%22,10,%22f%22,3,%220%22,50,%22f%22,59,%220%22,14,%22f%22,3,%220%22,9,%22f%22,3,%220%22,5,%22f%22,3,%220%22,11,%22f%22,3,%220%22,8,%22f%22,1,%220%22,41,%22f%22,58,%220%22,14,%22f%22,6,%220%22,7,%22f%22,3,%220%22,4,%22f%22,3,%220%22,12,%22f%22,3,%220%22,7,%22f%22,3,%220%22,40,%22f%22,57,%220%22,14,%22f%22,8,%220%22,4,%22f%22,4,%220%22,5,%22f%22,3,%220%22,12,%22f%22,3,%220%22,6,%22f%22,4,%220%22,40,%22f%22,56,%220%22,14,%22f%22,3,%220%22,1,%22f%22,6,%220%22,2,%22f%22,4,%220%22,5,%22f%22,3,%220%22,13,%22f%22,3,%220%22,5,%22f%22,5,%220%22,9,%22f%22,1,%220%22,30,%22f%22,55,%220%22,13,%22f%22,4,%220%22,6,%22f%22,7,%220%22,5,%22f%22,3,%220%22,14,%22f%22,3,%220%22,4,%22f%22,6,%220%22,6,%22f%22,5,%220%22,6,%22f%22,2,%220%22,21,%22f%22,54,%220%22,13,%22f%22,4,%220%22,8,%22f%22,4,%220%22,6,%22f%22,3,%220%22,15,%22f%22,3,%220%22,3,%22f%22,7,%220%22,4,%22f%22,7,%220%22,5,%22f%22,4,%220%22,20,%22f%22,53,%220%22,12,%22f%22,5,%220%22,10,%22f%22,3,%220%22,6,%22f%22,3,%220%22,14,%22f%22,3,%220%22,3,%22f%22,4,%220%22,1,%22f%22,3,%220%22,3,%22f%22,8,%220%22,4,%22f%22,6,%220%22,19,%22f%22,52,%220%22,12,%22f%22,4,%220%22,11,%22f%22,3,%220%22,6,%22f%22,3,%220%22,15,%22f%22,3,%220%22,2,%22f%22,4,%220%22,2,%22f%22,3,%220%22,1,%22f%22,5,%220%22,1,%22f%22,3,%220%22,5,%22f%22,3,%220%22,1,%22f%22,3,%220%22,18,%22f%22,51,%220%22,12,%22f%22,4,%220%22,10,%22f%22,4,%220%22,7,%22f%22,3,%220%22,14,%22f%22,3,%220%22,2,%22f%22,3,%220%22,4,%22f%22,7,%220%22,3,%22f%22,3,%220%22,4,%22f%22,3,%220%22,3,%22f%22,3,%220%22,17,%22f%22,50,%220%22,14,%22f%22,1,%220%22,9,%22f%22,6,%220%22,8,%22f%22,3,%220%22,14,%22f%22,3,%220%22,1,%22f%22,3,%220%22,5,%22f%22,6,%220%22,4,%22f%22,3,%220%22,3,%22f%22,3,%220%22,5,%22f%22,3,%220%22,16,%22f%22,49,%220%22,24,%22f%22,6,%220%22,8,%22f%22,3,%220%22,14,%22f%22,4,%220%22,1,%22f%22,3,%220%22,5,%22f%22,4,%220%22,6,%22f%22,3,%220%22,3,%22f%22,3,%220%22,6,%22f%22,4,%220%22,14,%22f%22,48,%220%22,26,%22f%22,3,%220%22,10,%22f%22,3,%220%22,13,%22f%22,4,%220%22,1,%22f%22,3,%220%22,7,%22f%22,2,%220%22,6,%22f%22,3,%220%22,3,%22f%22,3,%220%22,8,%22f%22,4,%220%22,2,%22f%22,1,%220%22,10,%22f%22,47,%220%22,40,%22f%22,3,%220%22,12,%22f%22,3,%220%22,3,%22f%22,3,%220%22,15,%22f%22,3,%220%22,3,%22f%22,3,%220%22,9,%22f%22,2,%220%22,2,%22f%22,3,%220%22,9,%22f%22,46,%220%22,40,%22f%22,3,%220%22,11,%22f%22,4,%220%22,4,%22f%22,3,%220%22,14,%22f%22,3,%220%22,4,%22f%22,3,%220%22,13,%22f%22,3,%220%22,9,%22f%22,45,%220%22,41,%22f%22,3,%220%22,2,%22f%22,1,%220%22,6,%22f%22,5,%220%22,4,%22f%22,3,%220%22,14,%22f%22,3,%220%22,5,%22f%22,3,%220%22,13,%22f%22,3,%220%22,9,%22f%22,44,%220%22,43,%22f%22,1,%220%22,2,%22f%22,12,%220%22,5,%22f%22,3,%220%22,14,%22f%22,3,%220%22,4,%22f%22,3,%220%22,14,%22f%22,3,%220%22,9,%22f%22,43,%220%22,47,%22f%22,10,%220%22,6,%22f%22,3,%220%22,14,%22f%22,3,%220%22,4,%22f%22,4,%220%22,13,%22f%22,3,%220%22,10,%22f%22,42,%220%22,49,%22f%22,7,%220%22,7,%22f%22,3,%220%22,14,%22f%22,3,%220%22,5,%22f%22,3,%220%22,14,%22f%22,3,%220%22,10,%22f%22,41,%220%22,64,%22f%22,3,%220%22,14,%22f%22,3,%220%22,4,%22f%22,3,%220%22,15,%22f%22,3,%220%22,10,%22f%22,40,%220%22,64,%22f%22,3,%220%22,14,%22f%22,3,%220%22,5,%22f%22,4,%220%22,13,%22f%22,3,%220%22,11,%22f%22,39,%220%22,64,%22f%22,3,%220%22,14,%22f%22,3,%220%22,5,%22f%22,6,%220%22,12,%22f%22,3,%220%22,11,%22f%22,38,%220%22,64,%22f%22,3,%220%22,15,%22f%22,3,%220%22,4,%22f%22,3,%220%22,1,%22f%22,3,%220%22,11,%22f%22,3,%220%22,12,%22f%22,37,%220%22,64,%22f%22,4,%220%22,14,%22f%22,3,%220%22,4,%22f%22,3,%220%22,3,%22f%22,3,%220%22,10,%22f%22,3,%220%22,12,%22f%22,36,%220%22,66,%22f%22,2,%220%22,15,%22f%22,3,%220%22,4,%22f%22,3,%220%22,4,%22f%22,3,%220%22,9,%22f%22,3,%220%22,3,%22f%22,3,%220%22,6,%22f%22,35,%220%22,84,%22f%22,3,%220%22,3,%22f%22,3,%220%22,5,%22f%22,4,%220%22,7,%22f%22,3,%220%22,3,%22f%22,5,%220%22,5,%22f%22,34,%220%22,85,%22f%22,3,%220%22,2,%22f%22,3,%220%22,7,%22f%22,2,%220%22,8,%22f%22,3,%220%22,2,%22f%22,6,%220%22,5,%22f%22,33,%220%22,85,%22f%22,3,%220%22,2,%22f%22,3,%220%22,17,%22f%22,12,%220%22,5,%22f%22,32,%220%22,86,%22f%22,3,%220%22,2,%22f%22,4,%220%22,15,%22f%22,9,%220%22,1,%22f%22,3,%220%22,5,%22f%22,31,%220%22,86,%22f%22,4,%220%22,2,%22f%22,5,%220%22,14,%22f%22,7,%220%22,3,%22f%22,3,%220%22,5,%22f%22,30,%220%22,88,%22f%22,2,%220%22,4,%22f%22,6,%220%22,12,%22f%22,6,%220%22,4,%22f%22,3,%220%22,5,%22f%22,29,%220%22,98,%22f%22,5,%220%22,9,%22f%22,6,%220%22,5,%22f%22,3,%220%22,5,%22f%22,28,%220%22,100,%22f%22,5,%220%22,8,%22f%22,6,%220%22,5,%22f%22,3,%220%22,5,%22f%22,27,%220%22,103,%22f%22,4,%220%22,7,%22f%22,5,%220%22,6,%22f%22,3,%220%22,5,%22f%22,26,%220%22,106,%22f%22,3,%220%22,6,%22f%22,4,%220%22,7,%22f%22,3,%220%22,4,%22f%22,26,%220%22,107,%22f%22,3,%220%22,5,%22f%22,5,%220%22,7,%22f%22,3,%220%22,3,%22f%22,26,%220%22,109,%22f%22,3,%220%22,4,%22f%22,4,%220%22,8,%22f%22,3,%220%22,3,%22f%22,26,%220%22,110,%22f%22,1,%220%22,6,%22f%22,2,%220%22,9,%22f%22,3,%220%22,2,%22f%22,26,%220%22,129,%22f%22,3,%220%22,1,%22f%22,3,%220%22,1,%22f%22,22,%220%22,130,%22f%22,6,%220%22,2,%22f%22,21,%220%22,131,%22f%22,5,%220%22,3,%22f%22,20,%220%22,132,%22f%22,4,%220%22,4,%22f%22,19,%220%22,133,%22f%22,3,%220%22,5,%22f%22,18,%220%22,135,%22f%22,1,%220%22,6,%22f%22,17,%220%22,143,%22f%22,16,%220%22,144,%22f%22,15,%220%22,145,%22f%22,14,%220%22,146,%22f%22,14,%220%22,146,%22f%22,13,%220%22,147,%22f%22,12,%220%22,148,%22f%22,11,%220%22,149,%22f%22,10,%220%22,150,%22f%22,9,%220%22,151,%22f%22,8,%220%22,152,%22f%22,7,%220%22,153,%22f%22,6,%220%22,154,%22f%22,5,%220%22,155,%22f%22,4,%220%22,156,%22f%22,3,%220%22,157,%22f%22,3,%220%22,157,%22f%22,2,%220%22,158,%22f%22,1,%220%22,5279,%22f%22%5D,%5B1,%22f%22,13,%22e%22,77,%22f%22,6,%220%22,65,%22f%22,13,%22e%22,75,%22f%22,8,%220%22,64,%22f%22,14,%22e%22,74,%22f%22,9,%220%22,64,%22f%22,15,%22e%22,72,%22f%22,10,%220%22,64,%22f%22,15,%22e%22,71,%22f%22,11,%220%22,64,%22f%22,16,%22e%22,69,%22f%22,12,%220%22,65,%22f%22,15,%22e%22,69,%22f%22,13,%220%22,65,%22f%22,15,%22e%22,69,%22f%22,13,%220%22,64,%22f%22,15,%22e%22,69,%22f%22,14,%220%22,62,%22f%22,16,%22e%22,69,%22f%22,15,%220%22,60,%22f%22,16,%22e%22,70,%22f%22,15,%220%22,60,%22f%22,16,%22e%22,70,%22f%22,15,%220%22,61,%22f%22,14,%22e%22,71,%22f%22,15,%220%22,60,%22f%22,15,%22e%22,72,%22f%22,15,%220%22,59,%22f%22,14,%22e%22,74,%22f%22,14,%220%22,59,%22f%22,14,%22e%22,75,%22f%22,13,%220%22,58,%22f%22,14,%22e%22,77,%22f%22,12,%220%22,58,%22f%22,15,%22e%22,76,%22f%22,12,%220%22,57,%22f%22,17,%22e%22,75,%22f%22,13,%220%22,56,%22f%22,19,%22e%22,72,%22f%22,14,%220%22,56,%22f%22,20,%22e%22,69,%22f%22,16,%220%22,55,%22f%22,22,%22e%22,66,%22f%22,19,%220%22,54,%22f%22,22,%22e%22,64,%22f%22,22,%220%22,53,%22f%22,21,%22e%22,64,%22f%22,24,%220%22,52,%22f%22,21,%22e%22,62,%22f%22,27,%220%22,51,%22f%22,21,%22e%22,61,%22f%22,10,%220%22,3,%22f%22,15,%220%22,53,%22f%22,20,%22e%22,58,%22f%22,9,%220%22,6,%22f%22,17,%220%22,51,%22f%22,20,%22e%22,57,%22f%22,9,%220%22,7,%22f%22,18,%220%22,50,%22f%22,19,%22e%22,55,%22f%22,10,%220%22,10,%22f%22,18,%220%22,50,%22f%22,18,%22e%22,53,%22f%22,11,%220%22,12,%22f%22,19,%220%22,48,%22f%22,18,%22e%22,51,%22f%22,11,%220%22,15,%22f%22,18,%220%22,48,%22f%22,19,%22e%22,49,%22f%22,11,%220%22,17,%22f%22,17,%220%22,52,%22f%22,16,%22e%22,46,%22f%22,11,%220%22,19,%22f%22,16,%220%22,53,%22f%22,16,%22e%22,45,%22f%22,10,%220%22,23,%22f%22,13,%220%22,54,%22f%22,17,%22e%22,42,%22f%22,10,%220%22,26,%22f%22,11,%220%22,56,%22f%22,17,%22e%22,38,%22f%22,11,%220%22,29,%22f%22,9,%220%22,58,%22f%22,16,%22e%22,36,%22f%22,11,%220%22,32,%22f%22,7,%220%22,59,%22f%22,16,%22e%22,34,%22f%22,12,%220%22,33,%22f%22,5,%220%22,61,%22f%22,16,%22e%22,32,%22f%22,12,%220%22,101,%22f%22,15,%22e%22,32,%22f%22,11,%220%22,103,%22f%22,15,%22e%22,30,%22f%22,11,%220%22,105,%22f%22,14,%22e%22,29,%22f%22,11,%220%22,107,%22f%22,16,%22e%22,25,%22f%22,10,%220%22,109,%22f%22,18,%22e%22,22,%22f%22,11,%220%22,110,%22f%22,18,%22e%22,21,%22f%22,10,%220%22,114,%22f%22,16,%22e%22,19,%22f%22,10,%220%22,116,%22f%22,16,%22e%22,16,%22f%22,11,%220%22,118,%22f%22,14,%22e%22,2,%22c%22,14,%22f%22,11,%220%22,119,%22f%22,13,%22e%22,4,%22c%22,12,%22f%22,12,%220%22,120,%22f%22,11,%22e%22,5,%22c%22,11,%22f%22,13,%220%22,122,%22f%22,6,%22e%22,9,%22c%22,9,%22f%22,13,%220%22,124,%22f%22,5,%22e%22,9,%22c%22,8,%22f%22,12,%220%22,127,%22f%22,3,%22e%22,11,%22c%22,6,%22f%22,12,%220%22,129,%22f%22,1,%22e%22,13,%22c%22,4,%22f%22,11,%220%22,131,%22f%22,14,%22c%22,1,%22f%22,13,%220%22,133,%22f%22,13,%22c%22,13,%220%22,138,%22f%22,6,%22c%22,2,%220%22,1,%22c%22,13,%220%22,141,%22f%22,3,%22c%22,15,%220%22,147,%22f%22,12,%220%22,149,%22f%22,10,%220%22,151,%22f%22,7,%220%22,6318,%22f%22%5D,%5B1,%220%22,1,%221%22,10,%220%22,1,%221%22,1,%220%22,6,%221%22,24,%220%22,1,%221%22,116,%220%22,1,%221%22,10,%220%22,2,%221%22,4,%220%22,2,%221%22,2,%220%22,11,%221%22,6,%220%22,1,%221%22,4,%220%22,3,%221%22,114,%220%22,1,%221%22,10,%220%22,1,%221%22,4,%220%22,3,%221%22,5,%220%22,1,%221%22,9,%220%22,5,%221%22,4,%220%22,1,%221%22,2,%220%22,3,%221%22,15,%220%22,4,%22f%22,92,%220%22,1,%221%22,10,%220%22,5,%221%22,2,%220%22,1,%221%22,5,%220%22,1,%221%22,9,%220%22,1,%221%22,8,%220%22,1,%221%22,3,%220%22,2,%221%22,13,%220%22,7,%22f%22,91,%220%22,1,%221%22,10,%220%22,1,%221%22,6,%220%22,1,%221%22,5,%220%22,1,%221%22,9,%220%22,5,%221%22,4,%220%22,4,%221%22,13,%220%22,10,%22f%22,90,%220%22,1,%221%22,10,%220%22,1,%221%22,6,%220%22,1,%221%22,5,%220%22,1,%221%22,9,%220%22,1,%221%22,8,%220%22,1,%221%22,3,%220%22,1,%221%22,8,%220%22,16,%22f%22,88,%220%22,8,%221%22,3,%220%22,1,%221%22,6,%220%22,1,%221%22,5,%220%22,1,%221%22,9,%220%22,5,%221%22,4,%220%22,1,%221%22,4,%220%22,1,%221%22,1,%220%22,1,%221%22,1,%220%22,1,%221%22,1,%220%22,20,%22f%22,97,%220%22,1,%221%22,6,%220%22,1,%221%22,5,%220%22,1,%221%22,28,%220%22,23,%22f%22,137,%220%22,24,%22f%22,134,%220%22,19,%22f%22,3,%220%22,5,%22f%22,132,%220%22,18,%22f%22,3,%220%22,7,%22f%22,130,%220%22,18,%22f%22,2,%220%22,2,%22f%22,1,%220%22,8,%22f%22,127,%220%22,19,%22f%22,1,%220%22,4,%22f%22,6,%220%22,4,%22f%22,124,%220%22,19,%22f%22,3,%220%22,9,%22f%22,1,%220%22,4,%22f%22,122,%220%22,23,%22f%22,1,%220%22,10,%22f%22,1,%220%22,4,%22f%22,118,%220%22,17,%22f%22,2,%220%22,7,%22f%22,3,%220%22,8,%22f%22,1,%220%22,5,%22f%22,115,%220%22,20,%22f%22,5,%220%22,3,%22f%22,2,%220%22,9,%22f%22,1,%220%22,6,%22f%22,112,%220%22,12,%22f%22,4,%220%22,7,%22f%22,1,%220%22,3,%22f%22,2,%220%22,3,%22f%22,1,%220%22,8,%22f%22,1,%220%22,6,%22f%22,111,%220%22,13,%22f%22,1,%220%22,3,%22f%22,2,%220%22,5,%22f%22,1,%220%22,4,%22f%22,1,%220%22,4,%22f%22,1,%220%22,2,%22f%22,1,%220%22,4,%22f%22,1,%220%22,7,%22f%22,109,%220%22,14,%22f%22,1,%220%22,5,%22f%22,2,%220%22,3,%22f%22,1,%220%22,4,%22f%22,1,%220%22,5,%22f%22,3,%220%22,1,%22f%22,3,%220%22,10,%22f%22,106,%220%22,15,%22f%22,1,%220%22,7,%22f%22,1,%220%22,3,%22f%22,1,%220%22,3,%22f%22,1,%220%22,6,%22f%22,2,%220%22,1,%22f%22,1,%220%22,14,%22f%22,103,%220%22,16,%22f%22,1,%220%22,7,%22f%22,2,%220%22,3,%22f%22,2,%220%22,1,%22f%22,1,%220%22,26,%22f%22,99,%220%22,9,%22f%22,7,%220%22,3,%22f%22,1,%220%22,3,%22f%22,3,%220%22,1,%22f%22,1,%220%22,4,%22f%22,3,%220%22,29,%22f%22,94,%220%22,11,%22f%22,1,%220%22,5,%22f%22,1,%220%22,3,%22f%22,1,%220%22,2,%22f%22,1,%220%22,4,%22f%22,1,%220%22,38,%22f%22,91,%220%22,12,%22f%22,2,%220%22,4,%22f%22,1,%220%22,4,%22f%22,2,%220%22,5,%22f%22,1,%220%22,40,%22f%22,88,%220%22,14,%22f%22,1,%220%22,2,%22f%22,2,%220%22,5,%22f%22,2,%220%22,6,%22f%22,1,%220%22,41,%22f%22,85,%220%22,6,%22f%22,4,%220%22,5,%22f%22,1,%220%22,1,%22f%22,4,%220%22,4,%22f%22,1,%220%22,50,%22f%22,84,%220%22,6,%22f%22,1,%220%22,4,%22f%22,3,%220%22,2,%22f%22,1,%220%22,4,%22f%22,2,%220%22,3,%22f%22,1,%220%22,35,%22f%22,1,%220%22,14,%22f%22,83,%220%22,5,%22f%22,1,%220%22,4,%22f%22,2,%220%22,1,%22f%22,1,%220%22,2,%22f%22,1,%220%22,6,%22f%22,2,%220%22,1,%22f%22,2,%220%22,34,%22f%22,3,%220%22,13,%22f%22,82,%220%22,5,%22f%22,1,%220%22,2,%22f%22,2,%220%22,3,%22f%22,1,%220%22,3,%22f%22,1,%220%22,6,%22f%22,1,%220%22,39,%22f%22,3,%220%22,11,%22f%22,82,%220%22,4,%22f%22,2,%220%22,1,%22f%22,1,%220%22,4,%22f%22,2,%220%22,4,%22f%22,2,%220%22,44,%22f%22,1,%220%22,2,%22f%22,2,%220%22,10,%22f%22,82,%220%22,1,%22f%22,2,%220%22,3,%22f%22,1,%220%22,4,%22f%22,1,%220%22,6,%22f%22,1,%220%22,35,%22f%22,2,%220%22,3,%22f%22,3,%220%22,1,%22f%22,1,%220%22,3,%22f%22,1,%220%22,11,%22f%22,82,%220%22,1,%22f%22,1,%220%22,2,%22f%22,1,%220%22,4,%22f%22,1,%220%22,42,%22f%22,1,%220%22,8,%22f%22,1,%220%22,16,%22f%22,82,%220%22,1,%22f%22,1,%220%22,2,%22f%22,1,%220%22,4,%22f%22,1,%220%22,42,%22f%22,1,%220%22,8,%22f%22,2,%220%22,16,%22f%22,83,%220%22,7,%22f%22,1,%220%22,36,%22f%22,4,%220%22,3,%22f%22,6,%220%22,3,%22f%22,1,%220%22,17,%22f%22,83,%220%22,4,%22f%22,2,%220%22,41,%22f%22,1,%220%22,7,%22f%22,1,%220%22,22,%22f%22,86,%220%22,44,%22f%22,1,%220%22,6,%22f%22,1,%220%22,24,%22f%22,79,%220%22,38,%22f%22,3,%220%22,9,%22f%22,2,%220%22,4,%22f%22,1,%220%22,26,%22f%22,78,%220%22,39,%22f%22,1,%220%22,15,%22f%22,1,%220%22,29,%22f%22,75,%220%22,40,%22f%22,1,%220%22,2,%22f%22,2,%220%22,9,%22f%22,2,%220%22,31,%22f%22,74,%220%22,32,%22f%22,4,%220%22,4,%22f%22,2,%220%22,46,%22f%22,72,%220%22,28,%22f%22,4,%220%22,1,%22f%22,1,%220%22,1,%22f%22,1,%220%22,4,%22f%22,2,%220%22,47,%22f%22,72,%220%22,27,%22f%22,1,%220%22,3,%22f%22,2,%220%22,1,%22f%22,1,%220%22,54,%22f%22,71,%220%22,25,%22f%22,1,%220%22,1,%22f%22,1,%220%22,2,%22f%22,1,%220%22,3,%22f%22,1,%220%22,55,%22f%22,71,%220%22,24,%22f%22,3,%220%22,6,%22f%22,1,%220%22,13,%22f%22,2,%226%22,40,%22f%22,72,%220%22,17,%22f%22,5,%220%22,2,%22f%22,9,%220%22,13,%22f%22,1,%226%22,42,%22f%22,72,%220%22,17,%22f%22,1,%220%22,3,%22f%22,5,%220%22,17,%22f%22,2,%226%22,43,%22f%22,73,%220%22,17,%22f%22,2,%220%22,21,%22f%22,2,%226%22,46,%22f%22,74,%220%22,11,%22f%22,1,%220%22,5,%22f%22,1,%220%22,18,%22f%22,2,%226%22,48,%22f%22,74,%220%22,8,%22f%22,3,%220%22,7,%22f%22,1,%220%22,16,%22f%22,1,%226%22,51,%22f%22,74,%220%22,7,%22f%22,2,%220%22,2,%22f%22,2,%220%22,21,%22f%22,2,%226%22,5,%22f%22,3,%226%22,43,%22f%22,74,%220%22,7,%22f%22,3,%220%22,2,%22f%22,1,%220%22,22,%22f%22,5,%226%22,48,%22f%22,73,%220%22,6,%22f%22,1,%220%22,4,%22f%22,1,%220%22,25,%22f%22,2,%226%22,50,%22f%22,71,%220%22,6,%22f%22,1,%220%22,2,%22f%22,2,%220%22,28,%22f%22,1,%226%22,53,%22f%22,68,%220%22,6,%22f%22,2,%220%22,30,%22f%22,1,%226%22,55,%22f%22,67,%220%22,37,%22f%22,1,%226%22,57,%22f%22,66,%220%22,96,%22f%22,64,%220%22,98,%22f%22,63,%220%22,98,%22f%22,63,%220%22,98,%22f%22,62,%220%22,98,%22f%22,63,%220%22,98,%22f%22,62,%220%22,98,%22f%22,63,%220%22,42,%22f%22,2,%220%22,54,%22f%22,62,%220%22,41,%22f%22,2,%220%22,56,%22f%22,62,%220%22,39,%22f%22,3,%220%22,57,%22f%22,61,%220%22,39,%22f%22,1,%220%22,1,%22f%22,1,%220%22,60,%22f%22,59,%220%22,35,%22f%22,4,%220%22,2,%22f%22,1,%220%22,62,%22f%22,57,%220%22,41,%22f%22,1,%220%22,62,%22f%22,57,%220%22,41,%22f%22,1,%220%22,62,%22f%22,57,%220%22,103,%22f%22,59,%220%22,101,%22f%22,60,%220%22,100,%22f%22,61,%220%22,99,%22f%22,61,%220%22,98,%22f%22,63,%220%22,38,%22f%22,2,%226%22,57,%22f%22,64,%220%22,35,%22f%22,2,%226%22,58,%22f%22,65,%220%22,33,%22f%22,2,%226%22,1,%22f%22,2,%226%22,56,%22f%22,67,%220%22,32,%22f%22,1,%226%22,3,%22f%22,2,%226%22,54,%22f%22,68,%220%22,32,%22f%22,1,%226%22,4,%22f%22,2,%226%22,52,%22f%22,70,%220%22,37,%22f%22,1,%226%22,51,%22f%22,72,%220%22,87,%22f%22,75,%220%22,84,%22f%22,77,%220%22,81,%22f%22,81,%220%22,77,%22f%22,85,%220%22,73,%22f%22,89,%220%22,69,%22f%22,92,%220%22,66,%22f%22,95,%220%22,63,%22f%22,98,%220%22,61,%22f%22,100,%220%22,59,%22f%22,102,%220%22,58,%22f%22,103,%220%22,56,%22f%22,105,%220%22,55,%22f%22,107,%220%22,52,%22f%22,111,%220%22,48,%22f%22,115,%220%22,44,%22f%22,116,%220%22,42,%22f%22,119,%220%22,39,%22f%22,122,%220%22,37,%22f%22,35,%220%22%5D,%5B16000,%220%22%5D,%5B16000,%220%22%5D,%5B16000,%220%22%5D,%5B16000,%220%22%5D,%5B16000,%220%22%5D,%5B16000,%220%22%5D,%5B16000,%220%22%5D,%5B16000,%220%22%5D,%5B16000,%220%22%5D,%5B16000,%220%22%5D,%5B16000,%220%22%5D,%5B16000,%220%22%5D,%5B16000,%220%22%5D%5D,%22hyperlinks%22:%5B%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,%222%22%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,%223%22%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D,%5B0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%5D%5D%7D";
- <!--__EmbedEnd__-->
- function getUrlVars() {
- var vars = {};
- var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
- function(m,key,value) {
- vars[key] = value;
- });
- return vars;
- }
- var urlVars = getUrlVars();
- if (!("frameCount" in urlVars)){
- urlVars["frameCount"]=1;
- }
- if (!("animationLength" in urlVars)){
- urlVars["animationLength"]=0.5;
- }
- urlVars["frameCount"]=parseFloat(urlVars["frameCount"])
- urlVars["animationLength"]=parseFloat(urlVars["animationLength"])
- var frameCount=urlVars["frameCount"];
- var animationLength=urlVars["animationLength"];
- if(urlVars["a"]==="1"){
- frameCount=8;
- animationLength=0.5;
- }
- var showAnimation = frameCount>1;
- var animating=false;
- var zoom=1;
- var currentIndex=0;
- function redraw(){
- console.log("resized "+window.innerWidth +"x"+window.innerHeight);
- mainCanvas.width=mainCanvasContainer.clientWidth;
- mainCanvas.height=mainCanvasContainer.clientHeight;
- mainCanvasCtx.width=mainCanvasContainer.clientWidth;
- mainCanvasCtx.height=mainCanvasContainer.clientHeight;
- if (images.length>0){
- mainCanvasCtx.imageSmoothingEnabled = false;
- mainCanvasCtx.mozImageSmoothingEnabled = false;
- mainCanvasCtx.oImageSmoothingEnabled = false;
- mainCanvasCtx.webkitImageSmoothingEnabled = false;
- mainCanvasCtx.msImageSmoothingEnabled = false;
- var w = mainCanvasCtx.width;
- var h = mainCanvasCtx.height;
- var wd = w/160.0;
- var hd = h/100.0;
- zoom=1;
- if (wd<hd){
- zoom=wd;//Math.floor(wd);
- } else {
- zoom=hd;//Math.floor(hd);
- }
- if(zoom<1){
- zoom=1;
- }
- var dx=(w-160*zoom)/2;
- var dy=(h-100*zoom)/2;
- mainCanvasCtx.fillStyle="#000000";
- mainCanvasCtx.fillRect(0,0,w,h);
- if (curCanvasToDraw===null){
- mainCanvasCtx.drawImage(images[currentIndex],0,0,160,100,dx,dy,160*zoom,100*zoom);
- } else {
- mainCanvasCtx.drawImage(curCanvasToDraw,0,0,160,100,dx,dy,160*zoom,100*zoom);
- }
- } else {
- mainCanvasCtx.fillStyle="#ff0000";
- mainCanvasCtx.fillRect(0,0,mainCanvas.width/2,mainCanvas.height/2);
- mainCanvasCtx.fillStyle="#00ff00";
- mainCanvasCtx.fillRect(mainCanvas.width/2,0,mainCanvas.width/2,mainCanvas.height/2);
- mainCanvasCtx.fillStyle="#ff00ff";
- mainCanvasCtx.fillRect(0,mainCanvas.height/2,mainCanvas.width/2,mainCanvas.height/2);
- mainCanvasCtx.fillStyle="#00ffff";
- mainCanvasCtx.fillRect(mainCanvas.width/2,mainCanvas.height/2,mainCanvas.width/2,mainCanvas.height/2);
- }
- }
- function getCoords(e) {
- var x,y;
- if(e.offsetX) {
- x = e.offsetX;
- y = e.offsetY;
- }
- else if(e.layerX) {
- x = e.layerX;
- y = e.layerY;
- }
- return [x,y];
- }
- var target=0;
- function printNonZeros(a,stack){
- var count=0;
- for (var i=0;i<160;i++){
- for (var j=0;j<100;j++){
- if (a[j][i]!==null)
- count++;
- }
- }
- window.console.log(count + " non-zero entries.");
- window.console.log("stack length " + stack.length+".");
- }
- var hex=['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f']
- function calcHeatmap(cal,col,fromCal){
- var map = []
- var stack = []
- var c = hex[col]
- //initialize
- for (var j=0;j<100;j++){
- for (var i=0;i<160;i++){
- if (cal[i+160*j]===c){
- var entry = [0,i,j]
- map.push([0,i,j])
- stack.push([i,j,0,i,j])
- } else {
- map.push(null)
- }
- }
- }
- //should replace this with a center of mass calculation from the old one
- if (stack.length===0){
- var cx=0;
- var cy=0;
- var count=0;
- for (var i=0;i<160;i++){
- for (var j=0;j<100;j++){
- if (fromCal[i+160*j]===c){
- cx+=i;
- cy+=j;
- count++;
- }
- }
- }
- if (count>0){
- cx=Math.round(cx/count);
- cy=Math.round(cy/count);
- for (var j=0;j<100;j++){
- for (var i=0;i<160;i++){
- map[i+160*j]=[0,cx,cy];
- }
- }
- }
- }
- //propagate
- while(stack.length>0){
- var entry = stack.shift();
- //[fromx,fromy,dist,tox,toy]
- var x0=entry[0];
- var y0=entry[1];
- var d0=entry[2];
- var xtarget=entry[3];
- var ytarget=entry[4];
- var d1=d0+1;
- var neighbours = [[x0-1,y0],[x0+1,y0],[x0,y0-1],[x0,y0+1]];
- for (var i=0;i<4;i++){
- var n = neighbours[i];
- var nx=n[0];
- var ny=n[1];
- if (nx<0||ny<0||nx>=160||ny>=100){
- continue;
- }
- var existing = map[nx+160*ny];
- if (existing===null||d1<existing[0]){
- map[nx+160*ny]=[d1,xtarget,ytarget]
- stack.push([nx,ny,d1,xtarget,ytarget])
- }
- }
- }
- return map;
- }
- function generateParticleMotions(sourceCanvas,targetHeatMap,colIndex,particles,reverse){
- if (reverse){
- var c = hex[colIndex];
- for (var i=0;i<160;i++){
- for (var j=0;j<100;j++){
- var pixel = sourceCanvas[i+160*j];
- if (pixel===c){
- //[d,tx,ty]
- var target = targetHeatMap[i+160*j];
- var tx = target[1];
- var ty = target[2];
- if (i!==tx||j!==ty)
- particles.push([tx,ty,i,j])
- }
- }
- }
- } else {
- var c = hex[colIndex];
- for (var i=0;i<160;i++){
- for (var j=0;j<100;j++){
- var pixel = sourceCanvas[i+160*j];
- if (pixel===c){
- //[d,tx,ty]
- var target = targetHeatMap[i+160*j];
- var tx = target[1];
- var ty = target[2];
- particles.push([i,j,tx,ty])
- }
- }
- }
- }
- }
- function generateFrame(sourceImage,particleMap,progress){
- var frame = [];
- for (var j=0;j<100;j++){
- for (var i=0;i<160;i++){
- frame.push(sourceImage[i+160*j]);
- }
- }
- for (var cIndex=0;cIndex<particleMap.length;cIndex++){
- var c = hex[cIndex]
- var particles = particleMap[cIndex]
- for (var i=0;i<particles.length;i++){
- var p = particles[i]
- var x0=p[0]
- var y0=p[1]
- var x1=p[2]
- var y1=p[3]
- var dx=x1-x0
- var dy=y1-y0
- if (dx!==0||dy!==0){
- // var xt = Math.round(x0+progress*dx+Math.random()*0.5-0.25)
- // var yt = Math.round(y0+progress*dy+Math.random()*0.5-0.25)
- var xt = Math.round(x0+progress*dx)
- var yt = Math.round(y0+progress*dy)
- frame[xt+160*yt]=c;
- }
- }
- }
- return frame;
- }
- function calcTransitionGrids(oldCanvas,newCanvas){
- //generate 32 canvasses, for each color, for each direction
- var particleMaps = []
- for (var i=0;i<16;i++){
- var forwardHeatmap = calcHeatmap(newCanvas,i,oldCanvas);
- window.console.log("generated forward"+i);
- var backwardHeatmap = calcHeatmap(oldCanvas,i,newCanvas);
- window.console.log("generated backward"+i);
- var particles=[]
- var particleMotionsForward = generateParticleMotions(oldCanvas,forwardHeatmap,i,particles,false);
- window.console.log("generated forward particles"+i);
- var particleMotionsBackward = generateParticleMotions(newCanvas,backwardHeatmap,i,particles,true);
- window.console.log("generated backwards particles"+i);
- particleMaps.push(particles);
- }
- var frames=[];
- frames.push(oldCanvas)
- for (var i=1;i<frameCount;i++){
- var frame = generateFrame(oldCanvas,particleMaps,i/frameCount)
- frames.push(frame);
- }
- frames.push(newCanvas)
- return frames;
- }
- var curCanvasToDraw=null;
- var curAnimationFrames=null;
- function transition(oldIndex,newIndex){
- var oldCanvas = gameState.imageDats[oldIndex];
- var newCanvas = gameState.imageDats[newIndex];
- var frames = calcTransitionGrids(oldCanvas,newCanvas);
- curAnimationFrames = frames;
- return frames;
- }
- function drawNextFrame(){
- curCanvasToDraw=printCanvas(curAnimationFrames[animationIndex])[0];
- redraw();
- animationIndex++;
- if (animationIndex<curAnimationFrames.length){
- setTimeout(drawNextFrame,1000*animationLength/frameCount);
- } else {
- animating=false;
- }
- }
- var animationIndex=1;
- function doAnimation(){
- animating=true;
- animationIndex=1;
- drawNextFrame();
- }
- function mouseDown(e){
- mouseMove(e);
- if (target>0){
- if (showAnimation){
- transition(currentIndex,target-1);
- currentIndex=target-1;
- doAnimation();
- } else {
- currentIndex=target-1;
- redraw();
- }
- mouseMove(e);
- }
- }
- function mouseMove(e){
- if (gameState==null){
- return;
- }
- var coords = getCoords(e);
- var w = mainCanvasCtx.width;
- var h = mainCanvasCtx.height;
- var wd = w/160.0;
- var hd = h/100.0;
- zoom=1;
- if (wd<hd){
- zoom=wd;//Math.floor(wd);
- } else {
- zoom=hd;//Math.floor(hd);
- }
- if(zoom<1){
- zoom=1;
- }
- var dx=(w-160*zoom)/2;
- var dy=(h-100*zoom)/2;
- var x=Math.floor((coords[0]-dx)/zoom);
- var y=Math.floor((coords[1]-dy)/zoom);
- target=0;
- if(x>=0&&x<160&&y>=0&&y<100) {
- var ch = gameState.imageDats[currentIndex][x+160*y];
- var colIndex = parseInt(ch,16);
- target=gameState.hyperlinks[currentIndex][colIndex];
- if (gameState.hyperlinks[currentIndex][colIndex]!=0) {
- mainCanvas.style.cursor="pointer";
- } else {
- mainCanvas.style.cursor="default";
- }
- } else {
- mainCanvas.style.cursor="default";
- }
- }
- var mainCanvas;
- var mainCanvasCtx;
- var mainCanvasContainer;
- function init(){
- window.addEventListener('resize', redraw, false);
- mainCanvas=document.getElementById("mainCanvas");
- mainCanvasCtx=mainCanvas.getContext("2d");
- mainCanvasContainer=document.getElementById("content");
- mainCanvas.addEventListener('mousemove', mouseMove,false);
- mainCanvas.addEventListener('mousedown', mouseDown,false);
- redraw();
- getData();
- }
- var aurl = document.createElement('a');
- function qualifyURL(url) {
- aurl.href = url;
- return aurl.href;
- }
- var gameState;
- function loadState(code){
- gameState=JSON.parse(code);
- }
- function getParameterByName(name) {
- name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
- var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
- results = regex.exec(location.search);
- return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
- }
- function strip_http(url) {
- url = url.replace(/^https?:\/\//,'');
- return url;
- }
- function getData(){
- if (embeddedDat[0]!=='_'){
- embeddedDat=decodeURI(embeddedDat);
- loadState(embeddedDat);
- var homepage=gameState.gameLink;
- var homepageLink = document.getElementById("homeLink");
- homepageLink.innerHTML=strip_http(homepage);
- if (!homepage.match(/^https?:\/\//)) {
- homepage = "http://" + homepage;
- }
- homepageLink.href = homepage;
- renderImages();
- return;
- }
- var id = getParameterByName("p").replace(/[\\\/]/,"");
- if (id===null||id.length===0) {
- console.log("No ID specified in URL.")
- return;
- }
- var githubURL = 'https://api.github.com/gists/'+id;
- var githubHTTPClient = new XMLHttpRequest();
- githubHTTPClient.open('GET', githubURL);
- githubHTTPClient.onreadystatechange = function() {
- if(githubHTTPClient.readyState!=4) {
- return;
- }
- var result = JSON.parse(githubHTTPClient.responseText);
- if (githubHTTPClient.status===403) {
- console.log(result.message);
- } else if (githubHTTPClient.status!==200&&githubHTTPClient.status!==201) {
- console.log("HTTP Error "+ githubHTTPClient.status + ' - ' + githubHTTPClient.statusText);
- }
- var result = JSON.parse(githubHTTPClient.responseText);
- var code=result["files"]["game.txt"]["content"];
- console.log(code);
- loadState(code);
- var homepage=gameState.gameLink;
- var homepageLink = document.getElementById("homeLink");
- homepageLink.innerHTML=strip_http(homepage);
- if (!homepage.match(/^https?:\/\//)) {
- homepage = "http://" + homepage;
- }
- homepageLink.href = homepage;
- var hacklink = document.getElementById("hackLink");
- var url = "index.html?p="+id;
- url=qualifyURL(url);
- hacklink.href=url;
- hacklink.innerHTML="⊡ edit";
- renderImages();
- }
- githubHTTPClient.setRequestHeader("Content-type","application/x-www-form-urlencoded");
- githubHTTPClient.send();
- }
- function RLE_decode(encoded) {
- var output = "";
- for (var i=0;i<encoded.length;i+=2) {
- var count = encoded[i];
- var ch = encoded[i+1];
- for (var j=0;j<count;j++){
- output+=ch;
- }
- }
- return output;
- }
- var colorPalette = [
- "#140c1c",
- "#442434",
- "#30346d",
- "#4e4a4e",
- "#854c30",
- "#346524",
- "#d04648",
- "#757161",
- "#597dce",
- "#d27d2c",
- "#8595a1",
- "#6daa2c",
- "#d2aa99",
- "#6dc2ca",
- "#dad45e",
- "#deeed6"
- ];
- var images = new Array();
- var imageCtxts = new Array();
- function printCanvas(descriptionString){
- var canvas = document.createElement('canvas');
- canvas.width="160";
- canvas.height="100";
- var ctx=canvas.getContext("2d");
- for (var j=0;j<descriptionString.length;j++){
- var x = j%160;
- var y = Math.floor(j/160);
- var ch=descriptionString[j];
- var colIndex = parseInt(ch,16);
- ctx.fillStyle=colorPalette[colIndex];
- ctx.fillRect(x,y,1,1);
- }
- return [canvas,ctx];
- }
- function renderImages(){
- gameState.imageDats = new Array();
- for (var i=0;i<16;i++){
- var descriptionArray = gameState.canvasses[i];
- var descriptionString = RLE_decode(descriptionArray);
- var canvas_context=printCanvas(descriptionString);
- var canvas=canvas_context[0];
- var ctx=canvas_context[1];
- gameState.imageDats.push(descriptionString);
- images.push(canvas);
- imageCtxts.push(ctx);
- }
- redraw();
- }
- function goFullscreen(evt){
- evt = evt || window.event;
- if (evt.keyCode===70) { //f
- var elem = document.getElementById("mainCanvas");
- if (elem.requestFullscreen) {
- elem.requestFullscreen();
- } else if (elem.msRequestFullscreen) {
- elem.msRequestFullscreen();
- } else if (elem.mozRequestFullScreen) {
- elem.mozRequestFullScreen();
- } else if (elem.webkitRequestFullscreen) {
- elem.webkitRequestFullscreen();
- }
- }
- }
- document.addEventListener("keydown", goFullscreen);
- </script>
- </head>
- <body onload="init()" onkeydown="goFullscreen(event);">
- <div id="header">
- </div>
- <p>
- <div id="content">
- <canvas id="mainCanvas"></canvas>
- </div>
- <p>
- <div id="footer">
- <a href="http://www.flickgame.org" id="hackLink"></a> <a id="homeLink" href="http://www.flickgame.org"></a>
- </div>
- </body>
- </html>
RAW Paste Data