Created
July 30, 2012 22:21
-
-
Save ivanpopelyshev/3210957 to your computer and use it in GitHub Desktop.
A web page created at CodePen.io.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <title>Canvas Pony · CodePen</title> | |
| <!-- | |
| Copyright (c) 2012 ivanpopelyshev, http://codepen.io/ivanpopelyshev | |
| Permission is hereby granted, free of charge, to any person obtaining | |
| a copy of this software and associated documentation files (the | |
| "Software"), to deal in the Software without restriction, including | |
| without limitation the rights to use, copy, modify, merge, publish, | |
| distribute, sublicense, and/or sell copies of the Software, and to | |
| permit persons to whom the Software is furnished to do so, subject to | |
| the following conditions: | |
| The above copyright notice and this permission notice shall be | |
| included in all copies or substantial portions of the Software. | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | |
| LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | |
| OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | |
| WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
| --> | |
| <link rel="stylesheet" href="http://codepen.io/stylesheets/css/normalize.css"> | |
| <style> | |
| body { | |
| background: #222; | |
| } | |
| #screen { | |
| background: #000; | |
| position: absolute; | |
| top: 0px; | |
| left: 50%; | |
| margin: 0px 0 0 -320px; | |
| width: 640px; | |
| height: 480px; | |
| } | |
| </style> | |
| <style> | |
| #codepen-footer, #codepen-footer * { | |
| -webkit-box-sizing: border-box !important; | |
| -moz-box-sizing: border-box !important; | |
| box-sizing: border-box !important; | |
| } | |
| #codepen-footer { | |
| display: block !important; | |
| position: fixed !important; | |
| bottom: 0 !important; | |
| left: 0 !important; | |
| width: 100% !important; | |
| padding: 0 10px !important; | |
| margin: 0 !important; | |
| height: 30px !important; | |
| line-height: 30px !important; | |
| font-size: 12px !important; | |
| color: #eeeeee !important; | |
| background-color: #505050 !important; | |
| text-align: left !important; | |
| background: -webkit-linear-gradient(top, #505050, #383838) !important; | |
| background: -moz-linear-gradient(top, #505050, #383838) !important; | |
| background: -ms-linear-gradient(top, #505050, #383838) !important; | |
| background: -o-linear-gradient(top, #505050, #383838) !important; | |
| border-top: 1px solid black !important; | |
| border-bottom: 1px solid black !important; | |
| border-radius: 0 !important; | |
| border-image: none !important; | |
| box-shadow: inset 0 1px 0 #6e6e6e, 0 2px 2px rgba(0, 0, 0, 0.4) !important; | |
| z-index: 300 !important; | |
| font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, sans-serif !important; | |
| letter-spacing: 0 !important; | |
| word-spacing: normal !important; | |
| word-spacing: 0 !important; | |
| -webkit-transform: none !important; | |
| -moz-transform: none !important; | |
| -ms-transform: none !important; | |
| -o-transform: none !important; | |
| transform: none !important; | |
| } | |
| #codepen-footer a { | |
| color: #a7a7a7 !important; | |
| text-decoration: none !important; | |
| text-shadow: none !important; | |
| border: 0 !important; | |
| } | |
| #codepen-footer a:hover { | |
| color: white !important; | |
| } | |
| </style> | |
| <script> | |
| // Kill alerts, confirmations and prompts | |
| // window.alert = function(){}; we're going to allow alerts for now | |
| window.confirm = function(){}; | |
| window.prompt = function(){}; | |
| window.open = function(){}; | |
| window.print = function(){}; | |
| </script> | |
| </head> | |
| <body> | |
| <canvas id="screen"></canvas> | |
| <script src="http://code.jquery.com/jquery-latest.js"></script> | |
| <script> | |
| (function() { | |
| if ( !window.requestAnimationFrame ) { | |
| window.requestAnimationFrame = ( function() { | |
| return window.webkitRequestAnimationFrame || | |
| window.mozRequestAnimationFrame || | |
| window.oRequestAnimationFrame || | |
| window.msRequestAnimationFrame || | |
| function( /* function FrameRequestCallback */ callback, /* DOMElement Element */ element ) { | |
| window.setTimeout( callback, 1000 / 60 ); | |
| }; | |
| } )(); | |
| } | |
| //Pascal HTML5 emulator by Jedi_Knight | |
| var canvas = null; | |
| var ctx = null; | |
| var width = 640; | |
| var height = 480; | |
| //var colors = ["black", "blue", "green", "cyan", "red", "magenta", "brown", "lightgray", | |
| //"darkgray", "lightblue", "lightgreen", "lightcyan", "lightred", "lightmagenta", "yellow", "white"]; | |
| var colors = ["#000000", "#0000AA", "#00AA00", "#00AAAA", "#AA0000", "#AA00AA", "#AA5500", "#AAAAAA", | |
| "#555555", "#5555FF", "#55FF55", "#55FFFF", "#FF5555", "#FF55FF", "#FFFF55", "#FFFFFF"]; | |
| var rgb = [ | |
| [0, 0, 0], | |
| [0, 0, 0xAA], | |
| [0, 0xAA, 0], | |
| [0, 0xAA, 0xAA], | |
| [0xAA, 0, 0], | |
| [0xAA, 0, 0xAA], | |
| [0xAA, 0x55, 0], | |
| [0xAA, 0xAA, 0xAA], | |
| [0x55, 0x55, 0x55], | |
| [0x55, 0x55, 0xFF], | |
| [0x55, 0xFF, 0x55], | |
| [0x55, 0xFF, 0xFF], | |
| [0xFF, 0x55, 0x55], | |
| [0xFF, 0x55, 0xFF], | |
| [0xFF, 0xFF, 0x55], | |
| [0xFF, 0xFF, 0xFF] | |
| ]; | |
| var rgbCache = []; | |
| var widthCache = []; | |
| var lineCache = []; | |
| var curline = 0; | |
| var clr = -1; | |
| var fillclr = -1; | |
| function setcolor(colorIndex) | |
| { | |
| ctx.strokeStyle = colors[colorIndex]; | |
| clr = colorIndex; | |
| } | |
| function line(x1, y1, x2, y2) | |
| { | |
| var x_1, y_1, x_2, y_2; | |
| var dx = x2-x1, dy = y2-y1; | |
| var N = NN; | |
| var N2 = Math.round(Math.sqrt(dx*dx+dy*dy) / 5); | |
| if (N2<N) N = N2; | |
| if (N<5) N = 1; | |
| while (NN%N!=0) N--; | |
| var d = NN/N; | |
| for (i=0; i<N; i++) | |
| { | |
| if (curline >= lineCache.length) | |
| { | |
| x_1 = dx*((i-0.01)/N) + x1; | |
| y_1 = dy*((i-0.01)/N) + y1; | |
| x_2 = dx*((i+1.01)/N) + x1; | |
| y_2 = dy*((i+1.01)/N) + y1; | |
| lineCache[curline++]= [x_1, y_1, x_2, y_2]; | |
| } else | |
| { | |
| x_1 = lineCache[curline][0]; | |
| y_1 = lineCache[curline][1]; | |
| x_2 = lineCache[curline][2]; | |
| y_2 = lineCache[curline][3]; | |
| curline++; | |
| } | |
| ctx.strokeStyle = rgbCache[clr][i*d]; | |
| ctx.lineWidth = widthCache[i*d]; | |
| ctx.beginPath(); | |
| ctx.moveTo(x_1, y_1); | |
| ctx.lineTo(x_2, y_2); | |
| ctx.stroke(); | |
| ctx.closePath(); | |
| } | |
| } | |
| function setlinestyle(p, t, width) | |
| { | |
| ctx.lineWidth = width; | |
| } | |
| function setfillstyle(temp, colorIndex) | |
| { | |
| fillclr = colorIndex; | |
| var r = rgb[colorIndex][0] * (2 + Math.cos(t))/3; | |
| var g = rgb[colorIndex][1] * (2 + Math.cos(t))/3; | |
| var b = rgb[colorIndex][2] * (2 + Math.cos(t))/3; | |
| r = Math.round(r); | |
| g = Math.round(g); | |
| b = Math.round(b); | |
| ctx.fillStyle = "rgb("+r+","+g+","+b+")"; | |
| } | |
| function putpixel(x, y, clr) | |
| { | |
| var c = clr; | |
| setcolor(clr); | |
| ellipse(x,y,0,Math.PI*2, 1,1); | |
| setcolor(c); | |
| } | |
| function arc(x, y, st, end, rad) | |
| { | |
| ellipse(x, y, st, end, rad, rad); | |
| } | |
| var NN =72; | |
| function ellipse(x, y, st, end, xrad, yrad) | |
| { | |
| var x1, y1, x2, y2; | |
| var N = NN/3; | |
| var a1 = - end * Math.PI/180; | |
| var a2 = - st * Math.PI/180; | |
| while (a2<a1) a2 += 2*Math.PI; | |
| var N2 = Math.round(((a2-a1) * (xrad+yrad)/5)); | |
| if (N2<N) N = N2; | |
| if (N<6) N = 6; | |
| while (NN%N!=0) N--; | |
| var d = NN/N; | |
| ctx.strokeStyle=colors[clr]; | |
| for (i=0; i<N; i++) | |
| { | |
| if (curline >= lineCache.length) | |
| { | |
| angle1 = (a2-a1) * (i/N-0.01) + a1; | |
| x1 = x + xrad * Math.cos(angle1); | |
| y1 = y + yrad * Math.sin(angle1); | |
| angle2 = (a2-a1) * ((i+1)/N+0.01) + a1; | |
| x2 = x + xrad * Math.cos(angle2); | |
| y2 = y + yrad * Math.sin(angle2); | |
| lineCache[curline++]= [x1, y1, x2, y2]; | |
| } else | |
| { | |
| x1 = lineCache[curline][0]; | |
| y1 = lineCache[curline][1]; | |
| x2 = lineCache[curline][2]; | |
| y2 = lineCache[curline][3]; | |
| curline++; | |
| } | |
| ctx.strokeStyle = rgbCache[clr][i*d]; | |
| ctx.lineWidth = widthCache[i*d]; | |
| ctx.beginPath(); | |
| ctx.moveTo(x1, y1); | |
| ctx.lineTo(x2, y2); | |
| ctx.stroke(); | |
| } | |
| } | |
| function fillellipse(x, y, xrad, yrad) | |
| { | |
| ctx.save(); | |
| ctx.translate(x, y); | |
| ctx.scale(xrad, yrad); | |
| ctx.beginPath(); | |
| ctx.arc(0, 0, 1, 0, Math.PI*2, true); | |
| ctx.fill(); | |
| ctx.closePath(); | |
| ctx.restore(); | |
| } | |
| var t = 0; | |
| var wasError = false; | |
| function draw() | |
| { | |
| t=Date.now() / 500; | |
| ctx.clearRect(0, 0, width, height); | |
| if (!wasError) | |
| try { | |
| curline = 0; | |
| var i, j; | |
| for (i=0; i<=15; i++) | |
| rgbCache[i] = []; | |
| for (i=0; i<NN; i++) | |
| { | |
| var phase = (t + i*2*Math.PI/NN); | |
| widthCache[i] = 2 + Math.cos(phase); | |
| for (j=0; j<rgb.length; j++) | |
| { | |
| var r = rgb[j][0] * 0.25 * (3 + Math.cos(phase)); | |
| var g = rgb[j][1] * 0.25 * (3 + Math.cos(phase)); | |
| var b = rgb[j][2] * 0.25 * (3 + Math.cos(phase)); | |
| r = Math.round(r); | |
| g = Math.round(g); | |
| b = Math.round(b); | |
| rgbCache[j][i] = "rgb("+r+","+g+","+b+")"; | |
| } | |
| } | |
| setfillstyle(0, 15); | |
| clr = 15; | |
| pascalCode(); | |
| } catch (err) | |
| { | |
| wasError = true; | |
| } | |
| requestAnimationFrame( draw ); | |
| } | |
| var imageNumber = 0, pascalCode = null; | |
| var ponies = null; | |
| function changeCode(number) | |
| { | |
| ponies = [pony_0, pony_1, pony_2, pony_3, pony_4]; | |
| pascalCode = ponies[number]; | |
| lineCache = []; | |
| } | |
| window.nextPony = function() { | |
| imageNumber = (imageNumber+1)%5; | |
| changeCode(imageNumber); | |
| } | |
| $(function() { | |
| canvas = $("#screen")[0]; | |
| ctx = canvas.getContext("2d"); | |
| canvas.width = width; | |
| canvas.height = height; | |
| $("#screen").click(nextPony); | |
| changeCode(imageNumber); | |
| requestAnimationFrame( draw ); | |
| }); | |
| //PONIES!!!! | |
| function pony_0() { | |
| //Rainbow Dash pascal graphics, (c) nick_ys , | |
| //http://tabun.everypony.ru/blog/17441.html , 10.04.2012 | |
| setcolor(1); | |
| line(330, 249, 335, 231); | |
| setcolor(14); | |
| line(337, 232, 332, 246); | |
| setcolor(4); | |
| line(330, 249, 340, 232); | |
| line(340, 232, 342, 237); | |
| line(342, 237, 344, 235); | |
| //{xvost} | |
| setcolor(11); | |
| ellipse(275, 205, 95, 175, 80, 60); | |
| ellipse(226, 203, 95, 175, 30, 30); | |
| ellipse(228, 310, 99, 170, 25, 140); | |
| ellipse(178, 273, 279, 350, 25, 70); | |
| ellipse(178, 273, 279, 330, 39, 70); | |
| ellipse(143, 291, 279, 350, 70, 100); | |
| ellipse(155, 291, 260, 310, 75, 100); | |
| ellipse(190, 200, 270, 300, 30, 190); | |
| ellipse(189, 290, 275, 340, 60, 100); | |
| ellipse(218, 340, 300, 20, 30, 50); | |
| ellipse(220, 280, 285, 352, 55, 107); | |
| ellipse(280, 289, 190, 280, 5, 25); | |
| ellipse(310, 340, 99, 170, 30, 150); | |
| setcolor(4); | |
| ellipse(295, 338, 99, 160, 32, 150); | |
| ellipse(236, 243, 285, 340, 30, 130); | |
| setcolor(12); | |
| ellipse(280, 338, 95, 160, 32, 150); | |
| ellipse(221, 243, 320, 340, 30, 130); | |
| setcolor(14); | |
| ellipse(267, 337, 97, 160, 32, 160); | |
| ellipse(209, 233, 285, 340, 30, 150); | |
| setcolor(2); | |
| ellipse(290, 215, 90, 170, 53, 60); | |
| ellipse(199, 220, 284, 340, 32, 150); | |
| line(229, 272, 237, 205); | |
| setcolor(5); | |
| ellipse(280, 215, 95, 170, 55, 66); | |
| ellipse(206, 146, 284, 340, 20, 170); | |
| //{griva niz} | |
| setcolor(11); | |
| ellipse(425, 193, 270, 0, 10, 50); | |
| line(426, 215, 425, 243); | |
| ellipse(386, 209, 280, 350, 40, 50); | |
| ellipse(389, 209, 280, 350, 13, 50); | |
| ellipse(432, 220, 100, 180, 30, 45); | |
| setcolor(5); | |
| ellipse(399, 205, 280, 330, 12, 50); | |
| ellipse(420, 255, 100, 150, 12, 50); | |
| //{zadnie nogi} | |
| setcolor(11); | |
| ellipse(410, 360, 130, 200, 60, 89); | |
| ellipse(421, 392, 128, 179, 109, 151); | |
| ellipse(334, 389, 180, 340, 21, 5); | |
| ellipse(429, 400, 128, 180, 120, 160); | |
| ellipse(289, 400, 180, 340, 22, 5); | |
| ellipse(388, 400, 141, 180, 120, 160); | |
| ellipse(328, 291, 110, 184, 20, 73); | |
| ellipse(303, 332, 79, 115, 22, 35); | |
| //{perednie nogi} | |
| setcolor(11); | |
| ellipse(500, 291, 170, 260, 30, 115); | |
| ellipse(460, 325, 160, 250, 20, 85); | |
| ellipse(474, 402, 180, 340, 22, 5); | |
| ellipse(439, 381, 110, 205, 30, 100); | |
| ellipse(428, 410, 120, 185, 60, 140); | |
| ellipse(390, 421, 180, 340, 22, 5); | |
| //{levoe krilo} | |
| setcolor(11); | |
| ellipse(404, 137, 200, 250, 45, 75); | |
| ellipse(308, 323, 45, 95, 75, 230); | |
| ellipse(301, 110, 100, 180, 3, 15); | |
| ellipse(340, 38, 225, 252, 60, 100); | |
| line(322, 133, 330, 150); | |
| ellipse(238, 244, 45, 81, 130, 130); | |
| ellipse(255, 132, 80, 160, 5, 15); | |
| ellipse(343, 36, 225, 252, 130, 130); | |
| line(303, 160, 316, 170); | |
| ellipse(291, 199, 70, 110, 70, 31); | |
| ellipse(313, 179, 160, 200, 50, 25); | |
| ellipse(268, 249, 60, 90, 125, 60); | |
| ellipse(377, 214, 139, 270, 60, 24); | |
| ellipse(375, 224, 115, 250, 30, 15); | |
| line(360, 210, 332, 190); | |
| ellipse(333, 179, 150, 260, 10, 10); | |
| ellipse(333, 179, 90, 160, 10, 9); | |
| line(334, 170, 358, 187); | |
| ellipse(369, 126, 200, 250, 30, 65); | |
| ellipse(338, 213, 50, 85, 36, 65); | |
| //{pravoe krilo} | |
| setcolor(11); | |
| ellipse(589, 209, 80, 130, 91, 70); | |
| ellipse(598, 148, 300, 50, 11, 10); | |
| ellipse(602, 267, 90, 115, 109, 110); | |
| ellipse(555, 185, 40, 90, 85, 17); | |
| ellipse(614, 182, 300, 50, 11, 10); | |
| ellipse(605, 201, 81, 135, 80, 10); | |
| ellipse(540, 244, 20, 80, 51, 50); | |
| ellipse(574, 223, 290, 350, 15, 15); | |
| ellipse(526, 270, 42, 90, 70, 50); | |
| ellipse(523, 239, 350, 70, 9, 20); | |
| ellipse(513, 229, 220, 310, 30, 20); | |
| ellipse(494, 225, 260, 30, 15, 15); | |
| ellipse(510, 200, 263, 70, 30, 15); | |
| ellipse(510, 170, 285, 60, 40, 15); | |
| //{telo} | |
| setcolor(11); | |
| line(511, 207, 470, 270); | |
| ellipse(392, 235, 290, 330, 90, 70); | |
| ellipse(395, 256, 175, 265, 45, 40); | |
| ellipse(385, 220, 45, 100, 25, 25); | |
| //{lico} | |
| setcolor(11); | |
| line(410, 100, 413, 90); | |
| ellipse(421, 151, 175, 295, 16, 19); | |
| line(427, 169, 432, 164); | |
| ellipse(423, 174, 280, 45, 13, 13); | |
| setcolor(12); | |
| ellipse(423, 174, 280, 28, 4, 13); | |
| setcolor(11); | |
| ellipse(457, 166, 230, 300, 52, 29); | |
| ellipse(450, 135, 320, 360, 80, 110); | |
| ellipse(420, 153, 240, 300, 6, 9); | |
| setcolor(12); | |
| ellipse(432, 183, 80, 220, 3, 3); | |
| //{yxo} | |
| setcolor(11); | |
| ellipse(545, 115, 100, 150, 40, 70); | |
| ellipse(518, 86, 295, 50, 30, 53); | |
| ellipse(515, 84, 310, 13, 23, 33); | |
| //{griva verx} | |
| setcolor(11); | |
| ellipse(496, 120, 75, 150, 67, 48); | |
| ellipse(482, 124, 120, 150, 50, 60); | |
| ellipse(385, 10, 264, 305, 120, 80); | |
| ellipse(367, 10, 280, 330, 69, 80); | |
| ellipse(419, 70, 80, 160, 30, 20); | |
| ellipse(442, 80, 80, 160, 55, 50); | |
| ellipse(416, 70, 50, 100, 55, 50); | |
| ellipse(443, 74, 15, 120, 80, 60); | |
| setcolor(12); | |
| ellipse(499, 100, 73, 152, 60, 50); | |
| setcolor(4); | |
| ellipse(499, 102, 75, 150, 60, 50); | |
| setcolor(12); | |
| ellipse(483, 188, 81, 112, 165, 150); | |
| setcolor(14); | |
| ellipse(483, 186, 82, 114, 165, 150); | |
| //{glaza} | |
| setcolor(11); | |
| ellipse(470, 130, 150, 20, 30, 40); | |
| ellipse(415, 124, 311, 28, 15, 30); | |
| ellipse(419, 125, 135, 240, 15, 30); | |
| ellipse(415, 147, 200, 340, 10, 5); | |
| setlinestyle(0, 0, 1); | |
| setcolor(7); | |
| ellipse(471, 130, 20, 150, 30, 40); | |
| line(500, 119, 513, 119); | |
| line(497, 108, 510, 102); | |
| line(488, 99, 500, 89); | |
| ellipse(417, 124, 28, 124, 14, 27); | |
| ellipse(419, 124, 134, 135, 15, 30); | |
| //{zrachki} | |
| setlinestyle(0, 0, 1); | |
| setcolor(13); | |
| setfillstyle(1, 13); | |
| fillellipse(460, 130, 15, 21); | |
| fillellipse(420, 125, 8, 16); | |
| setcolor(6); | |
| setfillstyle(1, 6); | |
| fillellipse(456, 130, 10, 15); | |
| fillellipse(423, 124, 5, 12); | |
| setfillstyle(1, 15); | |
| setcolor(15); | |
| fillellipse(459, 133, 3, 3); | |
| fillellipse(464, 122, 5, 6); | |
| fillellipse(422, 129, 1, 2); | |
| fillellipse(423, 119, 3, 4); | |
| } | |
| function pony_1() { | |
| //Princess Luna pascal graphics, (c) nick_ys , | |
| //http://tabun.everypony.ru/blog/15250.html , 25.03.2012 | |
| setcolor(9); | |
| line(20, 20, 60, 110); | |
| line(20, 20, 83, 100); | |
| //{korona} | |
| setcolor(1); | |
| line(72, 85, 72, 70); | |
| line(72, 70, 82, 81); | |
| line(82, 81, 82, 48); | |
| line(82, 48, 95, 82); | |
| line(95, 82, 99, 65); | |
| line(99, 65, 110, 96); | |
| //{griva} | |
| setcolor(3); | |
| ellipse(90, 91, 20, 160, 50, 20); | |
| ellipse(50, 133, 104, 251, 28, 50); | |
| ellipse(30, 204, 263, 65, 28, 25); | |
| ellipse(52, 195, 233, 320, 40, 45); | |
| ellipse(44, 217, 258, 350, 40, 50); | |
| ellipse(57, 198, 250, 340, 65, 73); | |
| line(81, 102, 138, 92); | |
| ellipse(87, 138, 95, 208, 43, 35); | |
| ellipse(62, 136, 229, 340, 20, 25); | |
| ellipse(73, 136, 90, 320, 10, 13); | |
| ellipse(21, 29, 289, 318, 160, 100); | |
| ellipse(145, 165, 350, 60, 40, 80); | |
| ellipse(203, 180, 180, 300, 18, 30); | |
| ellipse(190, 192, 170, 330, 25, 30); | |
| ellipse(118, 120, 330, 0, 60, 100); | |
| line(170, 171, 165, 186); | |
| ellipse(105, 120, 330, 10, 60, 100); | |
| ellipse(179, 190, 141, 270, 30, 30); | |
| //{glas} | |
| setcolor(9); | |
| ellipse(120, 130, 30, 192, 25, 10); | |
| line(95, 130, 94, 150); | |
| ellipse(95, 129, 280, 9, 47, 20); | |
| line(94, 150, 102, 149); | |
| setcolor(8); | |
| arc(94, 150, 9, 85, 15); | |
| setcolor(2); | |
| arc(94, 150, 9, 56, 25); | |
| setcolor(9); | |
| setlinestyle(0, 0, 2); | |
| ellipse(122, 137, 50, 150, 30, 10); | |
| line(95, 131, 88, 130); | |
| arc(142, 121, 280, 360, 8); | |
| arc(128, 119, 280, 10, 8); | |
| arc(118, 118, 280, 11, 8); | |
| arc(143, 130, 240, 300, 10); | |
| arc(140, 135, 220, 290, 10); | |
| arc(135, 140, 210, 270, 10); | |
| fillellipse(100, 144, 1, 1); | |
| fillellipse(101, 137, 3, 3); | |
| //{yxo} | |
| setlinestyle(0, 0, 1); | |
| ellipse(148, 85, 110, 220, 10, 25); | |
| ellipse(145, 96, 350, 90, 20, 35); | |
| //{lico} | |
| ellipse(60, 160, 270, 360, 10, 10); | |
| ellipse(75, 170, 180, 340, 15, 15); | |
| ellipse(89, 183, 190, 338, 15, 9); | |
| ellipse(107, 166, 265, 340, 35, 20); | |
| putpixel(72, 175, 9); | |
| putpixel(73, 174, 9); | |
| putpixel(73, 173, 9); | |
| //{telo} | |
| setcolor(9); | |
| ellipse(114, 205, 310, 65, 10, 21); | |
| line(120, 222, 110, 259); | |
| ellipse(132, 285, 170, 260, 25, 35); | |
| line(128, 320, 200, 370); | |
| line(193, 222, 225, 263); | |
| line(270, 325, 285, 350); | |
| //{noga} | |
| setcolor(9); | |
| line(155, 310, 145, 340); | |
| line(145, 340, 115, 300); | |
| setcolor(3); | |
| ellipse(80, 325, 31, 90, 40, 50); | |
| ellipse(89, 310, 118, 190, 20, 40); | |
| setcolor(9); | |
| line(169, 320, 153, 383); | |
| line(153, 383, 70, 319); | |
| setcolor(3); | |
| line(70, 319, 80, 327); | |
| line(80, 327, 82, 310); | |
| line(82, 310, 92, 305); | |
| line(92, 305, 92, 295); | |
| line(92, 295, 113, 295); | |
| setcolor(9); | |
| //{noga back} | |
| setcolor(3); | |
| line(73, 285, 63, 280); | |
| ellipse(60, 305, 88, 240, 10, 25); | |
| setcolor(9); | |
| line(55, 328, 100, 390); | |
| line(100, 390, 120, 360); | |
| line(103, 350, 90, 333); | |
| setcolor(3); | |
| line(63, 338, 63, 320); | |
| line(63, 320, 68, 317); | |
| //{krilo} | |
| setcolor(9); | |
| ellipse(320, 280, 160, 240, 120, 50); | |
| ellipse(209, 322, 20, 90, 80, 60); | |
| ellipse(260, 304, 270, 300, 50, 20); | |
| ellipse(235, 323, 360, 60, 50, 35); | |
| line(283, 303, 231, 279); | |
| line(285, 323, 220, 288); | |
| arc(215, 295, 270, 50, 8); | |
| arc(224, 284, 270, 40, 7); | |
| arc(233, 273, 279, 45, 8); | |
| //{znak} | |
| setcolor(1); | |
| ellipse(114, 205, 268, 342, 70, 50); | |
| ellipse(132, 273, 150, 1, 25, 27); | |
| ellipse(135, 234, 293, 18, 60, 40); | |
| fillellipse(132, 276, 17, 17); | |
| setfillstyle(1, 0); | |
| setcolor(0); | |
| fillellipse(125, 276, 11, 11); | |
| } | |
| function pony_2() { | |
| //Twilight Sparkle pascal graphics, (c) nick_ys , | |
| //http://tabun.everypony.ru/blog/15804.html , 29.03.2012 | |
| setcolor(5) | |
| ellipse(110, 80, 180, 255, 50, 60); | |
| ellipse(110, 80, 180, 235, 50, 40); | |
| ellipse(99, 77, 115, 235, 30, 45); | |
| ellipse(123, 54, 160, 250, 40, 50); | |
| ellipse(138, 83, 95, 205, 30, 43); | |
| ellipse(160, 58, 160, 240, 30, 48); | |
| ellipse(165, 100, 106, 180, 20, 35); | |
| ellipse(170, 76, 165, 320, 12, 30); | |
| ellipse(210, 95, 180, 245, 30, 40); | |
| //{griva verx polosi} | |
| setcolor(12); | |
| ellipse(202, 105, 180, 245, 30, 40); | |
| ellipse(170, 101, 180, 254, 25, 42); | |
| setcolor(13); | |
| ellipse(156, 88, 180, 254, 21, 54); | |
| setcolor(5); | |
| ellipse(140, 80, 155, 254, 25, 65); | |
| ellipse(112, 32, 193, 254, 40, 100); | |
| //{griva niz} | |
| setcolor(5); | |
| ellipse(251, 166, 120, 280, 23, 14); | |
| line(255, 180, 239, 193); | |
| ellipse(259, 193, 10, 170, 20, 3); | |
| ellipse(271, 198, 80, 200, 28, 5); | |
| line(245, 200, 276, 201); | |
| ellipse(295, 320, 100, 140, 105, 120); | |
| //{griva niz polosi} | |
| setcolor(12); | |
| ellipse(295, 310, 113, 140, 105, 120); | |
| ellipse(320, 301, 120, 136, 150, 120); | |
| setcolor(13); | |
| ellipse(310, 292, 113, 131, 150, 120); | |
| setcolor(5); | |
| line(235, 150, 220, 159); | |
| line(230, 169, 220, 168); | |
| line(230, 173, 218, 172); | |
| //{yxo} | |
| setcolor(13); | |
| ellipse(212, 182, 110, 149, 25, 60); | |
| ellipse(199, 159, 300, 76, 20, 35); | |
| arc(195, 150, 300, 10, 15); | |
| //{povyazka golova} | |
| setcolor(7); | |
| ellipse(145, 139, 189, 351, 50, 3); | |
| ellipse(121, 149, 249, 351, 70, 10); | |
| line(97, 140, 96, 158); | |
| line(216, 138, 230, 137); | |
| line(230, 137, 231, 150); | |
| line(231, 150, 218, 151); | |
| arc(230, 127, 270, 360, 10); | |
| arc(228, 142, 325, 50, 20); | |
| line(231, 150, 245, 155); | |
| line(231, 148, 248, 142); | |
| line(231, 144, 234, 142); | |
| line(150, 146, 190, 141); | |
| line(144, 152, 189, 151); | |
| //{rog} | |
| setcolor(13); | |
| line(105, 140, 100, 107); | |
| line(100, 107, 127, 141); | |
| //{povyazka} | |
| setcolor(8); | |
| ellipse(107, 215, 110, 160, 20, 60); | |
| ellipse(80, 168, 296, 20, 20, 30); | |
| line(100, 175, 150, 158); | |
| setlinestyle(0, 0, 3); | |
| line(110, 171, 118, 169); | |
| line(110, 172, 118, 170); | |
| setlinestyle(0, 0, 3); | |
| //{face} | |
| setcolor(13); | |
| ellipse(68, 197, 300, 340, 25, 3); | |
| line(90, 197, 91, 194); | |
| ellipse(89, 203, 170, 250, 10, 13); | |
| ellipse(89, 225, 5, 95, 16, 10); | |
| line(104, 222, 87, 220); | |
| ellipse(137, 192, 220, 283, 65, 45); | |
| line(150, 235, 165, 264); | |
| line(210, 190, 215, 245); | |
| //{glaz} | |
| setlinestyle(0, 0, 0); | |
| setcolor(8); | |
| arc(160, 150, 200, 280, 30); | |
| ellipse(141, 227, 90, 155, 25, 53); | |
| setcolor(13); | |
| ellipse(140, 163, 280, 342, 25, 53); | |
| setcolor(13); | |
| arc(105, 275, 55, 83, 70); | |
| setcolor(8); | |
| arc(165, 173, 260, 301, 10); | |
| arc(153, 221, 50, 95, 10); | |
| arc(157, 216, 50, 95, 10); | |
| arc(160, 211, 50, 94, 10); | |
| setcolor(8); | |
| ellipse(126, 195, 180, 100, 5, 9); | |
| setcolor(5); | |
| ellipse(126, 195, 205, 90, 7, 11); | |
| fillellipse(128, 193, 2, 3); | |
| fillellipse(124, 197, 1, 1); | |
| //{lico detali} | |
| setlinestyle(0, 0, 3); | |
| setcolor(12); | |
| line(160, 220, 175, 210); | |
| setcolor(13); | |
| line(130, 215, 120, 212); | |
| putpixel(85, 205, 13); | |
| putpixel(86, 205, 13); | |
| putpixel(87, 204, 13); | |
| //{telo} | |
| setcolor(8); | |
| ellipse(165, 233, 270, 350, 50, 25); | |
| arc(225, 246, 180, 240, 10); | |
| ellipse(193, 248, 190, 270, 30, 55); | |
| line(218, 252, 238, 252); | |
| line(238, 252, 265, 245); | |
| ellipse(284, 251, 90, 150, 20, 15); | |
| line(285, 236, 273, 245); | |
| line(273, 245, 286, 240); | |
| line(286, 240, 278, 246); | |
| ellipse(243, 310, 200, 340, 26, 5); | |
| //{telo shtrixi} | |
| setcolor(8); | |
| arc(190, 280, 90, 180, 11); | |
| arc(180, 270, 270, 360, 9); | |
| arc(210, 260, 250, 340, 20); | |
| line(205, 278, 227, 268); | |
| arc(270, 260, 190, 260, 5); | |
| arc(267, 263, 190, 270, 5); | |
| line(280, 255, 290, 270); | |
| line(288, 267, 280, 276); | |
| line(286, 276, 276, 261); | |
| line(276, 268, 284, 258); | |
| line(300, 270, 305, 264); | |
| line(303, 279, 290, 289); | |
| line(302, 285, 293, 292); | |
| line(292, 280, 299, 294); | |
| //{telo + zadnie nogi} | |
| setcolor(8); | |
| ellipse(280, 300, 340, 90, 39, 55); | |
| line(315, 320, 315, 325); | |
| arc(322, 339, 69, 110, 15); | |
| ellipse(315, 400, 340, 70, 35, 80); | |
| ellipse(329, 430, 150, 0, 19, 5); | |
| ellipse(270, 399, 340, 70, 45, 80); | |
| ellipse(301, 291, 180, 250, 40, 35); | |
| ellipse(290, 287, 220, 240, 40, 40); | |
| ellipse(254, 395, 345, 70, 40, 80); | |
| ellipse(311, 417, 155, 275, 19, 5); | |
| //{nogi shtrixi} | |
| setcolor(13); | |
| ellipse(345, 385, 85, 280, 25, 7); | |
| ellipse(291, 390, 283, 80, 15, 5); | |
| setcolor(8); | |
| arc(325, 405, 180, 270, 3); | |
| arc(324, 410, 180, 270, 4); | |
| line(330, 345, 320, 350); | |
| line(330, 338, 315, 345); | |
| line(318, 341, 323, 352); | |
| line(320, 335, 325, 343); | |
| arc(318, 348, 350, 30, 10); | |
| setcolor(13); | |
| ellipse(200, 380, 273, 86, 25, 9); | |
| setfillstyle(1, 5); | |
| setcolor(8); | |
| fillellipse(219, 360, 12, 3); | |
| setcolor(13); | |
| line(200, 350, 190, 348); | |
| line(200, 360, 190, 362); | |
| setcolor(8); | |
| line(212, 395, 225, 410); | |
| line(225, 400, 215, 420); | |
| line(215, 410, 225, 420); | |
| line(210, 400, 218, 398); | |
| //{perednie nogi} | |
| setcolor(8); | |
| ellipse(178, 367, 320, 80, 11, 71); | |
| ellipse(189, 374, 320, 70, 12, 81); | |
| ellipse(216, 429, 160, 358, 19, 5); | |
| ellipse(205, 412, 160, 247, 19, 5); | |
| ellipse(203, 430, 360, 75, 32, 135); | |
| //{xvost} | |
| setcolor(5); | |
| ellipse(364, 249, 80, 180, 70, 60); | |
| line(377, 191, 365, 195); | |
| ellipse(367, 255, 40, 90, 70, 60); | |
| line(420, 217, 403, 215); | |
| ellipse(342, 344, 20, 60, 120, 150); | |
| ellipse(333, 268, 100, 140, 40, 20); | |
| line(325, 250, 343, 266); | |
| line(343, 266, 339, 254); | |
| ellipse(330, 351, 345, 80, 50, 100); | |
| ellipse(365, 80, 275, 308, 131, 300); | |
| ellipse(365, 80, 310, 315, 131, 300); | |
| line(450, 310, 430, 270); | |
| line(430, 270, 445, 320); | |
| //{xvost polosi} | |
| setcolor(5); | |
| ellipse(333, 292, 350, 100, 42, 44); | |
| setcolor(13); | |
| ellipse(333, 305, 340, 130, 50, 70); | |
| setcolor(12); | |
| ellipse(337, 320, 326, 134, 58, 100); | |
| ellipse(345, 355, 359, 134, 70, 150); | |
| setcolor(5); | |
| ellipse(345, 360, 368, 115, 90, 160); | |
| } | |
| function pony_3() { | |
| //http://tabun.everypony.ru/blog/18432.html | |
| setcolor(8); | |
| ellipse(253, 227, 170, 210, 55, 45); | |
| ellipse(105, 203, 110, 200, 35, 75); | |
| ellipse(60, 288, 340, 50, 20, 75); | |
| ellipse(108, 323, 170, 273, 29, 45); | |
| ellipse(116, 352, 310, 55, 9, 15); | |
| line(109, 368, 120, 365); | |
| ellipse(111, 280, 180, 300, 20, 69); | |
| setcolor(7); | |
| ellipse(242, 232, 170, 210, 54, 50); | |
| ellipse(147, 210, 130, 170, 77, 75); | |
| ellipse(171, 230, 135, 175, 99, 80); | |
| ellipse(135, 312, 130, 180, 41, 40); | |
| ellipse(137, 330, 130, 180, 40, 50); | |
| ellipse(165, 310, 162, 200, 50, 40); | |
| setcolor(8); | |
| ellipse(190, 120, 305, 110, 50, 40); | |
| ellipse(202, 139, 110, 150, 90, 60); | |
| ellipse(119, 113, 265, 350, 22, 11); | |
| ellipse(140, 106, 240, 340, 50, 22); | |
| ellipse(170, 115, 270, 360, 16, 17); | |
| ellipse(189, 95, 250, 290, 55, 40); | |
| setcolor(7); | |
| ellipse(78, 10, 290, 310, 140, 110); | |
| ellipse(187, 123, 355, 120, 39, 32); | |
| ellipse(215, 127, 1, 80, 10, 8); | |
| ellipse(211, 133, 290, 60, 9, 17); | |
| setcolor(7); | |
| ellipse(110, 123, 1, 89, 15, 30); | |
| ellipse(85, 132, 350, 5, 40, 35); | |
| ellipse(117, 130, 105, 235, 24, 39); | |
| ellipse(122, 127, 150, 230, 20, 25); | |
| setcolor(7); | |
| ellipse(181, 174, 350, 60, 39, 45); | |
| ellipse(185, 159, 180, 205, 85, 90); | |
| ellipse(220, 163, 240, 271, 35, 20); | |
| ellipse(223, 187, 355, 120, 5, 5); | |
| ellipse(173, 182, 260, 350, 55, 44); | |
| ellipse(212, 201, 152, 240, 9, 6); | |
| ellipse(209, 200, 270, 320, 15, 7); | |
| arc(216, 182, 240, 280, 10); | |
| ellipse(192, 154, 60, 110, 9, 12); | |
| ellipse(203, 134, 240, 275, 12, 11); | |
| ellipse(165, 150, 70, 125, 16, 10); | |
| ellipse(146, 134, 230, 300, 17, 9); | |
| setcolor(5); | |
| ellipse(173, 171, 340, 20, 35, 24); | |
| setcolor(8); | |
| ellipse(177, 172, 340, 20, 35, 25); | |
| ellipse(205, 165, 175, 260, 10, 15); | |
| ellipse(204, 177, 55, 110, 25, 15); | |
| fillellipse(201, 166, 2, 5); | |
| putpixel(200, 173, 15); | |
| putpixel(200, 174, 15); | |
| line(219, 166, 225, 160); | |
| line(217, 164, 223, 159); | |
| line(216, 163, 222, 158); | |
| setcolor(8); | |
| ellipse(170, 175, 350, 80, 6, 16); | |
| ellipse(176, 158, 170, 270, 40, 22); | |
| ellipse(132, 160, 10, 85, 40, 6); | |
| ellipse(152, 165, 280, 60, 12, 12); | |
| ellipse(150, 165, 110, 190, 11, 11); | |
| setcolor(5); | |
| ellipse(156, 167, 290, 70, 13, 13); | |
| ellipse(148, 163, 120, 180, 11, 11); | |
| fillellipse(151, 160, 4, 5); | |
| fillellipse(159, 165, 1, 2); | |
| setcolor(8); | |
| line(135, 154, 127, 151); | |
| line(139, 153, 130, 147); | |
| line(144, 153, 139, 149); | |
| line(136, 163, 130, 164); | |
| line(140, 167, 134, 170); | |
| line(144, 171, 139, 173); | |
| setcolor(7); | |
| ellipse(107, 211, 320, 70, 5, 15); | |
| ellipse(110, 246, 90, 180, 3, 24); | |
| ellipse(172, 249, 90, 180, 3, 22); | |
| ellipse(179, 242, 270, 335, 30, 19); | |
| ellipse(139, 265, 190, 255, 33, 45); | |
| ellipse(193, 265, 270, 300, 85, 65); | |
| ellipse(235, 304, 350, 120, 58, 62); | |
| setcolor(7); | |
| ellipse(264, 290, 165, 300, 35, 50); | |
| ellipse(276, 395, 335, 75, 20, 65); | |
| ellipse(290, 425, 360, 67, 45, 120); | |
| ellipse(314, 424, 190, 350, 22, 5); | |
| ellipse(300, 315, 5, 175, 8, 5); | |
| ellipse(214, 320, 220, 299, 15, 15); | |
| line(221, 334, 216, 365); | |
| ellipse(245, 378, 160, 269, 30, 40); | |
| ellipse(245, 392, 275, 50, 10, 26); | |
| line(249, 335, 245, 370); | |
| line(245, 370, 251, 372); | |
| setcolor(7); | |
| line(126, 307, 110, 349); | |
| ellipse(55, 87, 283, 308, 80, 357); | |
| ellipse(105, 27, 284, 317, 55, 420); | |
| ellipse(95, 435, 185, 355, 23, 5); | |
| ellipse(150, 279, 20, 180, 14, 14); | |
| ellipse(174, 270, 190, 227, 40, 60); | |
| ellipse(253, 266, 190, 209, 90, 55); | |
| ellipse(191, 314, 180, 260, 45, 50); | |
| ellipse(148, 354, 0, 50, 48, 53); | |
| ellipse(185, 353, 275, 355, 10, 10); | |
| ellipse(302, 287, 190, 209, 140, 55); | |
| ellipse(185, 305, 275, 45, 15, 14); | |
| setcolor(15); | |
| ellipse(169, 258, 358, 90, 10, 15); | |
| ellipse(135, 239, 290, 330, 40, 20); | |
| ellipse(144, 250, 295, 330, 40, 20); | |
| setcolor(13); | |
| ellipse(104, 255, 62, 180, 7, 8); | |
| ellipse(106, 256, 180, 290, 9, 15); | |
| ellipse(141, 258, 0, 100, 6, 8); | |
| setcolor(13); | |
| ellipse(122, 260, 0, 360, 5, 7); | |
| line(118, 255, 108, 248); | |
| line(127, 255, 138, 250); | |
| line(118, 265, 109, 271); | |
| line(127, 265, 138, 270); | |
| line(147, 265, 147, 259); | |
| setcolor(8); | |
| ellipse(286, 321, 330, 105, 49, 69); | |
| ellipse(316, 265, 50, 160, 62, 58); | |
| setcolor(7); | |
| ellipse(325, 270, 55, 155, 72, 50); | |
| ellipse(310, 345, 55, 120, 95, 110); | |
| line(365, 254, 408, 285); | |
| ellipse(253, 331, 30, 65, 130, 80); | |
| ellipse(501, 256, 205, 239, 150, 80); | |
| ellipse(525, 220, 198, 240, 200, 160); | |
| ellipse(427, 325, 180, 275, 55, 66); | |
| ellipse(431, 375, 270, 39, 26, 16); | |
| ellipse(430, 240, 217, 260, 120, 150); | |
| ellipse(435, 275, 215, 265, 107, 128); | |
| ellipse(420, 275, 215, 258, 110, 131); | |
| setcolor(8); | |
| ellipse(260, 355, 360, 55, 165, 165); | |
| ellipse(435, 359, 170, 270, 10, 20); | |
| ellipse(440, 370, 245, 65, 12, 10); | |
| ellipse(437, 380, 300, 70, 25, 20); | |
| ellipse(405, 334, 230, 293, 112, 70); | |
| //{¬ҐвЄ } | |
| setcolor(5); | |
| ellipse(245, 260, 20, 220, 4, 5); | |
| ellipse(265, 260, 190, 280, 23, 20); | |
| ellipse(269, 277, 260, 50, 3, 3); | |
| ellipse(248, 275, 325, 70, 2, 17); | |
| ellipse(257, 286, 180, 10, 7, 7); | |
| ellipse(259, 284, 0, 180, 5, 8); | |
| ellipse(257, 284, 180, 50, 3, 3); | |
| } | |
| function pony_4() { | |
| //http://tabun.everypony.ru/blog/20224.html | |
| setcolor(13); | |
| ellipse(237, 55, 25, 100, 63, 48); | |
| ellipse(237, 60, 100, 195, 63, 53); | |
| line(177, 75, 198, 140); | |
| ellipse(258, 99, 200, 233, 50, 80); | |
| ellipse(194, 156, 310, 50, 7, 20); | |
| ellipse(195, 166, 180, 290, 7, 7); | |
| ellipse(192, 166, 10, 180, 4, 5); | |
| ellipse(203, 170, 180, 330, 24, 25); | |
| ellipse(188, 167, 10, 190, 9, 10); | |
| ellipse(268, 72, 49, 140, 35, 30); | |
| ellipse(228, 93, 55, 220, 22, 50); | |
| ellipse(310, 260, 45, 80, 26, 196); | |
| ellipse(344, 148, 160, 180, 50, 90); | |
| ellipse(344, 175, 170, 280, 15, 25); | |
| ellipse(345, 192, 300, 100, 4, 9); | |
| ellipse(346, 200, 270, 100, 10, 18); | |
| ellipse(345, 159, 188, 270, 52, 60); | |
| //{mane+} | |
| ellipse(192, 175, 330, 62, 19, 35); | |
| ellipse(215, 60, 130, 210, 10, 30); | |
| ellipse(224, 59, 19, 130, 22, 30); | |
| ellipse(210, 59, 15, 95, 40, 45); | |
| ellipse(225, 44, 0, 70, 30, 40); | |
| ellipse(255, 33, 342, 48, 20, 27); | |
| ellipse(265, 30, 320, 20, 20, 20); | |
| ellipse(307, 103, 320, 25, 15, 45); | |
| ellipse(327, 185, 150, 240, 16, 29); | |
| //{ear} | |
| setcolor(14); | |
| ellipse(300, 65, 100, 165, 10, 36); | |
| ellipse(299, 58, 310, 90, 15, 28); | |
| ellipse(302, 56, 315, 50, 5, 15); | |
| //{face} | |
| ellipse(257, 86, 122, 268, 35, 45); | |
| ellipse(273, 80, 295, 0, 36, 49); | |
| //{body} | |
| ellipse(306, 156, 150, 175, 15, 70); | |
| ellipse(233, 139, 330, 18, 22, 22); | |
| ellipse(289, 167, 280, 0, 2, 35); | |
| ellipse(262, 214, 185, 270, 20, 20); | |
| //{left leg up} | |
| ellipse(241, 167, 20, 140, 15, 25); | |
| ellipse(243, 179, 135, 245, 19, 40); | |
| ellipse(231, 176, 295, 325, 25, 42); | |
| ellipse(238, 196, 250, 290, 9, 20); | |
| ellipse(260, 160, 190, 230, 15, 21); | |
| //{right leg up} | |
| ellipse(266, 175, 70, 140, 13, 26); | |
| ellipse(269, 172, 5, 80, 9, 22); | |
| ellipse(268, 185, 130, 250, 19, 35); | |
| ellipse(264, 199, 250, 290, 9, 20); | |
| ellipse(257, 179, 295, 340, 24, 43); | |
| ellipse(282, 174, 190, 262, 12, 21); | |
| ellipse(274, 174, 290, 345, 12, 21); | |
| //{right leg down} | |
| ellipse(278, 224, 295, 40, 15, 33); | |
| ellipse(290, 275, 65, 110, 12, 23); | |
| ellipse(288, 259, 320, 40, 10, 9); | |
| ellipse(301, 316, 110, 170, 16, 55); | |
| ellipse(248, 297, 300, 340, 40, 30); | |
| ellipse(266, 303, 190, 275, 12, 20); | |
| ellipse(279, 315, 119, 170, 25, 55); | |
| ellipse(274, 254, 180, 260, 15, 15); | |
| ellipse(274, 260, 110, 170, 15, 45); | |
| //{left leg down} | |
| ellipse(250, 232, 150, 280, 17, 32); | |
| ellipse(268, 296, 140, 175, 25, 50); | |
| ellipse(260, 293, 180, 250, 17, 20); | |
| //{left eye} | |
| setcolor(7); | |
| ellipse(236, 84, 9, 175, 8, 15); | |
| ellipse(223, 84, 270, 0, 5, 5); | |
| ellipse(223, 82, 275, 0, 5, 5); | |
| ellipse(224, 78, 276, 0, 4, 5); | |
| //{right eye} | |
| ellipse(284, 81, 10, 179, 12, 16); | |
| ellipse(305, 79, 180, 280, 9, 6); | |
| ellipse(301, 78, 180, 351, 5, 4); | |
| ellipse(299, 75, 200, 350, 4, 3); | |
| //{nose} | |
| setcolor(5); | |
| ellipse(258, 100, 60, 120, 15, 10); | |
| ellipse(254, 95, 190, 245, 5, 5); | |
| ellipse(261, 95, 315, 0, 4, 4); | |
| //{mouth} | |
| setcolor(14); | |
| ellipse(258, 104, 200, 0, 9, 5); | |
| ellipse(262, 103, 200, 270, 12, 16); | |
| ellipse(263, 103, 260, 350, 4, 15); | |
| setcolor(12); | |
| ellipse(261, 126, 70, 110, 9, 11); | |
| //{right wing} | |
| setcolor(14); | |
| ellipse(257, 57, 290, 351, 95, 100); | |
| ellipse(355, 95, 20, 120, 9, 22); | |
| ellipse(275, 65, 330, 350, 90, 105); | |
| ellipse(240, 66, 320, 345, 149, 80); | |
| ellipse(388, 107, 34, 120, 9, 22); | |
| ellipse(254, 72, 313, 347, 145, 90); | |
| ellipse(358, 109, 260, 316, 40, 30); | |
| ellipse(393, 132, 0, 150, 7, 5); | |
| ellipse(349, 51, 260, 310, 80, 105); | |
| ellipse(331, 167, 350, 80, 25, 12); | |
| ellipse(333, 168, 295, 350, 23, 6); | |
| line(342, 173, 291, 166); | |
| ellipse(344, 180, 80, 110, 25, 70); | |
| ellipse(250, 112, 330, 0, 100, 50); | |
| ellipse(343, 153, 50, 110, 13, 17); | |
| ellipse(328, 141, 255, 0, 23, 12); | |
| ellipse(320, 163, 0, 75, 10, 10); | |
| ellipse(320, 158, 280, 330, 12, 12); | |
| //{left wing} | |
| setcolor(14); | |
| ellipse(182, 62, 190, 270, 15, 30); | |
| ellipse(171, 76, 80, 110, 9, 10); | |
| ellipse(158, 215, 60, 85, 60, 120); | |
| ellipse(207, 93, 195, 255, 47, 40); | |
| ellipse(167, 106, 120, 160, 6, 11); | |
| //{tail} | |
| setcolor(13); | |
| ellipse(290, 235, 60, 90, 35, 40); | |
| ellipse(313, 257, 0, 50, 50, 50); | |
| ellipse(323, 258, 290, 0, 40, 100); | |
| ellipse(342, 370, 120, 250, 10, 20); | |
| ellipse(356, 378, 220, 50, 23, 16); | |
| ellipse(349, 386, 270, 50, 35, 27); | |
| ellipse(349, 358, 165, 270, 57, 55); | |
| ellipse(286, 311, 310, 68, 12, 43); | |
| //{tail+} | |
| setcolor(13); | |
| ellipse(273, 276, 325, 70, 50, 77); | |
| ellipse(333, 362, 130, 230, 29, 53); | |
| ellipse(290, 174, 300, 340, 75, 194); | |
| ellipse(355, 374, 140, 230, 37, 48); | |
| //{cutiemark} | |
| setcolor(2); | |
| line(284, 222, 287, 217); | |
| line(287, 217, 288, 213); | |
| line(287, 217, 291, 215); | |
| line(275, 224, 276, 231); | |
| line(275, 224, 272, 220); | |
| line(275, 224, 276, 219); | |
| line(287, 234, 283, 240); | |
| line(287, 234, 287, 230); | |
| line(287, 234, 290, 232); | |
| setcolor(13); | |
| ellipse(284, 215, 320, 240, 2, 3); | |
| ellipse(282, 219, 90, 270, 4, 3); | |
| ellipse(286, 223, 150, 60, 3, 3); | |
| ellipse(288, 220, 300, 150, 4, 3); | |
| ellipse(273, 226, 30, 270, 2, 3); | |
| ellipse(273, 230, 110, 0, 2, 3); | |
| ellipse(277, 226, 280, 180, 2, 3); | |
| ellipse(278, 231, 200, 90, 2, 3); | |
| ellipse(284, 233, 350, 200, 2, 3); | |
| ellipse(281, 237, 80, 310, 3, 2); | |
| ellipse(284, 241, 160, 10, 2, 3); | |
| ellipse(288, 237, 260, 100, 3, 2); | |
| } | |
| })(); | |
| </script> | |
| <div id="codepen-footer"> | |
| <a style="color: #f73535 !important;" href="https://codepen.wufoo.com/forms/m7x3r3/def/field14=" target="_blank">Report Abuse</a> | |
| | |
| <a href="/ivanpopelyshev/pen/mndwc" target="_blank">Edit this Pen</a> | |
| </div> | |
| </body> | |
| </html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| if ( !window.requestAnimationFrame ) { | |
| window.requestAnimationFrame = ( function() { | |
| return window.webkitRequestAnimationFrame || | |
| window.mozRequestAnimationFrame || | |
| window.oRequestAnimationFrame || | |
| window.msRequestAnimationFrame || | |
| function( /* function FrameRequestCallback */ callback, /* DOMElement Element */ element ) { | |
| window.setTimeout( callback, 1000 / 60 ); | |
| }; | |
| } )(); | |
| } | |
| //Pascal HTML5 emulator by Jedi_Knight | |
| var canvas = null; | |
| var ctx = null; | |
| var width = 640; | |
| var height = 480; | |
| //var colors = ["black", "blue", "green", "cyan", "red", "magenta", "brown", "lightgray", | |
| //"darkgray", "lightblue", "lightgreen", "lightcyan", "lightred", "lightmagenta", "yellow", "white"]; | |
| var colors = ["#000000", "#0000AA", "#00AA00", "#00AAAA", "#AA0000", "#AA00AA", "#AA5500", "#AAAAAA", | |
| "#555555", "#5555FF", "#55FF55", "#55FFFF", "#FF5555", "#FF55FF", "#FFFF55", "#FFFFFF"]; | |
| var rgb = [ | |
| [0, 0, 0], | |
| [0, 0, 0xAA], | |
| [0, 0xAA, 0], | |
| [0, 0xAA, 0xAA], | |
| [0xAA, 0, 0], | |
| [0xAA, 0, 0xAA], | |
| [0xAA, 0x55, 0], | |
| [0xAA, 0xAA, 0xAA], | |
| [0x55, 0x55, 0x55], | |
| [0x55, 0x55, 0xFF], | |
| [0x55, 0xFF, 0x55], | |
| [0x55, 0xFF, 0xFF], | |
| [0xFF, 0x55, 0x55], | |
| [0xFF, 0x55, 0xFF], | |
| [0xFF, 0xFF, 0x55], | |
| [0xFF, 0xFF, 0xFF] | |
| ]; | |
| var rgbCache = []; | |
| var widthCache = []; | |
| var lineCache = []; | |
| var curline = 0; | |
| var clr = -1; | |
| var fillclr = -1; | |
| function setcolor(colorIndex) | |
| { | |
| ctx.strokeStyle = colors[colorIndex]; | |
| clr = colorIndex; | |
| } | |
| function line(x1, y1, x2, y2) | |
| { | |
| var x_1, y_1, x_2, y_2; | |
| var dx = x2-x1, dy = y2-y1; | |
| var N = NN; | |
| var N2 = Math.round(Math.sqrt(dx*dx+dy*dy) / 5); | |
| if (N2<N) N = N2; | |
| if (N<5) N = 1; | |
| while (NN%N!=0) N--; | |
| var d = NN/N; | |
| for (i=0; i<N; i++) | |
| { | |
| if (curline >= lineCache.length) | |
| { | |
| x_1 = dx*((i-0.01)/N) + x1; | |
| y_1 = dy*((i-0.01)/N) + y1; | |
| x_2 = dx*((i+1.01)/N) + x1; | |
| y_2 = dy*((i+1.01)/N) + y1; | |
| lineCache[curline++]= [x_1, y_1, x_2, y_2]; | |
| } else | |
| { | |
| x_1 = lineCache[curline][0]; | |
| y_1 = lineCache[curline][1]; | |
| x_2 = lineCache[curline][2]; | |
| y_2 = lineCache[curline][3]; | |
| curline++; | |
| } | |
| ctx.strokeStyle = rgbCache[clr][i*d]; | |
| ctx.lineWidth = widthCache[i*d]; | |
| ctx.beginPath(); | |
| ctx.moveTo(x_1, y_1); | |
| ctx.lineTo(x_2, y_2); | |
| ctx.stroke(); | |
| ctx.closePath(); | |
| } | |
| } | |
| function setlinestyle(p, t, width) | |
| { | |
| ctx.lineWidth = width; | |
| } | |
| function setfillstyle(temp, colorIndex) | |
| { | |
| fillclr = colorIndex; | |
| var r = rgb[colorIndex][0] * (2 + Math.cos(t))/3; | |
| var g = rgb[colorIndex][1] * (2 + Math.cos(t))/3; | |
| var b = rgb[colorIndex][2] * (2 + Math.cos(t))/3; | |
| r = Math.round(r); | |
| g = Math.round(g); | |
| b = Math.round(b); | |
| ctx.fillStyle = "rgb("+r+","+g+","+b+")"; | |
| } | |
| function putpixel(x, y, clr) | |
| { | |
| var c = clr; | |
| setcolor(clr); | |
| ellipse(x,y,0,Math.PI*2, 1,1); | |
| setcolor(c); | |
| } | |
| function arc(x, y, st, end, rad) | |
| { | |
| ellipse(x, y, st, end, rad, rad); | |
| } | |
| var NN =72; | |
| function ellipse(x, y, st, end, xrad, yrad) | |
| { | |
| var x1, y1, x2, y2; | |
| var N = NN/3; | |
| var a1 = - end * Math.PI/180; | |
| var a2 = - st * Math.PI/180; | |
| while (a2<a1) a2 += 2*Math.PI; | |
| var N2 = Math.round(((a2-a1) * (xrad+yrad)/5)); | |
| if (N2<N) N = N2; | |
| if (N<6) N = 6; | |
| while (NN%N!=0) N--; | |
| var d = NN/N; | |
| ctx.strokeStyle=colors[clr]; | |
| for (i=0; i<N; i++) | |
| { | |
| if (curline >= lineCache.length) | |
| { | |
| angle1 = (a2-a1) * (i/N-0.01) + a1; | |
| x1 = x + xrad * Math.cos(angle1); | |
| y1 = y + yrad * Math.sin(angle1); | |
| angle2 = (a2-a1) * ((i+1)/N+0.01) + a1; | |
| x2 = x + xrad * Math.cos(angle2); | |
| y2 = y + yrad * Math.sin(angle2); | |
| lineCache[curline++]= [x1, y1, x2, y2]; | |
| } else | |
| { | |
| x1 = lineCache[curline][0]; | |
| y1 = lineCache[curline][1]; | |
| x2 = lineCache[curline][2]; | |
| y2 = lineCache[curline][3]; | |
| curline++; | |
| } | |
| ctx.strokeStyle = rgbCache[clr][i*d]; | |
| ctx.lineWidth = widthCache[i*d]; | |
| ctx.beginPath(); | |
| ctx.moveTo(x1, y1); | |
| ctx.lineTo(x2, y2); | |
| ctx.stroke(); | |
| } | |
| } | |
| function fillellipse(x, y, xrad, yrad) | |
| { | |
| ctx.save(); | |
| ctx.translate(x, y); | |
| ctx.scale(xrad, yrad); | |
| ctx.beginPath(); | |
| ctx.arc(0, 0, 1, 0, Math.PI*2, true); | |
| ctx.fill(); | |
| ctx.closePath(); | |
| ctx.restore(); | |
| } | |
| var t = 0; | |
| var wasError = false; | |
| function draw() | |
| { | |
| t=Date.now() / 500; | |
| ctx.clearRect(0, 0, width, height); | |
| if (!wasError) | |
| try { | |
| curline = 0; | |
| var i, j; | |
| for (i=0; i<=15; i++) | |
| rgbCache[i] = []; | |
| for (i=0; i<NN; i++) | |
| { | |
| var phase = (t + i*2*Math.PI/NN); | |
| widthCache[i] = 2 + Math.cos(phase); | |
| for (j=0; j<rgb.length; j++) | |
| { | |
| var r = rgb[j][0] * 0.25 * (3 + Math.cos(phase)); | |
| var g = rgb[j][1] * 0.25 * (3 + Math.cos(phase)); | |
| var b = rgb[j][2] * 0.25 * (3 + Math.cos(phase)); | |
| r = Math.round(r); | |
| g = Math.round(g); | |
| b = Math.round(b); | |
| rgbCache[j][i] = "rgb("+r+","+g+","+b+")"; | |
| } | |
| } | |
| setfillstyle(0, 15); | |
| clr = 15; | |
| pascalCode(); | |
| } catch (err) | |
| { | |
| wasError = true; | |
| } | |
| requestAnimationFrame( draw ); | |
| } | |
| var imageNumber = 0, pascalCode = null; | |
| var ponies = null; | |
| function changeCode(number) | |
| { | |
| ponies = [pony_0, pony_1, pony_2, pony_3, pony_4]; | |
| pascalCode = ponies[number]; | |
| lineCache = []; | |
| } | |
| window.nextPony = function() { | |
| imageNumber = (imageNumber+1)%5; | |
| changeCode(imageNumber); | |
| } | |
| $(function() { | |
| canvas = $("#screen")[0]; | |
| ctx = canvas.getContext("2d"); | |
| canvas.width = width; | |
| canvas.height = height; | |
| $("#screen").click(nextPony); | |
| changeCode(imageNumber); | |
| requestAnimationFrame( draw ); | |
| }); | |
| //PONIES!!!! | |
| function pony_0() { | |
| //Rainbow Dash pascal graphics, (c) nick_ys , | |
| //http://tabun.everypony.ru/blog/17441.html , 10.04.2012 | |
| setcolor(1); | |
| line(330, 249, 335, 231); | |
| setcolor(14); | |
| line(337, 232, 332, 246); | |
| setcolor(4); | |
| line(330, 249, 340, 232); | |
| line(340, 232, 342, 237); | |
| line(342, 237, 344, 235); | |
| //{xvost} | |
| setcolor(11); | |
| ellipse(275, 205, 95, 175, 80, 60); | |
| ellipse(226, 203, 95, 175, 30, 30); | |
| ellipse(228, 310, 99, 170, 25, 140); | |
| ellipse(178, 273, 279, 350, 25, 70); | |
| ellipse(178, 273, 279, 330, 39, 70); | |
| ellipse(143, 291, 279, 350, 70, 100); | |
| ellipse(155, 291, 260, 310, 75, 100); | |
| ellipse(190, 200, 270, 300, 30, 190); | |
| ellipse(189, 290, 275, 340, 60, 100); | |
| ellipse(218, 340, 300, 20, 30, 50); | |
| ellipse(220, 280, 285, 352, 55, 107); | |
| ellipse(280, 289, 190, 280, 5, 25); | |
| ellipse(310, 340, 99, 170, 30, 150); | |
| setcolor(4); | |
| ellipse(295, 338, 99, 160, 32, 150); | |
| ellipse(236, 243, 285, 340, 30, 130); | |
| setcolor(12); | |
| ellipse(280, 338, 95, 160, 32, 150); | |
| ellipse(221, 243, 320, 340, 30, 130); | |
| setcolor(14); | |
| ellipse(267, 337, 97, 160, 32, 160); | |
| ellipse(209, 233, 285, 340, 30, 150); | |
| setcolor(2); | |
| ellipse(290, 215, 90, 170, 53, 60); | |
| ellipse(199, 220, 284, 340, 32, 150); | |
| line(229, 272, 237, 205); | |
| setcolor(5); | |
| ellipse(280, 215, 95, 170, 55, 66); | |
| ellipse(206, 146, 284, 340, 20, 170); | |
| //{griva niz} | |
| setcolor(11); | |
| ellipse(425, 193, 270, 0, 10, 50); | |
| line(426, 215, 425, 243); | |
| ellipse(386, 209, 280, 350, 40, 50); | |
| ellipse(389, 209, 280, 350, 13, 50); | |
| ellipse(432, 220, 100, 180, 30, 45); | |
| setcolor(5); | |
| ellipse(399, 205, 280, 330, 12, 50); | |
| ellipse(420, 255, 100, 150, 12, 50); | |
| //{zadnie nogi} | |
| setcolor(11); | |
| ellipse(410, 360, 130, 200, 60, 89); | |
| ellipse(421, 392, 128, 179, 109, 151); | |
| ellipse(334, 389, 180, 340, 21, 5); | |
| ellipse(429, 400, 128, 180, 120, 160); | |
| ellipse(289, 400, 180, 340, 22, 5); | |
| ellipse(388, 400, 141, 180, 120, 160); | |
| ellipse(328, 291, 110, 184, 20, 73); | |
| ellipse(303, 332, 79, 115, 22, 35); | |
| //{perednie nogi} | |
| setcolor(11); | |
| ellipse(500, 291, 170, 260, 30, 115); | |
| ellipse(460, 325, 160, 250, 20, 85); | |
| ellipse(474, 402, 180, 340, 22, 5); | |
| ellipse(439, 381, 110, 205, 30, 100); | |
| ellipse(428, 410, 120, 185, 60, 140); | |
| ellipse(390, 421, 180, 340, 22, 5); | |
| //{levoe krilo} | |
| setcolor(11); | |
| ellipse(404, 137, 200, 250, 45, 75); | |
| ellipse(308, 323, 45, 95, 75, 230); | |
| ellipse(301, 110, 100, 180, 3, 15); | |
| ellipse(340, 38, 225, 252, 60, 100); | |
| line(322, 133, 330, 150); | |
| ellipse(238, 244, 45, 81, 130, 130); | |
| ellipse(255, 132, 80, 160, 5, 15); | |
| ellipse(343, 36, 225, 252, 130, 130); | |
| line(303, 160, 316, 170); | |
| ellipse(291, 199, 70, 110, 70, 31); | |
| ellipse(313, 179, 160, 200, 50, 25); | |
| ellipse(268, 249, 60, 90, 125, 60); | |
| ellipse(377, 214, 139, 270, 60, 24); | |
| ellipse(375, 224, 115, 250, 30, 15); | |
| line(360, 210, 332, 190); | |
| ellipse(333, 179, 150, 260, 10, 10); | |
| ellipse(333, 179, 90, 160, 10, 9); | |
| line(334, 170, 358, 187); | |
| ellipse(369, 126, 200, 250, 30, 65); | |
| ellipse(338, 213, 50, 85, 36, 65); | |
| //{pravoe krilo} | |
| setcolor(11); | |
| ellipse(589, 209, 80, 130, 91, 70); | |
| ellipse(598, 148, 300, 50, 11, 10); | |
| ellipse(602, 267, 90, 115, 109, 110); | |
| ellipse(555, 185, 40, 90, 85, 17); | |
| ellipse(614, 182, 300, 50, 11, 10); | |
| ellipse(605, 201, 81, 135, 80, 10); | |
| ellipse(540, 244, 20, 80, 51, 50); | |
| ellipse(574, 223, 290, 350, 15, 15); | |
| ellipse(526, 270, 42, 90, 70, 50); | |
| ellipse(523, 239, 350, 70, 9, 20); | |
| ellipse(513, 229, 220, 310, 30, 20); | |
| ellipse(494, 225, 260, 30, 15, 15); | |
| ellipse(510, 200, 263, 70, 30, 15); | |
| ellipse(510, 170, 285, 60, 40, 15); | |
| //{telo} | |
| setcolor(11); | |
| line(511, 207, 470, 270); | |
| ellipse(392, 235, 290, 330, 90, 70); | |
| ellipse(395, 256, 175, 265, 45, 40); | |
| ellipse(385, 220, 45, 100, 25, 25); | |
| //{lico} | |
| setcolor(11); | |
| line(410, 100, 413, 90); | |
| ellipse(421, 151, 175, 295, 16, 19); | |
| line(427, 169, 432, 164); | |
| ellipse(423, 174, 280, 45, 13, 13); | |
| setcolor(12); | |
| ellipse(423, 174, 280, 28, 4, 13); | |
| setcolor(11); | |
| ellipse(457, 166, 230, 300, 52, 29); | |
| ellipse(450, 135, 320, 360, 80, 110); | |
| ellipse(420, 153, 240, 300, 6, 9); | |
| setcolor(12); | |
| ellipse(432, 183, 80, 220, 3, 3); | |
| //{yxo} | |
| setcolor(11); | |
| ellipse(545, 115, 100, 150, 40, 70); | |
| ellipse(518, 86, 295, 50, 30, 53); | |
| ellipse(515, 84, 310, 13, 23, 33); | |
| //{griva verx} | |
| setcolor(11); | |
| ellipse(496, 120, 75, 150, 67, 48); | |
| ellipse(482, 124, 120, 150, 50, 60); | |
| ellipse(385, 10, 264, 305, 120, 80); | |
| ellipse(367, 10, 280, 330, 69, 80); | |
| ellipse(419, 70, 80, 160, 30, 20); | |
| ellipse(442, 80, 80, 160, 55, 50); | |
| ellipse(416, 70, 50, 100, 55, 50); | |
| ellipse(443, 74, 15, 120, 80, 60); | |
| setcolor(12); | |
| ellipse(499, 100, 73, 152, 60, 50); | |
| setcolor(4); | |
| ellipse(499, 102, 75, 150, 60, 50); | |
| setcolor(12); | |
| ellipse(483, 188, 81, 112, 165, 150); | |
| setcolor(14); | |
| ellipse(483, 186, 82, 114, 165, 150); | |
| //{glaza} | |
| setcolor(11); | |
| ellipse(470, 130, 150, 20, 30, 40); | |
| ellipse(415, 124, 311, 28, 15, 30); | |
| ellipse(419, 125, 135, 240, 15, 30); | |
| ellipse(415, 147, 200, 340, 10, 5); | |
| setlinestyle(0, 0, 1); | |
| setcolor(7); | |
| ellipse(471, 130, 20, 150, 30, 40); | |
| line(500, 119, 513, 119); | |
| line(497, 108, 510, 102); | |
| line(488, 99, 500, 89); | |
| ellipse(417, 124, 28, 124, 14, 27); | |
| ellipse(419, 124, 134, 135, 15, 30); | |
| //{zrachki} | |
| setlinestyle(0, 0, 1); | |
| setcolor(13); | |
| setfillstyle(1, 13); | |
| fillellipse(460, 130, 15, 21); | |
| fillellipse(420, 125, 8, 16); | |
| setcolor(6); | |
| setfillstyle(1, 6); | |
| fillellipse(456, 130, 10, 15); | |
| fillellipse(423, 124, 5, 12); | |
| setfillstyle(1, 15); | |
| setcolor(15); | |
| fillellipse(459, 133, 3, 3); | |
| fillellipse(464, 122, 5, 6); | |
| fillellipse(422, 129, 1, 2); | |
| fillellipse(423, 119, 3, 4); | |
| } | |
| function pony_1() { | |
| //Princess Luna pascal graphics, (c) nick_ys , | |
| //http://tabun.everypony.ru/blog/15250.html , 25.03.2012 | |
| setcolor(9); | |
| line(20, 20, 60, 110); | |
| line(20, 20, 83, 100); | |
| //{korona} | |
| setcolor(1); | |
| line(72, 85, 72, 70); | |
| line(72, 70, 82, 81); | |
| line(82, 81, 82, 48); | |
| line(82, 48, 95, 82); | |
| line(95, 82, 99, 65); | |
| line(99, 65, 110, 96); | |
| //{griva} | |
| setcolor(3); | |
| ellipse(90, 91, 20, 160, 50, 20); | |
| ellipse(50, 133, 104, 251, 28, 50); | |
| ellipse(30, 204, 263, 65, 28, 25); | |
| ellipse(52, 195, 233, 320, 40, 45); | |
| ellipse(44, 217, 258, 350, 40, 50); | |
| ellipse(57, 198, 250, 340, 65, 73); | |
| line(81, 102, 138, 92); | |
| ellipse(87, 138, 95, 208, 43, 35); | |
| ellipse(62, 136, 229, 340, 20, 25); | |
| ellipse(73, 136, 90, 320, 10, 13); | |
| ellipse(21, 29, 289, 318, 160, 100); | |
| ellipse(145, 165, 350, 60, 40, 80); | |
| ellipse(203, 180, 180, 300, 18, 30); | |
| ellipse(190, 192, 170, 330, 25, 30); | |
| ellipse(118, 120, 330, 0, 60, 100); | |
| line(170, 171, 165, 186); | |
| ellipse(105, 120, 330, 10, 60, 100); | |
| ellipse(179, 190, 141, 270, 30, 30); | |
| //{glas} | |
| setcolor(9); | |
| ellipse(120, 130, 30, 192, 25, 10); | |
| line(95, 130, 94, 150); | |
| ellipse(95, 129, 280, 9, 47, 20); | |
| line(94, 150, 102, 149); | |
| setcolor(8); | |
| arc(94, 150, 9, 85, 15); | |
| setcolor(2); | |
| arc(94, 150, 9, 56, 25); | |
| setcolor(9); | |
| setlinestyle(0, 0, 2); | |
| ellipse(122, 137, 50, 150, 30, 10); | |
| line(95, 131, 88, 130); | |
| arc(142, 121, 280, 360, 8); | |
| arc(128, 119, 280, 10, 8); | |
| arc(118, 118, 280, 11, 8); | |
| arc(143, 130, 240, 300, 10); | |
| arc(140, 135, 220, 290, 10); | |
| arc(135, 140, 210, 270, 10); | |
| fillellipse(100, 144, 1, 1); | |
| fillellipse(101, 137, 3, 3); | |
| //{yxo} | |
| setlinestyle(0, 0, 1); | |
| ellipse(148, 85, 110, 220, 10, 25); | |
| ellipse(145, 96, 350, 90, 20, 35); | |
| //{lico} | |
| ellipse(60, 160, 270, 360, 10, 10); | |
| ellipse(75, 170, 180, 340, 15, 15); | |
| ellipse(89, 183, 190, 338, 15, 9); | |
| ellipse(107, 166, 265, 340, 35, 20); | |
| putpixel(72, 175, 9); | |
| putpixel(73, 174, 9); | |
| putpixel(73, 173, 9); | |
| //{telo} | |
| setcolor(9); | |
| ellipse(114, 205, 310, 65, 10, 21); | |
| line(120, 222, 110, 259); | |
| ellipse(132, 285, 170, 260, 25, 35); | |
| line(128, 320, 200, 370); | |
| line(193, 222, 225, 263); | |
| line(270, 325, 285, 350); | |
| //{noga} | |
| setcolor(9); | |
| line(155, 310, 145, 340); | |
| line(145, 340, 115, 300); | |
| setcolor(3); | |
| ellipse(80, 325, 31, 90, 40, 50); | |
| ellipse(89, 310, 118, 190, 20, 40); | |
| setcolor(9); | |
| line(169, 320, 153, 383); | |
| line(153, 383, 70, 319); | |
| setcolor(3); | |
| line(70, 319, 80, 327); | |
| line(80, 327, 82, 310); | |
| line(82, 310, 92, 305); | |
| line(92, 305, 92, 295); | |
| line(92, 295, 113, 295); | |
| setcolor(9); | |
| //{noga back} | |
| setcolor(3); | |
| line(73, 285, 63, 280); | |
| ellipse(60, 305, 88, 240, 10, 25); | |
| setcolor(9); | |
| line(55, 328, 100, 390); | |
| line(100, 390, 120, 360); | |
| line(103, 350, 90, 333); | |
| setcolor(3); | |
| line(63, 338, 63, 320); | |
| line(63, 320, 68, 317); | |
| //{krilo} | |
| setcolor(9); | |
| ellipse(320, 280, 160, 240, 120, 50); | |
| ellipse(209, 322, 20, 90, 80, 60); | |
| ellipse(260, 304, 270, 300, 50, 20); | |
| ellipse(235, 323, 360, 60, 50, 35); | |
| line(283, 303, 231, 279); | |
| line(285, 323, 220, 288); | |
| arc(215, 295, 270, 50, 8); | |
| arc(224, 284, 270, 40, 7); | |
| arc(233, 273, 279, 45, 8); | |
| //{znak} | |
| setcolor(1); | |
| ellipse(114, 205, 268, 342, 70, 50); | |
| ellipse(132, 273, 150, 1, 25, 27); | |
| ellipse(135, 234, 293, 18, 60, 40); | |
| fillellipse(132, 276, 17, 17); | |
| setfillstyle(1, 0); | |
| setcolor(0); | |
| fillellipse(125, 276, 11, 11); | |
| } | |
| function pony_2() { | |
| //Twilight Sparkle pascal graphics, (c) nick_ys , | |
| //http://tabun.everypony.ru/blog/15804.html , 29.03.2012 | |
| setcolor(5) | |
| ellipse(110, 80, 180, 255, 50, 60); | |
| ellipse(110, 80, 180, 235, 50, 40); | |
| ellipse(99, 77, 115, 235, 30, 45); | |
| ellipse(123, 54, 160, 250, 40, 50); | |
| ellipse(138, 83, 95, 205, 30, 43); | |
| ellipse(160, 58, 160, 240, 30, 48); | |
| ellipse(165, 100, 106, 180, 20, 35); | |
| ellipse(170, 76, 165, 320, 12, 30); | |
| ellipse(210, 95, 180, 245, 30, 40); | |
| //{griva verx polosi} | |
| setcolor(12); | |
| ellipse(202, 105, 180, 245, 30, 40); | |
| ellipse(170, 101, 180, 254, 25, 42); | |
| setcolor(13); | |
| ellipse(156, 88, 180, 254, 21, 54); | |
| setcolor(5); | |
| ellipse(140, 80, 155, 254, 25, 65); | |
| ellipse(112, 32, 193, 254, 40, 100); | |
| //{griva niz} | |
| setcolor(5); | |
| ellipse(251, 166, 120, 280, 23, 14); | |
| line(255, 180, 239, 193); | |
| ellipse(259, 193, 10, 170, 20, 3); | |
| ellipse(271, 198, 80, 200, 28, 5); | |
| line(245, 200, 276, 201); | |
| ellipse(295, 320, 100, 140, 105, 120); | |
| //{griva niz polosi} | |
| setcolor(12); | |
| ellipse(295, 310, 113, 140, 105, 120); | |
| ellipse(320, 301, 120, 136, 150, 120); | |
| setcolor(13); | |
| ellipse(310, 292, 113, 131, 150, 120); | |
| setcolor(5); | |
| line(235, 150, 220, 159); | |
| line(230, 169, 220, 168); | |
| line(230, 173, 218, 172); | |
| //{yxo} | |
| setcolor(13); | |
| ellipse(212, 182, 110, 149, 25, 60); | |
| ellipse(199, 159, 300, 76, 20, 35); | |
| arc(195, 150, 300, 10, 15); | |
| //{povyazka golova} | |
| setcolor(7); | |
| ellipse(145, 139, 189, 351, 50, 3); | |
| ellipse(121, 149, 249, 351, 70, 10); | |
| line(97, 140, 96, 158); | |
| line(216, 138, 230, 137); | |
| line(230, 137, 231, 150); | |
| line(231, 150, 218, 151); | |
| arc(230, 127, 270, 360, 10); | |
| arc(228, 142, 325, 50, 20); | |
| line(231, 150, 245, 155); | |
| line(231, 148, 248, 142); | |
| line(231, 144, 234, 142); | |
| line(150, 146, 190, 141); | |
| line(144, 152, 189, 151); | |
| //{rog} | |
| setcolor(13); | |
| line(105, 140, 100, 107); | |
| line(100, 107, 127, 141); | |
| //{povyazka} | |
| setcolor(8); | |
| ellipse(107, 215, 110, 160, 20, 60); | |
| ellipse(80, 168, 296, 20, 20, 30); | |
| line(100, 175, 150, 158); | |
| setlinestyle(0, 0, 3); | |
| line(110, 171, 118, 169); | |
| line(110, 172, 118, 170); | |
| setlinestyle(0, 0, 3); | |
| //{face} | |
| setcolor(13); | |
| ellipse(68, 197, 300, 340, 25, 3); | |
| line(90, 197, 91, 194); | |
| ellipse(89, 203, 170, 250, 10, 13); | |
| ellipse(89, 225, 5, 95, 16, 10); | |
| line(104, 222, 87, 220); | |
| ellipse(137, 192, 220, 283, 65, 45); | |
| line(150, 235, 165, 264); | |
| line(210, 190, 215, 245); | |
| //{glaz} | |
| setlinestyle(0, 0, 0); | |
| setcolor(8); | |
| arc(160, 150, 200, 280, 30); | |
| ellipse(141, 227, 90, 155, 25, 53); | |
| setcolor(13); | |
| ellipse(140, 163, 280, 342, 25, 53); | |
| setcolor(13); | |
| arc(105, 275, 55, 83, 70); | |
| setcolor(8); | |
| arc(165, 173, 260, 301, 10); | |
| arc(153, 221, 50, 95, 10); | |
| arc(157, 216, 50, 95, 10); | |
| arc(160, 211, 50, 94, 10); | |
| setcolor(8); | |
| ellipse(126, 195, 180, 100, 5, 9); | |
| setcolor(5); | |
| ellipse(126, 195, 205, 90, 7, 11); | |
| fillellipse(128, 193, 2, 3); | |
| fillellipse(124, 197, 1, 1); | |
| //{lico detali} | |
| setlinestyle(0, 0, 3); | |
| setcolor(12); | |
| line(160, 220, 175, 210); | |
| setcolor(13); | |
| line(130, 215, 120, 212); | |
| putpixel(85, 205, 13); | |
| putpixel(86, 205, 13); | |
| putpixel(87, 204, 13); | |
| //{telo} | |
| setcolor(8); | |
| ellipse(165, 233, 270, 350, 50, 25); | |
| arc(225, 246, 180, 240, 10); | |
| ellipse(193, 248, 190, 270, 30, 55); | |
| line(218, 252, 238, 252); | |
| line(238, 252, 265, 245); | |
| ellipse(284, 251, 90, 150, 20, 15); | |
| line(285, 236, 273, 245); | |
| line(273, 245, 286, 240); | |
| line(286, 240, 278, 246); | |
| ellipse(243, 310, 200, 340, 26, 5); | |
| //{telo shtrixi} | |
| setcolor(8); | |
| arc(190, 280, 90, 180, 11); | |
| arc(180, 270, 270, 360, 9); | |
| arc(210, 260, 250, 340, 20); | |
| line(205, 278, 227, 268); | |
| arc(270, 260, 190, 260, 5); | |
| arc(267, 263, 190, 270, 5); | |
| line(280, 255, 290, 270); | |
| line(288, 267, 280, 276); | |
| line(286, 276, 276, 261); | |
| line(276, 268, 284, 258); | |
| line(300, 270, 305, 264); | |
| line(303, 279, 290, 289); | |
| line(302, 285, 293, 292); | |
| line(292, 280, 299, 294); | |
| //{telo + zadnie nogi} | |
| setcolor(8); | |
| ellipse(280, 300, 340, 90, 39, 55); | |
| line(315, 320, 315, 325); | |
| arc(322, 339, 69, 110, 15); | |
| ellipse(315, 400, 340, 70, 35, 80); | |
| ellipse(329, 430, 150, 0, 19, 5); | |
| ellipse(270, 399, 340, 70, 45, 80); | |
| ellipse(301, 291, 180, 250, 40, 35); | |
| ellipse(290, 287, 220, 240, 40, 40); | |
| ellipse(254, 395, 345, 70, 40, 80); | |
| ellipse(311, 417, 155, 275, 19, 5); | |
| //{nogi shtrixi} | |
| setcolor(13); | |
| ellipse(345, 385, 85, 280, 25, 7); | |
| ellipse(291, 390, 283, 80, 15, 5); | |
| setcolor(8); | |
| arc(325, 405, 180, 270, 3); | |
| arc(324, 410, 180, 270, 4); | |
| line(330, 345, 320, 350); | |
| line(330, 338, 315, 345); | |
| line(318, 341, 323, 352); | |
| line(320, 335, 325, 343); | |
| arc(318, 348, 350, 30, 10); | |
| setcolor(13); | |
| ellipse(200, 380, 273, 86, 25, 9); | |
| setfillstyle(1, 5); | |
| setcolor(8); | |
| fillellipse(219, 360, 12, 3); | |
| setcolor(13); | |
| line(200, 350, 190, 348); | |
| line(200, 360, 190, 362); | |
| setcolor(8); | |
| line(212, 395, 225, 410); | |
| line(225, 400, 215, 420); | |
| line(215, 410, 225, 420); | |
| line(210, 400, 218, 398); | |
| //{perednie nogi} | |
| setcolor(8); | |
| ellipse(178, 367, 320, 80, 11, 71); | |
| ellipse(189, 374, 320, 70, 12, 81); | |
| ellipse(216, 429, 160, 358, 19, 5); | |
| ellipse(205, 412, 160, 247, 19, 5); | |
| ellipse(203, 430, 360, 75, 32, 135); | |
| //{xvost} | |
| setcolor(5); | |
| ellipse(364, 249, 80, 180, 70, 60); | |
| line(377, 191, 365, 195); | |
| ellipse(367, 255, 40, 90, 70, 60); | |
| line(420, 217, 403, 215); | |
| ellipse(342, 344, 20, 60, 120, 150); | |
| ellipse(333, 268, 100, 140, 40, 20); | |
| line(325, 250, 343, 266); | |
| line(343, 266, 339, 254); | |
| ellipse(330, 351, 345, 80, 50, 100); | |
| ellipse(365, 80, 275, 308, 131, 300); | |
| ellipse(365, 80, 310, 315, 131, 300); | |
| line(450, 310, 430, 270); | |
| line(430, 270, 445, 320); | |
| //{xvost polosi} | |
| setcolor(5); | |
| ellipse(333, 292, 350, 100, 42, 44); | |
| setcolor(13); | |
| ellipse(333, 305, 340, 130, 50, 70); | |
| setcolor(12); | |
| ellipse(337, 320, 326, 134, 58, 100); | |
| ellipse(345, 355, 359, 134, 70, 150); | |
| setcolor(5); | |
| ellipse(345, 360, 368, 115, 90, 160); | |
| } | |
| function pony_3() { | |
| //http://tabun.everypony.ru/blog/18432.html | |
| setcolor(8); | |
| ellipse(253, 227, 170, 210, 55, 45); | |
| ellipse(105, 203, 110, 200, 35, 75); | |
| ellipse(60, 288, 340, 50, 20, 75); | |
| ellipse(108, 323, 170, 273, 29, 45); | |
| ellipse(116, 352, 310, 55, 9, 15); | |
| line(109, 368, 120, 365); | |
| ellipse(111, 280, 180, 300, 20, 69); | |
| setcolor(7); | |
| ellipse(242, 232, 170, 210, 54, 50); | |
| ellipse(147, 210, 130, 170, 77, 75); | |
| ellipse(171, 230, 135, 175, 99, 80); | |
| ellipse(135, 312, 130, 180, 41, 40); | |
| ellipse(137, 330, 130, 180, 40, 50); | |
| ellipse(165, 310, 162, 200, 50, 40); | |
| setcolor(8); | |
| ellipse(190, 120, 305, 110, 50, 40); | |
| ellipse(202, 139, 110, 150, 90, 60); | |
| ellipse(119, 113, 265, 350, 22, 11); | |
| ellipse(140, 106, 240, 340, 50, 22); | |
| ellipse(170, 115, 270, 360, 16, 17); | |
| ellipse(189, 95, 250, 290, 55, 40); | |
| setcolor(7); | |
| ellipse(78, 10, 290, 310, 140, 110); | |
| ellipse(187, 123, 355, 120, 39, 32); | |
| ellipse(215, 127, 1, 80, 10, 8); | |
| ellipse(211, 133, 290, 60, 9, 17); | |
| setcolor(7); | |
| ellipse(110, 123, 1, 89, 15, 30); | |
| ellipse(85, 132, 350, 5, 40, 35); | |
| ellipse(117, 130, 105, 235, 24, 39); | |
| ellipse(122, 127, 150, 230, 20, 25); | |
| setcolor(7); | |
| ellipse(181, 174, 350, 60, 39, 45); | |
| ellipse(185, 159, 180, 205, 85, 90); | |
| ellipse(220, 163, 240, 271, 35, 20); | |
| ellipse(223, 187, 355, 120, 5, 5); | |
| ellipse(173, 182, 260, 350, 55, 44); | |
| ellipse(212, 201, 152, 240, 9, 6); | |
| ellipse(209, 200, 270, 320, 15, 7); | |
| arc(216, 182, 240, 280, 10); | |
| ellipse(192, 154, 60, 110, 9, 12); | |
| ellipse(203, 134, 240, 275, 12, 11); | |
| ellipse(165, 150, 70, 125, 16, 10); | |
| ellipse(146, 134, 230, 300, 17, 9); | |
| setcolor(5); | |
| ellipse(173, 171, 340, 20, 35, 24); | |
| setcolor(8); | |
| ellipse(177, 172, 340, 20, 35, 25); | |
| ellipse(205, 165, 175, 260, 10, 15); | |
| ellipse(204, 177, 55, 110, 25, 15); | |
| fillellipse(201, 166, 2, 5); | |
| putpixel(200, 173, 15); | |
| putpixel(200, 174, 15); | |
| line(219, 166, 225, 160); | |
| line(217, 164, 223, 159); | |
| line(216, 163, 222, 158); | |
| setcolor(8); | |
| ellipse(170, 175, 350, 80, 6, 16); | |
| ellipse(176, 158, 170, 270, 40, 22); | |
| ellipse(132, 160, 10, 85, 40, 6); | |
| ellipse(152, 165, 280, 60, 12, 12); | |
| ellipse(150, 165, 110, 190, 11, 11); | |
| setcolor(5); | |
| ellipse(156, 167, 290, 70, 13, 13); | |
| ellipse(148, 163, 120, 180, 11, 11); | |
| fillellipse(151, 160, 4, 5); | |
| fillellipse(159, 165, 1, 2); | |
| setcolor(8); | |
| line(135, 154, 127, 151); | |
| line(139, 153, 130, 147); | |
| line(144, 153, 139, 149); | |
| line(136, 163, 130, 164); | |
| line(140, 167, 134, 170); | |
| line(144, 171, 139, 173); | |
| setcolor(7); | |
| ellipse(107, 211, 320, 70, 5, 15); | |
| ellipse(110, 246, 90, 180, 3, 24); | |
| ellipse(172, 249, 90, 180, 3, 22); | |
| ellipse(179, 242, 270, 335, 30, 19); | |
| ellipse(139, 265, 190, 255, 33, 45); | |
| ellipse(193, 265, 270, 300, 85, 65); | |
| ellipse(235, 304, 350, 120, 58, 62); | |
| setcolor(7); | |
| ellipse(264, 290, 165, 300, 35, 50); | |
| ellipse(276, 395, 335, 75, 20, 65); | |
| ellipse(290, 425, 360, 67, 45, 120); | |
| ellipse(314, 424, 190, 350, 22, 5); | |
| ellipse(300, 315, 5, 175, 8, 5); | |
| ellipse(214, 320, 220, 299, 15, 15); | |
| line(221, 334, 216, 365); | |
| ellipse(245, 378, 160, 269, 30, 40); | |
| ellipse(245, 392, 275, 50, 10, 26); | |
| line(249, 335, 245, 370); | |
| line(245, 370, 251, 372); | |
| setcolor(7); | |
| line(126, 307, 110, 349); | |
| ellipse(55, 87, 283, 308, 80, 357); | |
| ellipse(105, 27, 284, 317, 55, 420); | |
| ellipse(95, 435, 185, 355, 23, 5); | |
| ellipse(150, 279, 20, 180, 14, 14); | |
| ellipse(174, 270, 190, 227, 40, 60); | |
| ellipse(253, 266, 190, 209, 90, 55); | |
| ellipse(191, 314, 180, 260, 45, 50); | |
| ellipse(148, 354, 0, 50, 48, 53); | |
| ellipse(185, 353, 275, 355, 10, 10); | |
| ellipse(302, 287, 190, 209, 140, 55); | |
| ellipse(185, 305, 275, 45, 15, 14); | |
| setcolor(15); | |
| ellipse(169, 258, 358, 90, 10, 15); | |
| ellipse(135, 239, 290, 330, 40, 20); | |
| ellipse(144, 250, 295, 330, 40, 20); | |
| setcolor(13); | |
| ellipse(104, 255, 62, 180, 7, 8); | |
| ellipse(106, 256, 180, 290, 9, 15); | |
| ellipse(141, 258, 0, 100, 6, 8); | |
| setcolor(13); | |
| ellipse(122, 260, 0, 360, 5, 7); | |
| line(118, 255, 108, 248); | |
| line(127, 255, 138, 250); | |
| line(118, 265, 109, 271); | |
| line(127, 265, 138, 270); | |
| line(147, 265, 147, 259); | |
| setcolor(8); | |
| ellipse(286, 321, 330, 105, 49, 69); | |
| ellipse(316, 265, 50, 160, 62, 58); | |
| setcolor(7); | |
| ellipse(325, 270, 55, 155, 72, 50); | |
| ellipse(310, 345, 55, 120, 95, 110); | |
| line(365, 254, 408, 285); | |
| ellipse(253, 331, 30, 65, 130, 80); | |
| ellipse(501, 256, 205, 239, 150, 80); | |
| ellipse(525, 220, 198, 240, 200, 160); | |
| ellipse(427, 325, 180, 275, 55, 66); | |
| ellipse(431, 375, 270, 39, 26, 16); | |
| ellipse(430, 240, 217, 260, 120, 150); | |
| ellipse(435, 275, 215, 265, 107, 128); | |
| ellipse(420, 275, 215, 258, 110, 131); | |
| setcolor(8); | |
| ellipse(260, 355, 360, 55, 165, 165); | |
| ellipse(435, 359, 170, 270, 10, 20); | |
| ellipse(440, 370, 245, 65, 12, 10); | |
| ellipse(437, 380, 300, 70, 25, 20); | |
| ellipse(405, 334, 230, 293, 112, 70); | |
| //{¬ҐвЄ } | |
| setcolor(5); | |
| ellipse(245, 260, 20, 220, 4, 5); | |
| ellipse(265, 260, 190, 280, 23, 20); | |
| ellipse(269, 277, 260, 50, 3, 3); | |
| ellipse(248, 275, 325, 70, 2, 17); | |
| ellipse(257, 286, 180, 10, 7, 7); | |
| ellipse(259, 284, 0, 180, 5, 8); | |
| ellipse(257, 284, 180, 50, 3, 3); | |
| } | |
| function pony_4() { | |
| //http://tabun.everypony.ru/blog/20224.html | |
| setcolor(13); | |
| ellipse(237, 55, 25, 100, 63, 48); | |
| ellipse(237, 60, 100, 195, 63, 53); | |
| line(177, 75, 198, 140); | |
| ellipse(258, 99, 200, 233, 50, 80); | |
| ellipse(194, 156, 310, 50, 7, 20); | |
| ellipse(195, 166, 180, 290, 7, 7); | |
| ellipse(192, 166, 10, 180, 4, 5); | |
| ellipse(203, 170, 180, 330, 24, 25); | |
| ellipse(188, 167, 10, 190, 9, 10); | |
| ellipse(268, 72, 49, 140, 35, 30); | |
| ellipse(228, 93, 55, 220, 22, 50); | |
| ellipse(310, 260, 45, 80, 26, 196); | |
| ellipse(344, 148, 160, 180, 50, 90); | |
| ellipse(344, 175, 170, 280, 15, 25); | |
| ellipse(345, 192, 300, 100, 4, 9); | |
| ellipse(346, 200, 270, 100, 10, 18); | |
| ellipse(345, 159, 188, 270, 52, 60); | |
| //{mane+} | |
| ellipse(192, 175, 330, 62, 19, 35); | |
| ellipse(215, 60, 130, 210, 10, 30); | |
| ellipse(224, 59, 19, 130, 22, 30); | |
| ellipse(210, 59, 15, 95, 40, 45); | |
| ellipse(225, 44, 0, 70, 30, 40); | |
| ellipse(255, 33, 342, 48, 20, 27); | |
| ellipse(265, 30, 320, 20, 20, 20); | |
| ellipse(307, 103, 320, 25, 15, 45); | |
| ellipse(327, 185, 150, 240, 16, 29); | |
| //{ear} | |
| setcolor(14); | |
| ellipse(300, 65, 100, 165, 10, 36); | |
| ellipse(299, 58, 310, 90, 15, 28); | |
| ellipse(302, 56, 315, 50, 5, 15); | |
| //{face} | |
| ellipse(257, 86, 122, 268, 35, 45); | |
| ellipse(273, 80, 295, 0, 36, 49); | |
| //{body} | |
| ellipse(306, 156, 150, 175, 15, 70); | |
| ellipse(233, 139, 330, 18, 22, 22); | |
| ellipse(289, 167, 280, 0, 2, 35); | |
| ellipse(262, 214, 185, 270, 20, 20); | |
| //{left leg up} | |
| ellipse(241, 167, 20, 140, 15, 25); | |
| ellipse(243, 179, 135, 245, 19, 40); | |
| ellipse(231, 176, 295, 325, 25, 42); | |
| ellipse(238, 196, 250, 290, 9, 20); | |
| ellipse(260, 160, 190, 230, 15, 21); | |
| //{right leg up} | |
| ellipse(266, 175, 70, 140, 13, 26); | |
| ellipse(269, 172, 5, 80, 9, 22); | |
| ellipse(268, 185, 130, 250, 19, 35); | |
| ellipse(264, 199, 250, 290, 9, 20); | |
| ellipse(257, 179, 295, 340, 24, 43); | |
| ellipse(282, 174, 190, 262, 12, 21); | |
| ellipse(274, 174, 290, 345, 12, 21); | |
| //{right leg down} | |
| ellipse(278, 224, 295, 40, 15, 33); | |
| ellipse(290, 275, 65, 110, 12, 23); | |
| ellipse(288, 259, 320, 40, 10, 9); | |
| ellipse(301, 316, 110, 170, 16, 55); | |
| ellipse(248, 297, 300, 340, 40, 30); | |
| ellipse(266, 303, 190, 275, 12, 20); | |
| ellipse(279, 315, 119, 170, 25, 55); | |
| ellipse(274, 254, 180, 260, 15, 15); | |
| ellipse(274, 260, 110, 170, 15, 45); | |
| //{left leg down} | |
| ellipse(250, 232, 150, 280, 17, 32); | |
| ellipse(268, 296, 140, 175, 25, 50); | |
| ellipse(260, 293, 180, 250, 17, 20); | |
| //{left eye} | |
| setcolor(7); | |
| ellipse(236, 84, 9, 175, 8, 15); | |
| ellipse(223, 84, 270, 0, 5, 5); | |
| ellipse(223, 82, 275, 0, 5, 5); | |
| ellipse(224, 78, 276, 0, 4, 5); | |
| //{right eye} | |
| ellipse(284, 81, 10, 179, 12, 16); | |
| ellipse(305, 79, 180, 280, 9, 6); | |
| ellipse(301, 78, 180, 351, 5, 4); | |
| ellipse(299, 75, 200, 350, 4, 3); | |
| //{nose} | |
| setcolor(5); | |
| ellipse(258, 100, 60, 120, 15, 10); | |
| ellipse(254, 95, 190, 245, 5, 5); | |
| ellipse(261, 95, 315, 0, 4, 4); | |
| //{mouth} | |
| setcolor(14); | |
| ellipse(258, 104, 200, 0, 9, 5); | |
| ellipse(262, 103, 200, 270, 12, 16); | |
| ellipse(263, 103, 260, 350, 4, 15); | |
| setcolor(12); | |
| ellipse(261, 126, 70, 110, 9, 11); | |
| //{right wing} | |
| setcolor(14); | |
| ellipse(257, 57, 290, 351, 95, 100); | |
| ellipse(355, 95, 20, 120, 9, 22); | |
| ellipse(275, 65, 330, 350, 90, 105); | |
| ellipse(240, 66, 320, 345, 149, 80); | |
| ellipse(388, 107, 34, 120, 9, 22); | |
| ellipse(254, 72, 313, 347, 145, 90); | |
| ellipse(358, 109, 260, 316, 40, 30); | |
| ellipse(393, 132, 0, 150, 7, 5); | |
| ellipse(349, 51, 260, 310, 80, 105); | |
| ellipse(331, 167, 350, 80, 25, 12); | |
| ellipse(333, 168, 295, 350, 23, 6); | |
| line(342, 173, 291, 166); | |
| ellipse(344, 180, 80, 110, 25, 70); | |
| ellipse(250, 112, 330, 0, 100, 50); | |
| ellipse(343, 153, 50, 110, 13, 17); | |
| ellipse(328, 141, 255, 0, 23, 12); | |
| ellipse(320, 163, 0, 75, 10, 10); | |
| ellipse(320, 158, 280, 330, 12, 12); | |
| //{left wing} | |
| setcolor(14); | |
| ellipse(182, 62, 190, 270, 15, 30); | |
| ellipse(171, 76, 80, 110, 9, 10); | |
| ellipse(158, 215, 60, 85, 60, 120); | |
| ellipse(207, 93, 195, 255, 47, 40); | |
| ellipse(167, 106, 120, 160, 6, 11); | |
| //{tail} | |
| setcolor(13); | |
| ellipse(290, 235, 60, 90, 35, 40); | |
| ellipse(313, 257, 0, 50, 50, 50); | |
| ellipse(323, 258, 290, 0, 40, 100); | |
| ellipse(342, 370, 120, 250, 10, 20); | |
| ellipse(356, 378, 220, 50, 23, 16); | |
| ellipse(349, 386, 270, 50, 35, 27); | |
| ellipse(349, 358, 165, 270, 57, 55); | |
| ellipse(286, 311, 310, 68, 12, 43); | |
| //{tail+} | |
| setcolor(13); | |
| ellipse(273, 276, 325, 70, 50, 77); | |
| ellipse(333, 362, 130, 230, 29, 53); | |
| ellipse(290, 174, 300, 340, 75, 194); | |
| ellipse(355, 374, 140, 230, 37, 48); | |
| //{cutiemark} | |
| setcolor(2); | |
| line(284, 222, 287, 217); | |
| line(287, 217, 288, 213); | |
| line(287, 217, 291, 215); | |
| line(275, 224, 276, 231); | |
| line(275, 224, 272, 220); | |
| line(275, 224, 276, 219); | |
| line(287, 234, 283, 240); | |
| line(287, 234, 287, 230); | |
| line(287, 234, 290, 232); | |
| setcolor(13); | |
| ellipse(284, 215, 320, 240, 2, 3); | |
| ellipse(282, 219, 90, 270, 4, 3); | |
| ellipse(286, 223, 150, 60, 3, 3); | |
| ellipse(288, 220, 300, 150, 4, 3); | |
| ellipse(273, 226, 30, 270, 2, 3); | |
| ellipse(273, 230, 110, 0, 2, 3); | |
| ellipse(277, 226, 280, 180, 2, 3); | |
| ellipse(278, 231, 200, 90, 2, 3); | |
| ellipse(284, 233, 350, 200, 2, 3); | |
| ellipse(281, 237, 80, 310, 3, 2); | |
| ellipse(284, 241, 160, 10, 2, 3); | |
| ellipse(288, 237, 260, 100, 3, 2); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <canvas id="screen"></canvas> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| body { | |
| background: #222; | |
| } | |
| #screen { | |
| background: #000; | |
| position: absolute; | |
| top: 0px; | |
| left: 50%; | |
| margin: 0px 0 0 -320px; | |
| width: 640px; | |
| height: 480px; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment