【Scratch】デジタル時計をプログラミングしよう!

今回はスクラッチ (Scratch) を使った「デジタル時計」の作り方を紹介しょうかいします。

デジタル時計とは、数字を使って現在げんざいの時間を表示ひょうじする時計のことです。

今回のプロジェクトでは、時と分をそれぞれの十のくらいと一のくらいに分けて表示ひょうじし、秒はニワトリが歩くアニメーションで表現ひょうげんします。

プログラミングを通じて、わり算(商とあまり)や、がい算(て)の勉強にもなりますよ。

図やコードれいを交えながら、わかりやすく解説かいせつしていきますので、プログラミング初心者しょしんしゃでも安心して取り組めます。

ぜひ、プログラミングに挑戦ちょうせんして、オリジナルのデジタル時計を作ってみてください!

 

Scratchはインターネットにつながるパソコンから無料むりょう利用りようできます。

Scratch公式サイト: https://scratch.mit.edu/

Scratchのアカウントの作り方と基本的きほんてきな使い方は、下の記事で紹介しょうかいしています。

スポンサーリンク

デジタル時計の読み方をおさらい

デジタル時計」は、時間を数字で表示ひょうじする時計です。ふつうのアナログ時計は、丸い文字盤もじばんはりを使って時間をしめしますが、デジタル時計は数字だけで時間を表示ひょうじします。

24時間表示のデジタル時計の場合、午前8時15分は「08:15」と表示ひょうじされ、午後1時45分は「13:45」と表示ひょうじされます。

デジタル時計の読み方

今回は、時の十のくらい、一のくらい、分の十のくらい、一のくらいのスプライトを準備じゅんびし、それぞれのコスチュームを使ってデジタル時計を表示ひょうじするプログラムを作成さくせいします。

また、秒のわった表示ひょうじ方法ほうほう紹介しょうかいします。

 

完成プログラム

完成かんせいした作品です。ハタをおして動かしてみてください。

 

完成かんせいしたソースコードは下の通りです。

時の十のくらい、時の一のくらい、分の十のくらい、分の一のくらいのスプライトを準備じゅんびし、それぞれ現在げんざいの時間にあった数字のコスチュームを表示ひょうじします。

時の十の位のプログラム

時の十の位のプログラム

時の一の位のプログラム

時の一の位のプログラム

分のプログラム

分のプログラム

秒のプログラム

秒のプログラム

スポンサーリンク

プログラミングの手順

時の十の位

コスチューム

時の十のくらいのスプライトを作成さくせいし、0から9のコスチュームを作ります。

1.スプライトを作る

「スプライトをえらぶ」→「えがく」をえらびます。

ネコのスプライトは消してOKです。

スプライトを作る

 

2.数字をかく

筆ツールを使って0をえがきます。

筆ツールを使って0を描く

ペイントエディターのくわしい使い方は「【スクラッチ(Scratch)】絵をいてスプライトや背景はいけいを作ろう(ベクターへん」で解説かいせつしています。

 

コスチュームを右クリック →「複製ふくせい」でコスチュームをコピーし、1から9のコスチュームを作ります。

コスチュームをコピーする

 

コスチュームのならびは、小さい順(0、1、2、3 … 7、8、9)になるようにしてください。

1から9のコスチュームを作る

 

3.スプライトの名前を変更へんこう

スプライトの名前を「時の十のくらい」にえましょう。

スプライトの名前を「時の十の位」に変える

 

コード

1.イベントカテゴリから「ハタがされたとき」ブロックを出す。

2.制御せいぎょカテゴリから「ずっと」ブロックを「ハタがされたとき」の下に出す。

3.見た目カテゴリから「コスチュームを( )にする」を出し、「ずっと」ブロックの中に入れる。

Scratch ブロック

 

4.時の十のくらいがいくつになるか計算

現在げんざいの時間から時の十のくらいの数字を取り出しましょう。

十のくらいは、その数字が何個なんこの十を持っているか表しています。なので、現在げんざいの時を10でると十のくらいの数字だけ取り出せます。小数点以下いかてて無視むししましょう。

十の位の数字を取り出す

たとえば、

  • 午前8時:  8÷10 = 0.8 → 小数点以下いかて → 0
  • 午後1時: 13÷10 = 1.3 → 小数点以下いかて → 1

となります。

 

演算えんざんカテゴリの「( )/( )」を出して、左側ひだりがわ現在げんざいの時」ブロックを入れ、右側みぎがわに10を入力します。

現在げんざいの時間の時は、現在げんざいの時」ブロックで取得しゅとくできます。調べるカテゴリにある現在げんざいの年」ブロックを出し、年の部分をクリックして、時にえましょう。

現在の時ブロック

 

小数点以下いかてるため、演算えんざんカテゴリから「( )の絶対値ぜったいちブロックを出し、絶対値ぜったいちの部分をクリックして「切り下げ」にえます。中に 現在げんざいの時 / 10 」を入れましょう。

切り下げは、指定した数の小数点以下いかを切り下げて整数にする命令めいれいです。

小数点以下を切り捨てる

 

5.表示ひょうじするコスチュームの番号

「コスチュームを()にする」ブロックは、()で指定したあたいと同じコスチューム番号のコスチュームが表示ひょうじされます。

「コスチュームを()にする」ブロック

このスプライトの場合だと、

  • 「コスチュームを(1)にする」なら「0」
  • 「コスチュームを(2)にする」なら「1」

と1つズレてしまうため「 現在げんざいの時 / 10 の切り下げ」もとめたあたいに1足したあたいをコスチューム番号に指定しましょう。

演算えんざんカテゴリの「( )+( )」を出して、左側ひだりがわ「 現在げんざいの時 / 10 の切り下げ」ブロックを入れ、右側みぎがわに1を入力します。これを「コスチュームを()にする」ブロックの中に入れましょう。

 

時の一の位

時の十のくらいのスプライトをコピーして作成さくせいします。

コスチューム

1.時の十のくらいのスプライトを右クリックして「複製ふくせい」をえらぶ。

2.スプライト名を「時の一のくらい」に変更へんこうする。

スプライトをコピー

 

コード

現在げんざいの時間から時の一のくらいの数字を取り出す方法を考えましょう。

現在げんざいの時を10でった商(小数点以下いかて)が十のくらいになりました。このとき、れなかった部分、つまりあまりが一のくらいになります。

たとえば、

  • 午前8時:  8÷10 = 0 あまり 8
  • 午後1時: 13÷10 = 1 あまり 3

となります。

 

「コスチュームを()にする」ブロックの中を変更へんこうします。

演算えんざんカテゴリから「( )を( )でったあまり」を出して、左側ひだりがわ現在げんざいの時」ブロックを入れ、右側みぎがわに10を入力しましょう。

コスチュームの番号は1つズレるので、「( 現在げんざいの時 を 10 でったあまり )+(1)」にします。

時の一の位がいくつになるか計算

 

分の十の位と一の位

分の十のくらいと一のくらいは、時の十のくらいと一のくらいとほぼ同じです。

スプライトをコピーし、必要ひつよう変更へんこうくわえましょう。

何をえたらよいか、自分で考えてみてくださいね!

 

スプライトを配置する

4つのスプライトをステージに配置はいちします。

時と分の真ん中にある「:」のスプライトも作って配置はいちしましょう。

 

ちょっと変わった表現を紹介!

時や分と同じやり方で秒を作ってもよいのですが、今回はちょっとわったやり方を紹介しょうかいします。

ニワトリが0秒のとき左はしから歩き始めて、60秒後に右はしに到着とうちゃくするプログラムを作成さくせいします。

コスチューム

スプライトを準備じゅんびします。

「スプライトをえらぶ」→「スプライトをえらぶ」から、ニワトリ(Hen)のスプライトを選択せんたくします。

ニワトリ(Hen)のスプライトを選択

 

コスチュームの3つめと4つめは使わないので消しましょう。

スプライトの大きさを調整し、ステージのきな場所に配置はいちします。

使わないコスチュームを消し、ステージに配置する

 

コード

1.イベントカテゴリから「ハタがされたとき」ブロックを出す

2.制御せいぎょカテゴリの「ずっと」ブロックを「ハタがされたとき」の下に入れる

3.動きカテゴリから「X座標ざひょうを ( ) にする」ブロックを出す

 

現在げんざいの秒におうじてニワトリの位置いちを計算し、X座標ざひょう設定せっていします。

X座標ざひょうとは、画面の横の位置いちを表す数字です。画面の真ん中を「0」として、左側ひだりがわに行くほど数字がマイナスになり、右側みぎがわに行くほど数字がプラスになります。

ニワトリの位置を計算

X座標ざひょう -180 から 180 まで移動いどうする場合、距離きょりは360です。1分(60秒)かけて360進みたいので、360 ÷ 60 で毎秒6ずつ移動いどうする必要ひつようがあります。

なので、出発地点のX座標ざひょう-180 に 現在げんざいの秒 * 6 を足すと、ニワトリの位置いちもとめられます。

「( -180 ) + ( 現在げんざいの秒 * 6 ) にする」を作り、「X座標ざひょうを ( ) にする」ブロックに入れましょう。

 

4.ニワトリに動きをつける

このままだと歩いている感じが出ないので、ニワトリに動きをつけましょう。

コスチューム1と2を交互こうご表示ひょうじさせて、ニワトリが歩いているように見せます。

見た目カテゴリから「次のコスチューム」ブロックを出し、「ずっと」ブロックの中に入れましょう。

ただし、このままだと超高速ちょうこうそくでニワトリのコスチュームがわってしまうので、制御せいぎょカテゴリの「()秒待つ」ブロックを出し、0.5と入力します。

Scratch ブロック

秒数をえるとニワトリの動きが早くなったり、おそくなったりします。色々ためしてみましょう!

 

作品の完成

デジタル時計が完成かんせいしました。

デジタル時計

  • 12時間表示ひょうじにしてみる
  • 文字のデザインをえる
  • 音を追加ついかする
  • 時間帯で背景はいけいわる

など、きなようにアレンジして、自分だけのオリジナル時計とけいを作ってみてくださいね!

 

まとめ

この記事では、Scratchを使った「デジタル時計」の作り方を紹介しょうかいしました。自分だけのオリジナル時計を作ることができたでしょうか?

当ブログでは、アナログ時計の作り方紹介しょうかいしています。ぜひチャレンジしてみてくださいね!

タイトルとURLをコピーしました