<html> <head> <title>TEST</title> <script language="JavaScript"> <!-- x=8;y=8; // X座標とY座標 cr="\r\n" mojiretu="" // 画面表示用文字列 // 仮想VRAM用2次配列 vr=new Array(14); for (i=0; i<=14; i++) { vr[i]=new Array(14); } function Syokika() { // 初期化用関数 for (i=0; i<=14; i++) { for (j=0; j<=14; j++) { vr[j][i]="○"; } } Kakikomi(); } function Kakikomi() { // 画面に書き込む関数 mojiretu="" vr[x][y]="●"; for (i=0; i<=14; i++) { for (j=0; j<=14; j++) { mojiretu=mojiretu+vr[j][i]; } if (i != 14) { mojiretu=mojiretu+cr; } } document.test.gamen.value=mojiretu; vr[x][y]="○"; } // 各ボタンに対する関数 function Moveup() { if (y > 0) { y-- } Kakikomi() } function Moveleft() { if (x > 0) { x-- } Kakikomi() } function Moveright() { if (x < 14) { x++ } Kakikomi() } function Movedown() { if (y < 14) { y++ } Kakikomi() } // --> </script> <body onload="Syokika()"> <form name="test"> <center> <textarea name="gamen" rows="15" cols="30"></textarea> <table> <tr align="center"> <td colspan="2"> <input type="button" name="UP" value=" UP " onclick="Moveup()"> </td> </tr> <tr align="center"> <td> <input type="button" name="LEFT" value=" LEFT" onclick="Moveleft()"> </td> <td> <input type="button" name="RIGHT" value="RIGHT" onclick="Moveright()"> </td> </tr> <tr align="center"> <td colspan="2"> <input type="button" name="DOWN" value="DOWN" onclick="Movedown()"> </td> </tr> </table> </center> </form> </body> </head> </html>
テキストエリアで座標を管理するのがめちゃめちゃ 面倒だったので、なんとかならんかな?と思って 作ってみました。 ソースを見れば分かると思いますが、2次配列を使って、 配列にX座標とY座標を入れればその位置に 表示できるようになってます。 つまり配列を仮想VRAMとして使っています。 ただ、配列をX*Y個並べるわけだから、ドリキャスだと 遅すぎて動きが付いてきてません。(泣) その辺、改良の余地があります。 なんか使い道あったら、好き勝手に改造して 使ってやってくださいまし。