【スクラッチ(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を持もっているか表あらわしています。

なので、現在げんざいの時じを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をコピーしました