どどすこ。
知っていますか。
しばらく前に流行りましたよね。
どこかで、プログラミングの練習に使えると聞きました。
小さいプログラムをこなすことで、理解深めたいと考えている管理人にちょうどよさそうです。
ってことで早速作っていきます。
目次
概要
まず、初めにどのような流れのプログラムを作るか説明させていただきます。
①ボタンを押すと、「どど、すこ」のどちらかを4回ランダムに選択し文字列を作る
②どどすこすこすことという文字列になったか判定
③条件が満たされた場合、動画を流す
完成したもの
リンクはこちら
ソースコード
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>どどすこひうゆき</title>
<style>
.start {
height: 50px;
width: 200px;
background: hsl(0, 52%, 75%);
}
</style>
</head>
<body>
<div id="edit_area"></div>
<div id="movie"></div>
<video id="video" src="./video/おしゃべりひろゆき.mp4" height="350px" width="350px">
<p>ご使用のブラウザでは動画再生に対応していません</p>
</video>
<br></br>
<div id="love"></div>
<input type="button" value="ラブ注入♡" onclick="set()" id="start">
</body>
<script>
let array=["どど","すこ"];
let result=[];
let answer="どど,すこ,すこ,すこ";
let love=0;
const disp=document.getElementById("video");
disp.style.display='none';
function set(){
let rnd=0;
let tmp="";
love++;
document.getElementById("love").innerHTML=`${love}回目のラブ注入です`;
for(let loop=0;loop<4;loop++){
rnd=Math.floor( Math.random() * 2 );
result[loop]=array[rnd];
}
document.getElementById('edit_area').innerHTML = String(result.join(""));
if(result.join()===answer){
console.log(result.join());
let play=document.getElementById("video");
disp.style.display="";
play.play();
}
}
</script>
</html>
使用した関数など
Math.random()
乱数を生成してくれるメソッド
Math.random() – JavaScript | MDN
Math.random() は静的メソッドで、 0 以上 1 未満の範囲で浮動小数点の擬似乱数を返します。その範囲ではほぼ均一な分布で、ユーザーは必要なだけ範囲の拡大をすることがで…
Array.prototype.join()
配列の中身を全部連結してくれる
Array.prototype.join() – JavaScript | MDN
join() は Array インスタンスのメソッドで、配列の全要素を順に連結した新しい文字列を返します。区切り文字はカンマ、または指定された文字列です。配列にアイテムが一つ…
HTMLMediaElement.play()
動画を再生させる
HTMLMediaElement: play() メソッド – Web API | MDN
HTMLMediaElement の play() メソッドは、メディアの再生を開始しようとします。 再生が正常に開始されると解決するプロミス (Promise) を返します。
動画はこちらのサイトを活用させていただきました。
なりきりひろゆきメーカー | ひろゆきになりきって色々喋っちゃおう!
ひろゆきになりきって色々喋っちゃおう!