演習課題「模様を出力してみよう」
右のコードは、2次元配列を使って、縦に5個、横に10個の「.」を出力します。
コードを修正して、この2次元配列のインデックスがどちらも2で割り切れる場合は、「.」の代わりに「+」を出力してください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
+.+.+.+.+.
..........
+.+.+.+.+.
..........
+.+.+.+.+.
#10:2次元配列で地図を表示する2
ここでは、前回に引き続いて、RPGの簡単なマップを作って、城と町の間を道路で接続します。
<?php
// 2次元配列で地図を表示する2
$mapRow = array_fill(0, 20, "森");
$landMap = array_fill(0, 10, $mapRow);
$landMap[0][0] = "城";
$landMap[0][19] = "町";
$landMap[9][19] = "町";
foreach ($landMap as $i => $row) {
echo $i.":";
foreach ($row as $j => $column) {
echo $column;
}
echo "\n";
}
?>
<?php
// 2次元配列で地図を表示する2
$mapRow = array_fill(0, 20, "森");
$landMap = array_fill(0, 10, $mapRow);
$landMap[0][0] = "城";
$landMap[0][19] = "町";
$landMap[9][19] = "町";
foreach ($landMap as $i => $row) {
echo $i.":";
foreach ($row as $j => $column) {
if (($i % 2 == 0 || $j % 3 == 0) && $column == "森") {
$landMap[$i][$j] = "+";
}
echo $landMap[$i][$j];
}
echo "\n";
}
?>