SHOW:
|
|
- or go back to the newest paste.
| 1 | var colors = [ | |
| 2 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0 | |
| 3 | ,0,0,0,0,0,0,0,0,0,3,3,3,0,0,0,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0 | |
| 4 | ,0,0,0,0,0,0,0,0,0,3,3,3,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0 | |
| 5 | ,0,0,0,0,3,3,0,0,0,3,3,3,0,0,0,3,3,3,3,0,0,3,3,3,3,3,0,0,0,0 | |
| 6 | ,0,0,3,3,3,3,0,0,0,0,3,3,3,0,0,3,3,0,0,0,0,3,3,3,3,3,3,3,3,0 | |
| 7 | ,0,0,0,3,3,3,3,0,0,0,0,3,3,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3 | |
| 8 | ,0,0,0,0,3,3,3,3,0,0,0,3,3,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3 | |
| 9 | ,0,0,0,0,0,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3 | |
| 10 | ,3,0,0,0,0,0,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3 | |
| 11 | ,3,3,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3 | |
| 12 | ,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3 | |
| 13 | ,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,3,3,3,3,3,3 | |
| 14 | ,0,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,3,3,3,3,3 | |
| 15 | ,0,0,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3 | |
| 16 | ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3 | |
| 17 | ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3 | |
| 18 | ,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,3,3,3 | |
| 19 | ,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,3,3 | |
| 20 | ,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,3 | |
| 21 | ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,0,0,0,0,0,0,3,0,0,3 | |
| 22 | ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,0,0,3,0,0,0,0,3,3 | |
| 23 | ,0,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,0,0,3,0,0,3,3,3 | |
| 24 | ,0,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,0,0,3,3,3,3,3,3 | |
| 25 | ,0,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,0 | |
| 26 | ,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0 | |
| 27 | ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,0,0 | |
| 28 | ,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,0,0 | |
| 29 | ,0,0,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,0,0,0 | |
| 30 | ,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0 | |
| 31 | ,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0 | |
| 32 | ]; | |
| 33 | var colorsABGR = []; | |
| 34 | ||
| 35 | var babaevski = {
| |
| 36 | x: 969, | |
| 37 | - | y: 493, |
| 37 | + | y: 523, |
| 38 | width: 30, | |
| 39 | height: 30 | |
| 40 | }; | |
| 41 | ||
| 42 | var perfect_timeout = 60; | |
| 43 | ||
| 44 | // hooks | |
| 45 | var client; | |
| 46 | var canvasse; | |
| 47 | var jQuery; | |
| 48 | ||
| 49 | var currentDrawPosition = babaevski.width*babaevski.height / 2; | |
| 50 | var currentLoop = 0; | |
| 51 | ||
| 52 | r.placeModule("babaevski", function(e){
| |
| 53 | client = e("client");
| |
| 54 | canvasse = e("canvasse");
| |
| 55 | jQuery = e("jQuery");
| |
| 56 | ||
| 57 | for(var i=0; i<client.palette.length; i++){
| |
| 58 | colorsABGR[i] = client.getPaletteColorABGR(i); | |
| 59 | } | |
| 60 | ||
| 61 | attempt(); | |
| 62 | ||
| 63 | }); | |
| 64 | ||
| 65 | function attempt(){
| |
| 66 | console.log("tried to draw");
| |
| 67 | var toWait = client.getCooldownTimeRemaining(); | |
| 68 | if(toWait === 0) | |
| 69 | {
| |
| 70 | tryDrawPixel(); | |
| 71 | } | |
| 72 | else | |
| 73 | {
| |
| 74 | setTimeout(attempt, toWait + Math.round(Math.random() * 1500)); | |
| 75 | console.log("set a timeout");
| |
| 76 | } | |
| 77 | } | |
| 78 | ||
| 79 | function tryDrawPixel() | |
| 80 | {
| |
| 81 | var toWait = client.getCooldownTimeRemaining(); | |
| 82 | if(toWait === 0 && currentLoop < babaevski.width*babaevski.height) | |
| 83 | {
| |
| 84 | currentLoop++; | |
| 85 | console.log("checking pixel " + currentDrawPosition);
| |
| 86 | var targetPoint = getPoint(currentDrawPosition); | |
| 87 | ||
| 88 | $.get( "/api/place/pixel.json", { x:targetPoint.x, y:targetPoint.y }, function( data )
| |
| 89 | {
| |
| 90 | setTimeout(function() {
| |
| 91 | //wait an extra half second for reddits servers | |
| 92 | ||
| 93 | ||
| 94 | console.log("x" + targetPoint.x + " y"+ targetPoint.y);
| |
| 95 | if (data.color == undefined) | |
| 96 | data.color = 0; | |
| 97 | canvasse.drawTileAt(data.x, data.y, colorsABGR[data.color]); | |
| 98 | if (colors[currentDrawPosition] != data.color && colors[currentDrawPosition] !== -1) | |
| 99 | {
| |
| 100 | client.setColor(colors[currentDrawPosition]); | |
| 101 | client.drawTile(targetPoint.x, targetPoint.y); | |
| 102 | console.log("drew pixel at " + targetPoint.x + "/" + targetPoint.y);
| |
| 103 | var toWait = client.getCooldownTimeRemaining(); | |
| 104 | setTimeout(attempt, toWait + Math.round(Math.random() * 1500)); | |
| 105 | currentLoop = 0; | |
| 106 | console.log("set a timeout");
| |
| 107 | } | |
| 108 | else | |
| 109 | {
| |
| 110 | var positionIncrease = Math.floor(Math.random() * (Math.min(0.2*currentLoop, 40))) + 1; | |
| 111 | currentDrawPosition += positionIncrease; | |
| 112 | //console.log("" + currentLoop + ", " +positionIncrease);
| |
| 113 | if (currentDrawPosition >= babaevski.width*babaevski.height) | |
| 114 | currentDrawPosition = 0; | |
| 115 | tryDrawPixel(currentDrawPosition); | |
| 116 | } | |
| 117 | }, 300); | |
| 118 | }); | |
| 119 | } | |
| 120 | else | |
| 121 | {
| |
| 122 | var added_timeout = 0; | |
| 123 | if (currentLoop == babaevski.width*babaevski.height) | |
| 124 | added_timeout = perfect_timeout*1000; | |
| 125 | setTimeout(attempt, toWait + Math.round(Math.random() * 1500) + added_timeout); | |
| 126 | currentLoop = 0; | |
| 127 | console.log("set a timeout");
| |
| 128 | } | |
| 129 | ||
| 130 | } | |
| 131 | ||
| 132 | function drawTestRTC(){
| |
| 133 | for(var i=0; i < babaevski.width*babaevski.height; i++){
| |
| 134 | if(colors[i] === -1){
| |
| 135 | continue; | |
| 136 | } | |
| 137 | var targetPoint = getPoint(i); | |
| 138 | canvasse.drawTileAt(targetPoint.x, targetPoint.y, colorsABGR[colors[i]]); | |
| 139 | } | |
| 140 | } | |
| 141 | ||
| 142 | function getPoint(i){
| |
| 143 | var x = i % babaevski.width; | |
| 144 | return {
| |
| 145 | x: babaevski.x + x, | |
| 146 | y: babaevski.y + (i - x) / babaevski.width - babaevski.height | |
| 147 | }; | |
| 148 | } | |
| 149 | ||
| 150 | function getPixel(x, y){
| |
| 151 | return canvasse.writeBuffer[canvasse.getIndexFromCoords(x, y)]; | |
| 152 | } |