LoginSignup
2
2

More than 5 years have passed since last update.

ドットインストール PHP学習 ビンゴゲーム 学び

Posted at

どっとインストールで学んだこと メモ

・PHP 学習時のビンゴゲームを学ぶ
学習時、気づいた点、コメントを記載。
コメントを記載することで、ソースの中身を理解するのが目的

以下、ビンゴゲーム内容

<?php

/*
ビンゴゲーム
phpのため、動作させるには、クラウド9等上で動作させないと動かせない。

$nums[][]
B: $nums[0] 1-15
I: $nums[1] 16-30
N: $nums[2] 31-45 、真ん中は無し
G: $nums[3] 46-60
O: $nums[4] 61-75

上記のnumsと数字の関係は、以下の関係にある。これをシステムで表現できれば良い。
$nums[$i] $ix15 +1 〜 $ix15 +15
※仕組みを考えることで、自動生成が出来る

*/

$nums = [];
//numsの初期化

for ($i = 0; $i < 5; $i++){
/for文で、ランダムな15個数字を作って、
上から5つ取り出す形を作る
/
$col = range($i 15 +1, $i *15 +15);
//range関数で数字を取り出す
shuffle($col);
//取り出した数字をシャップル
$nums[$i] = array_slice($col, 0, 5);
/

nums iを取り出すのに、array_sliceを使って上位1つを取り出す
array_slice( 配列, 削除を開始する位置 )
配列$colの0個目から5つ目までを取り出すの意味
*/
}

$nums[2][2] = "FREE";
//ビンゴの真ん中をfreeにする

// var_dump($nums);
// exit;

function h($s) {
return htmlspecialchars($s, ENT_QUOTES, 'UTF-8');
// phpを動作させる際には、必ず初期化が必要、ルール
}
?>
<!DOCTYPE html>



BINGO!

<!-- スタイルシート呼び出し -->







<?php for ($i = 0; $i < 5; $i++) : ?>

<?php for ($j = 0; $j < 5; $j++) : ?>

<?php endfor; ?>

<?php endfor; ?>
B I N G O
<?= h($nums[$j][$i]); ?>



CSSファイル

body {
font-family: Arial, sans-serif;
text-align: center;
font-size: 16px;
}

container {

margin: 0 auto;
width: 322px;
}

td, th {
width: 60px;
height: 45px;
}

td {
background: #F06292;
color: #fff;
}

th {
color: #F06292;
font-size: 22px;
}

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2