Show
Ignore:
Timestamp:
08/14/08 09:57:30 (5 months ago)
Author:
amachang
Message:

ちっちゃな変更

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • docs/amachang/20080813-procamp2008/index.html

    r17614 r17615  
    790790            } 
    791791 
    792 <strong>            function check(map, block, offsetx, offsety) {</strong> 
    793 <strong>                if (offsetx &lt; 0 || offsety &lt; 0 ||</strong> 
    794 <strong>                    mapHeight &lt; offsety + block.length ||</strong> 
    795 <strong>                    mapWidth  &lt; offsetx + block[0].length) {</strong> 
    796 <strong>                    return false;;</strong> 
    797 <strong>                }</strong> 
    798 <strong>                for (var y = 0; y &lt; block.length; y ++) {</strong> 
    799 <strong>                    for (var x = 0; x &lt; block[y].length; x ++) {</strong> 
    800 <strong>                        if (block[y][x] &amp;&amp; map[y + offsety][x + offsetx]) { </strong> 
    801 <strong>                            return false;</strong> 
    802 <strong>                        }</strong> 
    803 <strong>                    }</strong> 
    804 <strong>                }</strong> 
    805 <strong>                return true;</strong> 
    806 <strong>            }</strong> 
     792            <strong>function check(map, block, offsetx, offsety) {</strong> 
     793                <strong>if (offsetx &lt; 0 || offsety &lt; 0 ||</strong> 
     794                    <strong>mapHeight &lt; offsety + block.length ||</strong> 
     795                    <strong>mapWidth  &lt; offsetx + block[0].length) {</strong> 
     796                    <strong>return false;;</strong> 
     797                <strong>}</strong> 
     798                <strong>for (var y = 0; y &lt; block.length; y ++) {</strong> 
     799                    <strong>for (var x = 0; x &lt; block[y].length; x ++) {</strong> 
     800                        <strong>if (block[y][x] &amp;&amp; map[y + offsety][x + offsetx]) { </strong> 
     801                            <strong>return false;</strong> 
     802                        <strong>}</strong> 
     803                    <strong>}</strong> 
     804                <strong>}</strong> 
     805                <strong>return true;</strong> 
     806            <strong>}</strong> 
    807807<strong></strong> 
    808 <strong>            function mergeMatrix(map, block, offsetx, offsety) {</strong> 
    809 <strong>                for (var y = 0; y &lt; mapHeight; y ++) {</strong> 
    810 <strong>                    for (var x = 0; x &lt; mapWidth; x ++) {</strong> 
    811 <strong>                        if (block[y - offsety] &amp;&amp; block[y - offsety][x - offsetx]) {</strong> 
    812 <strong>                            map[y][x]++;</strong> 
    813 <strong>                        }</strong> 
    814 <strong>                    }</strong> 
    815 <strong>                }</strong> 
    816 <strong>            }</strong> 
     808            <strong>function mergeMatrix(map, block, offsetx, offsety) {</strong> 
     809                <strong>for (var y = 0; y &lt; mapHeight; y ++) {</strong> 
     810                    <strong>for (var x = 0; x &lt; mapWidth; x ++) {</strong> 
     811                        <strong>if (block[y - offsety] &amp;&amp; block[y - offsety][x - offsetx]) {</strong> 
     812                            <strong>map[y][x]++;</strong> 
     813                        <strong>}</strong> 
     814                    <strong>}</strong> 
     815                <strong>}</strong> 
     816            <strong>}</strong> 
    817817 
    818818            function paint() { 
     
    923923            } 
    924924 
    925 <strong>            function key(keyCode) {</strong> 
    926 <strong>                switch (keyCode) {</strong> 
    927 <strong>                    case 39:</strong> 
    928 <strong>                        if (!check(map, block, posx + 1, posy)) {</strong> 
    929 <strong>                            return;</strong> 
    930 <strong>                        }</strong> 
    931 <strong>                        posx = posx + 1;</strong> 
    932 <strong>                        break;</strong> 
    933 <strong>                    case 37:</strong> 
    934 <strong>                        if (!check(map, block, posx - 1, posy)) {</strong> 
    935 <strong>                            return;</strong> 
    936 <strong>                        }</strong> 
    937 <strong>                        posx = posx - 1;</strong> 
    938 <strong>                        break;</strong> 
    939 <strong>                    case 40:</strong> 
    940 <strong>                        var y = posy;</strong> 
    941 <strong>                        while (check(map, block, posx, y)) { y++; }</strong> 
    942 <strong>                        posy = y - 1;</strong> 
    943 <strong>                        break;</strong> 
    944 <strong>                    default:</strong> 
    945 <strong>                        return;</strong> 
    946 <strong>                }</strong> 
    947 <strong>                ctx.clearRect(0, 0, 200, 400);</strong> 
    948 <strong>                paintMatrix(block, posx, posy, 'rgb(255, 0, 0)');</strong> 
    949 <strong>                paintMatrix(map, 0, 0, 'rgb(128, 128, 128)');</strong> 
    950 <strong>            }</strong> 
     925            <strong>function key(keyCode) {</strong> 
     926                <strong>switch (keyCode) {</strong> 
     927                    <strong>case 39:</strong> 
     928                        <strong>if (!check(map, block, posx + 1, posy)) {</strong> 
     929                            <strong>return;</strong> 
     930                        <strong>}</strong> 
     931                        <strong>posx = posx + 1;</strong> 
     932                        <strong>break;</strong> 
     933                    <strong>case 37:</strong> 
     934                        <strong>if (!check(map, block, posx - 1, posy)) {</strong> 
     935                            <strong>return;</strong> 
     936                        <strong>}</strong> 
     937                        <strong>posx = posx - 1;</strong> 
     938                        <strong>break;</strong> 
     939                    <strong>case 40:</strong> 
     940                        <strong>var y = posy;</strong> 
     941                        <strong>while (check(map, block, posx, y)) { y++; }</strong> 
     942                        <strong>posy = y - 1;</strong> 
     943                        <strong>break;</strong> 
     944                    <strong>default:</strong> 
     945                        <strong>return;</strong> 
     946                <strong>}</strong> 
     947                <strong>ctx.clearRect(0, 0, 200, 400);</strong> 
     948                <strong>paintMatrix(block, posx, posy, 'rgb(255, 0, 0)');</strong> 
     949                <strong>paintMatrix(map, 0, 0, 'rgb(128, 128, 128)');</strong> 
     950            <strong>}</strong> 
    951951 
    952952        &lt;/script&gt; 
     
    10441044            } 
    10451045 
    1046 <strong>            function rotate(block) {</strong> 
    1047 <strong>                var rotated = [];</strong> 
    1048 <strong>                for (var x = 0; x &lt; block[0].length; x ++) {</strong> 
    1049 <strong>                    rotated[x] = [];</strong> 
    1050 <strong>                    for (var y = 0; y &lt; block.length; y ++) {</strong> 
    1051 <strong>                        rotated[x][block.length - y - 1] = block[y][x];</strong> 
    1052 <strong>                    }</strong> 
    1053 <strong>                }</strong> 
    1054 <strong>                return rotated;</strong> 
    1055 <strong>            }</strong> 
     1046            <strong>function rotate(block) {</strong> 
     1047                <strong>var rotated = [];</strong> 
     1048                <strong>for (var x = 0; x &lt; block[0].length; x ++) {</strong> 
     1049                    <strong>rotated[x] = [];</strong> 
     1050                    <strong>for (var y = 0; y &lt; block.length; y ++) {</strong> 
     1051                        <strong>rotated[x][block.length - y - 1] = block[y][x];</strong> 
     1052                    <strong>}</strong> 
     1053                <strong>}</strong> 
     1054                <strong>return rotated;</strong> 
     1055            <strong>}</strong> 
    10561056 
    10571057            function key(keyCode) { 
    10581058                switch (keyCode) { 
    1059 <strong>                    case 38:</strong> 
    1060 <strong>                        if (!check(map, rotate(block), posx, posy)) {</strong> 
    1061 <strong>                            return;</strong> 
    1062 <strong>                        }</strong> 
    1063 <strong>                        block = rotate(block);</strong> 
    1064 <strong>                        break;</strong> 
     1059                    <strong>case 38:</strong> 
     1060                        <strong>if (!check(map, rotate(block), posx, posy)) {</strong> 
     1061                            <strong>return;</strong> 
     1062                        <strong>}</strong> 
     1063                        <strong>block = rotate(block);</strong> 
     1064                        <strong>break;</strong> 
    10651065                    case 39: 
    10661066                        if (!check(map, block, posx + 1, posy)) { 
     
    11681168            } 
    11691169 
    1170 <strong>            function clearRows(map) {</strong> 
    1171 <strong>                for (var y = 0; y &lt; mapHeight; y ++) {</strong> 
    1172 <strong>                    var full = true;</strong> 
    1173 <strong>                    for (var x = 0; x &lt; mapWidth; x ++) {</strong> 
    1174 <strong>                        if (!map[y][x]) {</strong> 
    1175 <strong>                            full = false;</strong> 
    1176 <strong>                        }</strong> 
    1177 <strong>                    }</strong> 
    1178 <strong>                    if (full) {</strong> 
    1179 <strong>                        map.splice(y, 1);</strong> 
    1180 <strong>                        var newRow = [];</strong> 
    1181 <strong>                        for (var i = 0; i &lt; mapWidth; i ++) {</strong> 
    1182 <strong>                            newRow[i] = 0;</strong> 
    1183 <strong>                        }</strong> 
    1184 <strong>                        map.unshift(newRow);</strong> 
    1185 <strong>                    }</strong> 
    1186 <strong>                }</strong> 
    1187 <strong>            }</strong> 
     1170            <strong>function clearRows(map) {</strong> 
     1171                <strong>for (var y = 0; y &lt; mapHeight; y ++) {</strong> 
     1172                    <strong>var full = true;</strong> 
     1173                    <strong>for (var x = 0; x &lt; mapWidth; x ++) {</strong> 
     1174                        <strong>if (!map[y][x]) {</strong> 
     1175                            <strong>full = false;</strong> 
     1176                        <strong>}</strong> 
     1177                    <strong>}</strong> 
     1178                    <strong>if (full) {</strong> 
     1179                        <strong>map.splice(y, 1);</strong> 
     1180                        <strong>var newRow = [];</strong> 
     1181                        <strong>for (var i = 0; i &lt; mapWidth; i ++) {</strong> 
     1182                            <strong>newRow[i] = 0;</strong> 
     1183                        <strong>}</strong> 
     1184                        <strong>map.unshift(newRow);</strong> 
     1185                    <strong>}</strong> 
     1186                <strong>}</strong> 
     1187            <strong>}</strong> 
    11881188 
    11891189            function paint() { 
     
    12671267        &lt;script type="text/javascript"&gt; 
    12681268            var ctx; 
    1269 <strong>            var blocks = [</strong> 
    1270 <strong>                [</strong> 
    1271 <strong>                    [1,1],</strong> 
    1272 <strong>                    [0,1],</strong> 
    1273 <strong>                    [0,1]</strong> 
    1274 <strong>                ],</strong> 
    1275 <strong>                [</strong> 
    1276 <strong>                    [1,1],</strong> 
    1277 <strong>                    [1,0],</strong> 
    1278 <strong>                    [1,0]</strong> 
    1279 <strong>                ],</strong> 
    1280 <strong>                [</strong> 
    1281 <strong>                    [1,1],</strong> 
    1282 <strong>                    [1,1]</strong> 
    1283 <strong>                ],</strong> 
    1284 <strong>                [</strong> 
    1285 <strong>                    [1,0],</strong> 
    1286 <strong>                    [1,1],</strong> 
    1287 <strong>                    [1,0]</strong> 
    1288 <strong>                ],</strong> 
    1289 <strong>                [</strong> 
    1290 <strong>                    [1,0],</strong> 
    1291 <strong>                    [1,1],</strong> 
    1292 <strong>                    [0,1]</strong> 
    1293 <strong>                ],</strong> 
    1294 <strong>                [</strong> 
    1295 <strong>                    [0,1],</strong> 
    1296 <strong>                    [1,1],</strong> 
    1297 <strong>                    [1,0]</strong> 
    1298 <strong>                ],</strong> 
    1299 <strong>                [</strong> 
    1300 <strong>                    [1],</strong> 
    1301 <strong>                    [1],</strong> 
    1302 <strong>                    [1],</strong> 
    1303 <strong>                    [1]</strong> 
    1304 <strong>                ]</strong> 
    1305 <strong>            ];</strong> 
     1269            <strong>var blocks = [</strong> 
     1270                <strong>[</strong> 
     1271                    <strong>[1,1],</strong> 
     1272                    <strong>[0,1],</strong> 
     1273                    <strong>[0,1]</strong> 
     1274                <strong>],</strong> 
     1275                <strong>[</strong> 
     1276                    <strong>[1,1],</strong> 
     1277                    <strong>[1,0],</strong> 
     1278                    <strong>[1,0]</strong> 
     1279                <strong>],</strong> 
     1280                <strong>[</strong> 
     1281                    <strong>[1,1],</strong> 
     1282                    <strong>[1,1]</strong> 
     1283                <strong>],</strong> 
     1284                <strong>[</strong> 
     1285                    <strong>[1,0],</strong> 
     1286                    <strong>[1,1],</strong> 
     1287                    <strong>[1,0]</strong> 
     1288                <strong>],</strong> 
     1289                <strong>[</strong> 
     1290                    <strong>[1,0],</strong> 
     1291                    <strong>[1,1],</strong> 
     1292                    <strong>[0,1]</strong> 
     1293                <strong>],</strong> 
     1294                <strong>[</strong> 
     1295                    <strong>[0,1],</strong> 
     1296                    <strong>[1,1],</strong> 
     1297                    <strong>[1,0]</strong> 
     1298                <strong>],</strong> 
     1299                <strong>[</strong> 
     1300                    <strong>[1],</strong> 
     1301                    <strong>[1],</strong> 
     1302                    <strong>[1],</strong> 
     1303                    <strong>[1]</strong> 
     1304                <strong>]</strong> 
     1305            <strong>];</strong> 
    13061306<strong></strong> 
    1307 <strong>            var block = blocks[Math.floor(Math.random() * blocks.length)];</strong> 
     1307            <strong>var block = blocks[Math.floor(Math.random() * blocks.length)];</strong> 
    13081308            var posx = 0, posy = 0; 
    13091309            var map, mapWidth = 10, mapHeight = 20;