【スクラッチ(Scratch)】ヒミツのお手紙作り!暗号文をつくろう

上のアイキャッチ画像はAIによって生成されました。

お友達ともだちと手紙てがみのやりとり、楽たのしいですよね!

でも、もし手紙てがみを落おとしてしまったり、だれかに見みられてしまったら一大事いちだいじ…!

特とくに好すきな人ひとのことや、なやみなんか、絶対ぜったいに見みられたくないですよね。

そこで、この記事きじでは Scratchを使つかって「暗号あんごう文ぶんを作つくったり もどしたりする プログラム」の作つくり方かたを紹介しょうかいします。

このプログラムがあれば、手紙てがみの内容ないようをだれにも読よめない ヒミツの言葉ことばに変かえることができます。

ヒミツの言葉ことばで手紙てがみを書かけば、安心あんしんして大切たいせつな話はなしもできますね!

 

このプログラムを使つかって、人ひとの悪口わるくちを書かいたり、いじめをしたりするのは絶対ぜったいにダメ!
約束やくそくしてくださいね。

 

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

Scratch公式こうしきサイト: https://scratch.mit.edu/

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

 

スポンサーリンク

2つのリストを使って暗号文を作る

2つのリストを使って暗号文を作る

暗号あんごう文ぶんを作つくる方法ほうほうは いろいろありますが、今回こんかいは2つのリストを使つかった方法ほうほうを紹介しょうかいします。

あいうえお順じゅんにならんだ「かなリスト」と、順番じゅんばんがバラバラな「カナリスト」を作つくり、対応たいおうする文字もじに変かえる仕組しくみです。

 

完成プログラム

完成かんせいしたプログラムは下したの通とおりです。

暗号にするプログラム

暗号にするプログラム

ひらがなで文字列もじれつ(ならんだ文字もじの集あつまり)を入力にゅうりょくすると、暗号あんごうにしてくれるプログラムです。

ひらがな以外いがいの文字もじはそのまま出力しゅつりょくされます。

 

暗号をもどすプログラム

暗号をもどすプログラム

暗号あんごう文ぶんを元もとにもどせないと 意味いみがありませんね。

カタカナで暗号あんごう文ぶんを入力にゅうりょくすると、もとの文字列もじれつにもどしてくれる プログラムも作つくります。

 

リストから文字を探すプログラム

リスト検索(ブロック定義)

リストから文字もじを探さがすプログラム。ブロック定義ていぎにしなくてもOKです。

 

スポンサーリンク

プログラム解説

このプログラムは、変数へんすう・リスト・ブロック定義ていぎを使つかいます。

  • 変へん 数すう:データを一時的いちじてきに覚おぼえておくための入いれ物もの
  • リスト:たくさんのデータを順番じゅんばんにならべ管理かんりできるようにしたもの
  • ブロック定義ていぎ:ある処理しょりをまとめたもの

 

下したの記事きじでくわしく解説かいせつしています。使つかい方かたがよく分わからない人ひとは読よんでみてくださいね。

 

スプライトを準備する

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

暗号あんごうをもどすプログラムは、暗号あんごうにするプログラムを作つくってから スプライトをコピーして作つくるので、最初さいしょはひとつでOKです。

スプライトの見みた目めや背景はいけいは 好すきなモノを選えらんでください。

 

変数・リスト・ブロック定義を作成

変数・リスト・ブロック定義

必要ひつような変数へんすう・リスト・ブロック定義ていぎを作つくります。

 

変数

変数へんすうカテゴリ→「変数へんすうを作つくる」から、変数へんすうを4つ作つくります。

  • 入力にゅうりょく:入力にゅうりょくした文字列もじれつ
  • 出力しゅつりょく:出力しゅつりょくする文字列もじれつ
  • in:入力にゅうりょくした文字列もじれつの何番目なんばんめの文字もじか
  • list:リストの何番目なんばんめか

 

リスト

変数へんすうカテゴリ→「リストを作つくる」から、リスト2つを作つくります。

  • かなリスト:あいうえお順じゅんにならんでいる
  • カナリスト:順番じゅんばんがバラバラになっている

メモ帳ちょうなどに データを作つくってから 読よみ込こむと、楽らくですよ。

 

ブロック定義

ブロック定義ていぎも2つ用意よういします。

ブロック定義ていぎカテゴリ→「ブロックを作つくる」で作つくれます。

  • かなリスト検索けんさく
  • カナリスト検索けんさく

中なかの処理しょりは、後あとで解説かいせつします。

 

暗号にするプログラム

暗号にするプログラム解説

スプライトをクリックした時ときに、実行じっこうします。「このスプライトが押おされたとき」を出だしましょう。

「(出力しゅつりょく)を( )にする」で、変数へんすう「出力しゅつりょく」を初期しょき化かします。

「(暗号あんごうに変換へんかんしたい文字列もじれつを入力にゅうりょくしてください)と聞きいて待まつ」と「(入力にゅうりょく)を(答こたえ)にする」で、入力にゅうりょくされた文字列もじれつを変数へんすう「入力にゅうりょく」に入いれます。

入力にゅうりょくした文字列もじれつを1文字もじずつ取とり出だして、かなリストにあるか検索けんさくします。

「(in)を(1)にする」で、変数へんすう「in」の初期しょき値ちを設定せっていします。1文字もじ目めから順番じゅんばんにみるので、初期しょき値ちは1です。

「(入力にゅうりょくの長ながさ)回かい繰くり返かえす」で、入力にゅうりょくした文字もじ数分すうぶんくり返かえしましょう。

ブロック定義ていぎ「かなリスト検索けんさく」で、かなリストの何番目なんばんめの文字もじか検索けんさくします。変数へんすう「list」には、かなリストの何番目なんばんめか入はいります。

 

かなリストにあった場合ばあいと、なかった場合ばあいで処理しょりを分わけます。

「もし (list) > かなの長ながさ なら」の中なかには、リストになかった場合ばあいの処理しょりを入いれます。

「(出力しゅつりょく)を(出力しゅつりょくと入力にゅうりょくのin番目ばんめの文字もじ)にする」で入力にゅうりょくした文字もじを そのまま出力しゅつりょくしましょう。

「でなければ」の中なかには、リストにあった場合ばあいの処理しょりを入いれます。

「(出力しゅつりょく)を(出力しゅつりょくとカナのlist番目ばんめの文字もじ)にする」で、カナリストの対応たいおうする文字もじを 出力しゅつりょくしましょう。

「(in)を(1)ずつ変かえる」で、入力にゅうりょくした文字列もじれつの次つぎの文字もじをみるようにし、くり返かえしの最初さいしょの処理しょりへもどります。

 

くり返かえしをぬけたら「(出力しゅつりょく)と(5)秒びょう言いう」で 変換へんかん後ごの文字列もじれつを表示ひょうじしましょう。

 

かなリスト検索

かなリスト検索解説

入力にゅうりょくした文字もじが、かなリストの何番目なんばんめの文字もじか検索けんさくする ブロック定義ていぎを作つくります。

「(list)を(1)にする」で 変数へんすう「list」の初期しょき値ちを設定せっていします。1番目ばんめの要素ようそから順番じゅんばんにみるので、初期しょき値ちは1です。

以下いかの条件じょうけんを どちらか満みたすまで「(list)を(1)ずつ変かえる」を実行じっこうします。

  • 入力にゅうりょくのin番目ばんめの文字もじ = かなのlist番目ばnめ → リストにあった
  • list > かなの長ながさ → 最後さいごまでみたけれどリストになかった

 

暗号をもどすプログラム

暗号あんごうにするプログラムでは、入力にゅうりょくした文字もじが かなリストの何番目なんばんめの文字もじか探さがし、対応たいおうするカナリストの文字もじに変換へんかんしました。

暗号あんごうをもどすプログラムでは その逆ぎゃくを行おこないます。

  • 暗号あんごうにする :かな → カナ
  • 暗号あんごうをもどす:カナ → かな

暗号あんごうにするプログラムの スプライトをコピーして、どこを直なおせばいいか 自分じぶんで考かんがえてみてくださいね。

 

まとめ

「暗号あんごう文ぶんを作つくったり もどしたりする プログラム」の作つくり方かたを 紹介しょうかいしました。

約束やくそくを守まもって、みんなと仲良なかよく 楽たのしい 手紙てがみの交換こうかんを 楽たのしんでくださいね!

 

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