①ビンゴゲーム(ドットインストール、オブジェクト指向組み換え無し)
感想
range関数やshuffle関数の概念は分かった。HTMLにPHP構文を組み込む際に記述したコロン構文も以前に勉強してたのですんなり理解出来た。
懸念点としては2つ
1つ目は自分の悪い癖である全てを理解しようとしたところ、あくまでも暗記より道具として関数やfor文などを使っていきたいので、概念を覚えて使える様にしておきたい、構文を忘れてもググれば出てくるので
2つ目は一つの動画に視聴時間を掛けすぎている件、理解を深めるにはある程度早めに形を作っておいて、そこから自分なりに色々とアレンジしていった方が効率が良いと思うので明日からは早めに形を作る→自分でアレンジする。これを徹底しておく事
ググった事
・range関数..数字やアルファベットを生成する
・array_slice..指定した配列から要素を取り出すことが出来る
$nums[][]
B: $nums[0] 1-15
I: $nums[1] 16-30
..
O: $nums[4]
上記の配列を以下の様に処理していく。
$nums[$i] $i * 15 + 1 〜 $i * 15 + 15
for($i = 0; $i< 5; $i ++){
B~Oまでの列をfor文で記述
col =range($i *15 + 1, $i *15 +15);
range関数で1から75まで数字を生成する。
全体像
<?php
$nums = []; //nums変数の初期化
for($i = 0; $i< 5; $i ++){
$col =range($i *15+1, $i * 15+15);
shuffle($col);
$nums[$i] =array_slice($col,0,5);
}
$nums[2][2] ="FREE";
function h($s){
return htmlspecialchars($s, ENT_QUOTES, 'UTF-8');
}
?>
<!DOCTYPE html>
<html lang ="ja">
<head>
<meta charset="utf-8">
<title>ビンゴシート</title>
<link rel ="stylesheet" href ="styles.css">
</head>
<body>
<div id="container">
<table>
<tr>
<th>B</th><th>I</th><th>N</th><th>G</th><th>O</th>
</tr>
<?php for ($i =0; $i< 5; $i++): ?>
<tr>
<?php for ($j =0; $j< 5; $j++): ?>
<td><?= h($nums[$j][$i]);?></td>
<?php endfor; ?>
</tr>
<?php endfor; ?>
</table>
</div>
</body>
</html>
明日の課題
①オブジェクト指向を交えたビンゴゲームを作成
②懸念点の解消に努める