JavaScript入門講座|10カウントダウンタイマーをつくろう

JavaScript
アイキャッチ
うさタブ
うさタブ

今回は10カウントダウンタイマーをつくるッピ!

ユウキ
ユウキ

10カウントダウンタイマー??

うさタブ
うさタブ

10から0までカウントするプログラムだっぴ!

カンタンにつくれるから、一緒に勉強してみるッピよ~

この記事で学べること
  • カウントダウンの作り方
  • 時間によって操作するプログラム
  • プログラムのセットの呼び出し

全体のコードとサンプルゲーム

サンプルゲーム

<!-- 見えない部分 -->
<html>
<head></head>
<!-- ↓ここから見える部分↓ -->
<body>

<!-- ↓この下にプログラムを入力してね!↓ -->
<script>
let i = 10;
function timer() {
	if (i >= 0){
	document.getElementById("count").innerHTML = i;
	i--;	
	setTimeout("timer()",1000);}
}
</script>

<!-- ↓この下にボタンをつくろう!↓ -->
<button onclick="timer();">スタート!</button>
<p id="count"></p>
<!-- ここまで! -->

</body>
</html>
スポンサーリンク
スポンサーリンク

10カウントダウンタイマーをつくろう

必要なもの

うさタブ
うさタブ
メモ帳
  • メモ帳
  • ブラウザ

が必要ッピ!

元になるコード

<!-- 見えない部分 -->
<html>
<head></head>
<!-- ↓ここから見える部分↓ -->
<body>

<!-- ↓この下にプログラムを入力してね!↓ -->
<script>






</script>
<!-- ↓この下にボタンをつくろう!↓ -->


<!-- ここまで! -->

</body>
</html>

プログラムを呼び出すボタンをつくろう

うさタブ
うさタブ

まずはプログラムを呼び出す【ボタン】をつくるッピ!

うさタブ
うさタブ

<body></body>の間に

<button onclick="timer();">スタート!</button>
<p id="count"></p>

と入力するッピ!

うさタブ
うさタブ

これは

<buttonボタンをつくります onclick クリックしたら=”timer();このプログラムを動かして“>スタート!</buttonボタンを終わります>

<p段落をつくります id= id(住所)はcount countです“></p段落を終わります>

という意味になるッピよ~

ユウキ
ユウキ

できた~!

ユウキ
ユウキ

でもこれ押してもなにも反応しないな・・・

うさタブ
うさタブ

それは、まだプログラムをしこんでいないからッピ!

これからこのボタンを押したあとに動作するプログラムをつくるッピよ~

ここまでのコード
<!-- 見えない部分 -->
<html>
<head></head>
<!-- ↓ここから見える部分↓ -->
<body>

<!-- ↓この下にプログラムを入力してね!↓ -->
<script>






</script>
<!-- ↓この下にボタンをつくろう!↓ -->

<button onclick="timer();">スタート!</button>
<p id="count"></p>
<!-- ここまで! -->

</body>
</html>

カウントダウンプログラムをつくる

変数をつくる

うさタブ
うさタブ

次はカウントダウンのための変数をつくるッピ!

うさタブ
うさタブ

<script></script>の間に

let i = 10;

と入力するッピ!

うさタブ
うさタブ

これは、

let変数をつくります i 名前は = 10中身は10です;

という意味になるっぴよ~

ユウキ
ユウキ

この【 i 】は別になんでもいいんだっけ?

うさタブ
うさタブ

そうっぴ!

でもプログラミングの世界では i ・j ・kが数字が変化するプログラムによく使われることが多いッピ!

今回もそれに習って【 i 】をつかっていくっぴよ~

Function関数でプログラムセットをつくる

うさタブ
うさタブ

次はプログラムセット関数をつくっていくっぴ!

うさタブ
うさタブ

プログラムセット関数は

function 関数名() {
命令文
 }

でつくることができるッピよ~

うさタブ
うさタブ

今回はこの関数名(プログラムセット)を

timer()

とするッピ!

うさタブ
うさタブ

それでは、さっそくプログラムセットをつくってみるッピ!

変数 i の下に

function timer() {

}

と入力するッピ!

ここまでのコード
<!-- 見えない部分 -->
<html>
<head></head>
<!-- ↓ここから見える部分↓ -->
<body>

<!-- ↓この下にプログラムを入力してね!↓ -->
<script>
let i = 10;
function timer() {
	//ここに命令文を入れる
}
</script>

<!-- ↓この下にボタンをつくろう!↓ -->
<button onclick="timer();">スタート!</button>
<p id="count"></p>
<!-- ここまで! -->

</body>
</html>
プログラムを呼び出してテストしよう
うさタブ
うさタブ

今まで組んだプログラムがきちんと動作するかテストしてみるっぴ!

ユウキ
ユウキ

テスト~?

うさタブ
うさタブ

そうっピ!

Function関数の命令文を入れる部分に

document.getElementById("conut").innerHTML = i;

と入力して、プログラムが呼び出せるかチェックしてみるっピ!

ユウキ
ユウキ

お! 10って出てきた!

うさタブ
うさタブ

これは

documentホームページのなかの.getElement この場所を変化させて ByIdid(住所)(“countcountの部分“).innerHTML情報を書き換えて = iカウントダウンの数字;

という意味ッピ!

うさタブ
うさタブ

まだカウントダウンが始まるプログラムまで書いていないから、

これはただi 】の中身を書き出すプログラムッピよ~

ここまでのコード
<!-- 見えない部分 -->
<html>
<head></head>
<!-- ↓ここから見える部分↓ -->
<body>

<!-- ↓この下にプログラムを入力してね!↓ -->
<script>
let i = 10;
function timer() {
	document.getElementById("count").innerHTML = i;
}
</script>

<!-- ↓この下にボタンをつくろう!↓ -->
<button onclick="timer();">スタート!</button>
<p id="count"></p>
<!-- ここまで! -->

</body>
</html>

変数 i を減らしてみる

うさタブ
うさタブ

次はこの「10」の数字を変化させてみるッピ!

i--;	

function timer()のなかに入れてみるッピ!

ユウキ
ユウキ

なんもかわらないけど・・・

うさタブ
うさタブ

むふふ! もう一回ボタンを押してみるッピよ~

ユウキ
ユウキ

すげえええ! 数が減ってる!

うさタブ
うさタブ

ムフフ! これがプログラミングの力ッピ!

ユウキ
ユウキ

だけどさ、うさタブ

これ自分でポチポチやったら意味ないんじゃね?

ユウキ
ユウキ

自動でカウントダウンできないのか??

うさタブ
うさタブ

もちろんできるッピ!

うさタブ
うさタブ

timer()のなかに


setTimeout("timer()",1000);

と入力するッピ!

うさタブ
うさタブ

このsetTimeout文は、時間を操るプログラムで、

setTimeout設定した時間後に(“timerこのプログラムを実行して()”,10001秒後に);

という意味になるッピよ~!

ユウキ
ユウキ

すげええええ!

勝手にうごいた~!

ユウキ
ユウキ

・・・ってアレ?

アイカ
アイカ

0を通り過ぎてマイナスになってる・・・

うさタブ
うさタブ

むむ! これはマズイッピね・・・

次は0になったらカウントダウンを止めるif文をつくるッピよ~

ここまでのコード
<!-- 見えない部分 -->
<html>
<head></head>
<!-- ↓ここから見える部分↓ -->
<body>

<!-- ↓この下にプログラムを入力してね!↓ -->
<script>
let i = 10;
function timer() {
	document.getElementById("count").innerHTML = i;
	i--;
	setTimeout("timer()",1000);
}
</script>

<!-- ↓この下にボタンをつくろう!↓ -->
<button onclick="timer();">スタート!</button>
<p id="count"></p>
<!-- ここまで! -->

</body>
</html>

カウントダウンを止める

うさタブ
うさタブ

カウントダウンを止めるには

if文という命令文をつかうっぴ!

うさタブ
うさタブ

まずはtimer() の中に

if (i >= 0){ 今までの書いた命令文 }

と入力し、if文でプログラムをかこってみるッピ!

うさタブ
うさタブ
<script>
let i = 10;
function timer() {
  if (i >= 0){
	document.getElementById("count").innerHTML = i;
	i--;
	setTimeout("timer()",1000);
 }
}
</script>

のような感じっピ!

ユウキ
ユウキ

できた~~!

if (i >= 0)で0になったらプログラムが動かなくなるようにする
うさタブ
うさタブ

最後にif文の解説をするッピ!

うさタブ
うさタブ

if文は、

もし◯◯が△△だった~このプログラムを動かして

といった風に、条件によってプログラムを動かす命令文ッピ!

うさタブ
うさタブ

今回は

ifもし (i >=0iが0以上なら){ ◯◯◯◯この命令令文を実行してください }

といった風に設定したッピ!

ユウキ
ユウキ

なるほどね~

全体のコードの確認

<!-- 見えない部分 -->
<html>
<head></head>
<!-- ↓ここから見える部分↓ -->
<body>

<!-- ↓この下にプログラムを入力してね!↓ -->
<script>
let i = 10;
function timer() {
	if (i >= 0){
	document.getElementById("count").innerHTML = i;
	i--;	
	setTimeout("timer()",1000);}
}
</script>

<!-- ↓この下にボタンをつくろう!↓ -->
<button onclick="timer();">スタート!</button>
<p id="count"></p>
<!-- ここまで! -->

</body>
</html>
学習のまとめ
  • カウントダウン用の変数をつくる
  • <button>タグでカウントダウンボタンをつくる
  • function関数によってプログラムセットをつくる
  • if関数をつかってカウントダウンプログラムをつくる
  • document.getElementByIdによって、IDの部分を変化させる
  • setTimeoutでプログラムを呼び出す

うさタブ
うさタブ

上手くできたッピか?

これからも色んなゲーム作りやプログラムの解説をしていくッピ!

次回も楽しみにしているッピよ~~!

スポンサーリンク

どうしてもわからない、そんなときは?

ユウキ
ユウキ

うさタブ!

オレ、もっと本格的にゲームが作りたいんだ

アイカ
アイカ

私もだわ!

もっとたくさん実用的なコードを

学ぶことってできないかしら?

うさタブ
うさタブ

おお、2人ともやる気ッピね!

ゲームの作り方を学ぶなら、コレとかどうッピか?


うさタブ
うさタブ
Udemy」テレビでも有名な動画教材
人気の機械学習からUnityゲーム講座まで選び放題ッピ!

うさタブ
うさタブ

2DアクションRPG脱出ゲーム

3Dゲーム制作講座まで

買い切り講座だからいつでも勉強し放題ッピよ~!

ユウキ
ユウキ

お!いいじゃん!

アイカ
アイカ

あと、どこか素敵な素材を売っているところはないかしら? 公式の素材販売だと、クレカ支払いしかなくて・・・

ユウキ
ユウキ

小学生じゃクレカで支払えないぜ~

うさタブ
うさタブ

ゲームの素材を買いたいなら、

DLsiteBoothとかどうッピか?

うさタブ
うさタブ

素敵なドット絵や音楽素材がいっぱい売ってるッピ!

うさタブ
うさタブ

しかもUnityアセットストアと違って

クレカ支払いじゃなく、コンビニ支払いができるのもポイントッピ!

ユウキ
ユウキ

すげーカッコいい素材がいっぱいある!

アイカ
アイカ

わたしもさっそくチェックしてみようかな♪

スポンサーリンク
JavaScriptプログラミング
学んで遊んでジャンケンポン!
タイトルとURLをコピーしました