Kuroda Software Service
2次元配列の作成
  [サイトマップ]

コンテンツ内メニュー

表示モード 全項表示  部分表示



マークの色と認証の関係

一般公開

無料認証

購入認証


認証についての説明

無料アカウント作成フォーム

有料ページ購入フォーム


ほかのコンテンツトップページ

2次元配列の作成

指定された大きさの2次元配列を初期化します。

*        外壁配列の作成

 迷路のサイズは横、縦に空き地ブロックがいくつ並ぶかで表現することにしましょう。n個のブロックがあるということはその間にn – 1個の壁それに外壁が必要ですからn * 2 + 1個の配列が必要になります。自由に横、縦の空き地ブロック数を指定した2次元配列作成部分を記述してみます。

*        次のソースコードをhtaファイルとして保存し、実行してください。ボタンの左にある「Width」(幅)「Height」(高さ)を変化させて表示される2次元配列を確認してください。

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

 

<head>

<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">

<title>Hello World</title>

<meta name="GENERATOR" content="Microsoft FrontPage 5.0">

<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">

</head>

 

<body>

 

<table cellpadding="8" cellspacing="8" bgcolor="Gainsboro">

  <tr>

    <td>

    <p>Width</p>

    </td>

    <td><select ID="Select1">

    <option value="10">10</option>

    <option value="12">12</option>

    <option value="14">14</option>

    <option value="16">16</option>

    <option value="18">18</option>

    <option value="20">20</option>

    <option value="22">22</option>

    <option value="24">24</option>

    <option value="26">26</option>

    <option value="28">28</option>

    <option value="30">30</option>

    </select> </td>

    <td>Height</td>

    <td><select ID="Select2">

    <option value="10">10</option>

    <option value="12">12</option>

    <option value="14">14</option>

    <option value="16">16</option>

    <option value="18">18</option>

    <option value="20">20</option>

    <option value="22">22</option>

    <option value="24">24</option>

    <option value="26">26</option>

    <option value="28">28</option>

    <option value="30">30</option>

    </select> </td>

    <td>

    <input type="button" value="Button" ID="Button1" NAME="Button1" onclick="Main(Select1.value, Select2.value)">

    </td>

  </tr>

</table>

<p></p>

<pre id="CONSOLE" style="color: white; background-color: black"></pre>

<script language="jscript">

//引数文字列を改行付きで表示

function Put(str)

{

    CONSOLE.insertAdjacentText("beforeEnd", str);

}

 

var Meiro = function(Width, Height)

{

    var Row = Width * 2 + 1;

    var Col = Height * 2 + 1;

    var Dim = new Array(Row);

 

    for(var y = 0; y < Row; y++)

    {

       

        Dim[y] = new Array(Col);

        for(var x = 0; x < Col; x++)

        {

            //一番上と一番下の配列は全部外壁

            if(y == 0 || y == Row - 1) Dim[y][x] = "◆";

            else

            {

               //一番左と一番右の配列は外壁

               if(x == 0 || x == Col - 1) Dim[y][x] = "◆";

               else

               {

                   if( y % 2 == 1 && x % 2 == 1) Dim[y][x] = "□";

                   else Dim[y][x] = "■";

               }

            }  

        }

    }

    //配列の状態を表示します。

    this.Disp = function()

    {

        for(var y = 0; y < Row; y++)

        {

            for(var x = 0; x < Col; x++) Put(Dim[y][x]);

            Put("\n");

        } 

    }

}

 

function Main(Width, Height)

{

    M = new Meiro(Width, Height);

    M.Disp();

}

</script>

 

</body>

 

</html>


実行結果の例

 

お問い合わせ
©クロダ ソフトウェア サービス programmed by hidebou