ここでは、初心者から実践的に学べるプログラミングスクール「ウェブカツ!!」のPHP・MySQL部入門を受講している生徒の方向けに、さらに理解度を上げるための特訓をしていきます。
出題の回答は全て「PHP言語」を使って回答してください。
使用するPHPのバージョンは5.6系以降を使ってください。(MAMPをインストールしていれば、そのままのバージョンで問題ありません)
PHPのバージョンによって使えない「関数」など機能がありますが、回答には5.6系以降のものであれば使えるものしか使っていません。
(それより前のバージョンでも使えるはずですが、確認はしてないし、そもそもそんなバージョンで開発する機会なんて実務じゃないので、確認する必要もないし。な感じです)
開発環境はMacとGoogleChromeブラウザを使います。
Windowsの人もGoogleChromeブラウザを使いましょう。
鬼練6:「仕事と私」どっちを取るのよ!恐怖の男編
前回の続きです。
彼女にめちゃくちゃ恐怖を感じさせましょう。
仕様書
下記要件に従ってプログラムを組んでみてください。
画面に
「彼女:仕事と私どっちを取るのよ!」という文字を表示させる
その次に
「自分:◯◯◯」を表示させる。
◯◯◯は変数(変数answerとする)にしておき、その変数の中身を表示させる。
変数answerには
「仕事に決まってるだろ!」
「仕事よりも君が大事さ。仕事はもう嫌で嫌で嫌で。。嫌で嫌で嫌で。。ほんと嫌なんだ。」
「ぐ・・ぐふ・・ぐふふ・・・き・・きみが大事さぁぁ・・・ぐふふぅ。」
のどちらかの文字列をランダムで入れておく。
変数answerの中身が「仕事に決まってるだろ!」だった場合には、
「彼女:あたたたたたたたっーーー!!」と
「自分:ひでぶっ!!」という文字を表示させる
変数answerの中身が「仕事よりも君が大事さ。仕事はもう嫌で嫌で嫌で。。嫌で嫌で嫌で。。ほんと嫌なんだ。」だった場合には、
「彼女:仕事してこいやーーーーーー!!」と
「自分:ひでぶっ!!」という文字を表示させる
変数answerの中身が「ぐ・・ぐふ・・ぐふふ・・・き・・きみが大事さぁぁ・・・ぐふふぅ。」だった場合には、
変態おじさんの画像とともに「自分:あ・・アイシテルヨ・・ぐふ・ぐふふぅ。」を100回表示させ、
「彼女:おまわりさぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁっん!!」と
「警察官:どうしましたか!!!!!?なんだ!お前はぁぁぁぁぁ!!!!!」と
「自分:え・・あ・・ぃ・・いや・・・。」と
「カチャッ。」
という文字を表示させる
答え
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
const CHOICES = array( 'YOUR' => '仕事よりも君が大事さ。仕事はもう嫌で嫌で嫌で。。嫌で嫌で嫌で。。ほんと嫌なんだ。', 'WORK' => '仕事に決まってるだろ!', 'HENTAI' => 'ぐ・・ぐふ・・ぐふふ・・・き・・きみが大事さぁぁ・・・ぐふふぅ。' ); $answer = ''; switch(mt_rand(0, 2)){ case 0: $answer = CHOICES['YOUR']; break; case 1: $answer = CHOICES['WORK']; break; case 2: $answer = CHOICES['HENTAI']; } echo '彼女:仕事と私どっちを取るのよ!<br>'; echo '自分:' . $answer . '<br>'; if($answer === CHOICES['WORK']){ echo '彼女:あたたたたたたたっーーー!!<br>'; echo '自分:ひでぶっ!!'; }else if ($answer === CHOICES['YOUR']) { echo '彼女:仕事してこいやーーーーーー!!<br>'; echo '自分:ひでぶっ!!'; } else if ($answer === CHOICES['HENTAI']) { for($i = 0; $i < 100; $i++){ echo '<img src="heitai.jpg" style="width: 100px;height: auto;">'; echo '自分:あ・・アイシテルヨ・・ぐふ・ぐふふぅ。<br>'; } echo '彼女:おまわりさぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁっん!!<br>'; echo '警察官:どうしましたか!!!!!?なんだ!お前はぁぁぁぁぁ!!!!!<br>'; echo '自分:え・・あ・・ぃ・・いや・・・。<br>'; echo 'カチャッ。'; } |
前回と違うのは、変態おじさんのセリフが少し変わったくらいで21行目まで一緒です。
繰り返し処理(for文)
同じ「自分:あ・・アイシテルヨ・・ぐふ・ぐふふぅ。」という文字列や画像などを「何度も繰り返し表示したい。」といった時に使えるのが
「繰り返し処理」
ですね。そう、for文です。
js鬼練でもやりましたね?
書き方はjsの時と全く一緒です。
ただ「変数名には$が必ず前につく」ってだけですね。
画像タグもechoを使って文字列で出力しちゃえば、ブラウザが
「あ、これhtmlのタグじゃん。しかも画像を表示するimgタグじゃん。じゃあ、文字として表示せずに画像を表示させよ!」
って理解して判断してくれます。
style属性で適当に幅などつけてますが、ここらへんはなんでもいいです。class属性にして、cssでそのclass属性名にスタイルを充てる形の方が実務としてはいいですね。
(まぁ、「htmlのタグをそのままphpで出力させる。」ってこと自体、実際は初心者レベルの書き方なんですが、入門の鬼練なので大目に見ましょう。WEBサービス部を練習していくとそこらへんも上手い書き方が分かっていきます。)
また、今回はif文の判定に直接セリフを文字列としてベタ書きして判定せずにあとあとで使いまわせるようにした定数CHOICESの中身と変数answerとの中身とを比較するように変えました。
あとは今までやったことです。
P.S. どうでもいい話なんですが、変態おじさんの顔をずっと見ているので今日あたり夢に出そうな気がします。