第7回 専門演習紹介 レポート課題 改訂版 小野貴己 C1110387 英語5 地域共創 実行結果を添付し忘れていました! さすがにひどいので、再提出しておきます。 以後気を付けます。 ------------------------------------------------------------------------ 1.A 最高傑作に関して 今回は日本語をテーマにしたクイズを作りました。新規です。 後期に学んだdef を使って、クイズの得点の合計を出すことができ、 それに対してキャラクターがコメントをくれます。 もっと様々な機能を追加したかったのですが、合計点を求める部分を作るだけで 土曜日を使い果してしまったので、残念でした。 ですが、友だちの助言、励ましのおかげで、なんとか当初の目標の 10問全てを 出題できたので良かったです。 キャラクターを活かしつつ、ためになる話題を選択できたので、現段階での最高 傑作には仕上げることができたと思います。 その他の反省、感想などは末尾にて。 以下、仕様書およびプログラム本体です。 -------------------------------------------------------------------------- ・仕様書 http://roy/~c111038/adv2/koto.txt 仕様書は和の世界観を継承して、『巻物』という設定で書きました。 〜 ニッポン●言葉百景 〜 『 企画意図 』 一、 このプログラム『ニッポン●言葉百景』は少しでも日本語に再び目を向けて もらいたい、という思いを込めて制作しました。 一、 問題は主に古めかしい言い回しの言葉などの表記や意味に関するものです。 一、 そうした昔ながらの日本語の面白さを味わってもらいたい、と考えていま す。 一、 私自身、語彙力のなさを痛感しているので、皆で楽しみながら言葉を身に つけていきたいです。 『 起動方法 』 一、 トップページで、『ニッポン●言葉百景』 (kotohyaku.rb)を保存してください。 一、 kterm で、保存したディレクトリに入ります。 一、 chmodo +x kotohyaku.rb と入力します。 一、 ./kotohyaku.rb と入力します。 一、 無事に保存されていれば起動できます! 『 遊び方 』 一、 勝手に琴葉百恵が喋り始めます。 一、 問題と選択肢が現れます。 一、 選択肢から答えを考えます。 一、 正解だと思う番号を入力します。 (選択肢の下に選んだ番号が表示されます。) 一、 Retern キーで決定です。 一、 百恵が解答とコメントをくれます。 一、 これを繰り返しましょう! ・連絡先 小野貴己メール < c111038g.koeki-u.ac.jp > ---------------------------------------------------------------------------- ・プログラム本体 http://roy/~c111038/adv2/kotohyaku.rb 仕様書にも書いたとおりで、日本語をもう一度見直したいという思いで制作 しました。 今回は普段使わないような言葉も出て来て、それはそれで面白いのですが、 現代的な言葉遣いのものや、カタカナ語のものなど、別バージョンも作れば、 より広く、日本語を学べ、役立つと感じました。 自分の勉強にもなるので今後、機会があれば作ってみたいです。 目指せ日本語検定!! 以下、本体です。 #!/usr/koeki/bin/ruby #coding: euc-jp def sum0(first,second) # def 部分。問題を2問ずつに分けて処理。 sum = first + second p sum end def sum1(third,fourth) sum1 = third + fourth p sum1 end def sum2(fifth,sixth) sum2 = fifth + sixth p sum2 end def sum3(seventh,eighth) sum3 = seventh + eighth p sum3 end def sum4(nineth,tenth) sum4 = nineth + tenth p sum4 end total = 0 total1 = 0 print("\n") print("クイズ『ニッポン\e[31m●\e[m言葉百景』のお時間がやってまいりました!\n\n") sleep 2 print("司会は私、\e[36m琴葉百恵 (ことのは ももえ)\e[mがお送りします。\n\n") sleep 2 print("さっそく、問題いっちゃいましょうっ!!\n\n") sleep 2 print("\e[31m(問題の選択肢のあとに選んだ数字を入力して、Reternキーを押してください。)\e[m\n\n") sleep 3.5 print("\e[33m第 1 問\e[m\n\n") sleep 2 print("『しのぎを削る』の正しい意味はどれ?\n\n") STDERR.printf("1.我慢して、しのぐこと\n\n2.激しく競争するようす\n\n3.鰹節をつくること\n\n") sentaku1 = gets.chomp!.to_i if sentaku1 == 1 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m この場を凌いで、次は頑張ってくださいね!\n\n") sleep 2 print("正解は、\e[31m激しく競走する\e[mという意味です。\n\n") sleep 2 print("ちなみに『しのぎ』は、\e[31m日本刀の刀身と背(みね)の境界\e[mのことです。\n\n") elsif sentaku1 == 2 tokuten = 1 print("\n") print("\e[35mぴんぽーん!\e[m まあ、このクイズに競争相手はいないですけどね。\n\n") sleep 2 print("ちなみに『しのぎ』は、\e[31m日本刀の刀身と背(みね)の境界\e[mのことです。\n\n") elsif sentaku1 == 3 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m 何でも削ればいいとでも思っているんですかっ!?\n\n") sleep 2 print("正解は、\e[31m激しく競走する\e[mという意味です。\n\n") sleep 2 print("ちなみに『しのぎ』は、日本刀の刀身と背(みね)の境界のことです。\n\n") end first = tokuten.to_i # 前問の点数(tokuten)の引継ぎ。問題ごとに行う。 sleep 2 print("\n\n") print("次いくよー!\n\n") sleep 2 print("\e[33m第 2 問\e[m\n\n") sleep 2 print("『にべもない』の正しい意味はどれ?\n\n") STDERR.printf("1.愛想がないこと\n\n2.秋田県・羽後町の西馬音内地区\n\n3.遠慮がないこと\n\n") sentaku2 = gets.chomp!.to_i if sentaku2 == 1 tokuten = 1 print("\n") print("\e[35mぴんぽーん……。\e[m あ、愛想のないサウンドでしたが正解ですよ!\n\n") elsif sentaku2 == 2 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m それは『にしもない地区』だべ☆\n\n") sleep 2 print("『にべもない』は、\e[31m愛想がない\e[mという意味です。\n\n") elsif sentaku2 == 3 tokuten = 0 print("\n") print("\e[34mぶっぶー!!\e[m 遠慮なく言います。間違っていますっ!\n\n") sleep 2 print("『にべもない』は、\e[31m愛想がない\e[mという意味です。\n\n") end second = tokuten.to_i sleep 2 print("\n\n") print("次ですっ!\n\n") sleep 2 print("\e[33m第 3 問\e[m\n\n") sleep 2 print("『自分の歳などをごまかす』という意味の言葉はどれ?\n\n") STDERR.printf("1.鰹を読む\n\n2.鯖を読む\n\n3.秋刀魚を読む\n\n") sentaku3 = gets.chomp!.to_i if sentaku3 == 1 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m 鰹(カツオ)? バッカモーーン!! です。\n\n") sleep 2 print("\e[31m鯖(サバ)を読む\e[m、が正解です。\n\n") elsif sentaku3 == 2 tokuten = 1 print("\n") print("\e[35mぴんぽーん!\e[m クイズの得点のサバは読まないでくださいね。\n\n") elsif sentaku3 == 3 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m 踊る御殿で、から騒ぎがしたいんですか!?\n\n") sleep 2 print("秋刀魚(サンマ)ではなく、\e[31m鯖(サバ)を読む\e[m、が正解でした。\n\n") end third = tokuten.to_i sleep 2 print("\n\n") print("つーぎでーすよー。\n\n") sleep 2 print("\e[33m第 4 問\e[m\n\n") sleep 2 print("『青天の霹靂』の -霹靂(へきれき)- とは何でしょう?\n\n") STDERR.printf("1.輝ける太陽\n\n2.強靭なる壁\n\n3.激しい雷\n\n") sentaku4 = gets.chomp!.to_i if sentaku4 == 1 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m いいお天気ですね。\n\n") sleep 2 print("\e[31m霹靂\e[m、は雷のことですよ。\n\n") sleep 2 print("『青天の霹靂』は、予期しない大事件という意味でしたね。\n\n") elsif sentaku4 == 2 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m 壁といえば、養老孟司さんの『バカの壁』という本がありましたね。\n\n") sleep 2 print("\e[31m霹靂\e[m、は雷のことですよ。\n\n") sleep 2 print("『青天の霹靂』は、予期しない大事件という意味でした。\n\n") elsif sentaku4 == 3 tokuten = 1 print("\n") print("\e[35mぴんぽーん!\e[m 『青天の霹靂』は、予期しない大事件という意味でしたね。\n\n") end fourth = tokuten.to_i sleep 2 print("\n\n") print("次でやんすっ!\n\n") sleep 2 print("\e[33m第 5 問\e[m\n\n") sleep 2 print("『花魁』の正しい読み方はどれでしょう?\n\n") STDERR.printf("1.けいと\n\n2.おいらん\n\n3.おうらん\n\n") sentaku5 = gets.chomp!.to_i if sentaku5 == 1 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m 漢字の雰囲気につられましたね?\n\n") sleep 2 print("正解は、\e[31mおいらん\e[mですね。\n\n") sleep 2 print("位の高い遊女のことですが、今では歌舞伎などで登場します。\n\n") elsif sentaku5 == 2 tokuten = 1 print("\n") print("\e[35mぴんぽーん!\e[m 正解です!!\n\n") sleep 2 print("位の高い遊女のことですが、今では歌舞伎などで登場します。\n\n") sleep 2 print("最初は読むのが難しいですよね。\n\n") elsif sentaku5 == 3 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m 微妙に、卵の黄身みたいですよ……。\n\n") sleep 2 print("正解は、\e[31mおいらん\e[mですね。\n\n") sleep 2 print("位の高い遊女のことですが、今では歌舞伎などで登場します。\n\n") end fifth = tokuten.to_i sleep 2 print("\n\n") print("後半戦ですっ!!\n\n") sleep 2 print("\e[33m第 6 問\e[m\n\n") sleep 2 print("『徒花(あだばな)』の正しい意味はどれでしょう?\n\n") STDERR.printf("1.華やかでも実質の伴わないもの\n\n2.見るからに派手な様\n\n3.廃れてなお、美しいもの\n\n") sentaku6 = gets.chomp!.to_i if sentaku6 == 1 tokuten = 1 print("\n") print("\e[35mぴんぽーん!\e[m 正解です。\n\n") sleep 2 print("\e[31m印象的だったが、高評価を得ずに消えた女優さん\e[m\n\n") sleep 2 print("などを示す時に使いますね。\n\n") elsif sentaku6 == 2 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m 正解は\e[31m華やかでも実質の伴わないもの\e[mでした。\n\n") sleep 2 print("『印象的だったが、高評価を得ずに消えた女優さん』\n\n") sleep 2 print("などを示す時に使いますね。\n\n") elsif sentaku6 == 3 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m 正解は\e[31m華やかでも実質の伴わないもの\e[mでした。\n\n") sleep 2 print("『印象的だったが、高評価を得ずに消えた女優さん』\n\n") sleep 2 print("などを示す時に使いますね。\n\n") end sixth = tokuten.to_i sleep 2 print("\n\n") print("次だよん!\n\n") sleep 2 print("\e[33m第 7 問\e[m\n\n") sleep 2 print("『にっちもさっちも(いかない)』の正しい表記はどれでしょう?\n\n") STDERR.printf("1.二身も三身も\n\n2.煮っちも早っちも\n\n3.二進も三進も\n\n") sentaku7 = gets.chomp!.to_i if sentaku7 == 1 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m けっこう惜しいです!\n\n") sleep 2 print("正解は\e[31m二進も三進もいかない\e[m、です。\n\n") sleep 2 print("どうにもならないときに使う言葉ですね。\n\n") sleep 2 print("日頃なにげなく使う言葉ですから、覚えておくと良いかもです。\n\n") elsif sentaku7 == 2 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m 違います!\n\n") sleep 2 print("正解は\e[31m二進も三進もいかない\e[m、です。\n\n") sleep 2 print("どうにもならないときに使う言葉ですね。\n\n") sleep 2 print("日頃なにげなく使う言葉ですが、なかなかピンときませんよね。\n\n") elsif sentaku7 == 3 tokuten = 1 print("\n") print("\e[35mぴんぽーん!\e[m よく分かりましたね!\n\n") sleep 2 print("\e[31mどうにもならないとき\e[mに使う言葉ですね。\n\n") end seventh = tokuten.to_i sleep 2 print("\n\n") print("難しくなりますよ〜!\n\n") sleep 2 print("\e[33m第 8 問\e[m\n\n") sleep 2 print("『ちゃぶだい』の正しい表記はどれでしょう?\n\n") STDERR.printf("1.茶舞台\n\n2.卓袱台\n\n3.卓鵐台\n\n") sentaku8 = gets.chomp!.to_i if sentaku8 == 1 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m でもそんな感じがしますよね。\n\n") sleep 2 print("\e[31m卓袱台\e[m、が正解です。\n\n") sleep 2 print("卓袱(チャフ)は\e[31m中国語でテーブル\e[mなんですね。\n\n") sleep 2 print("なかなか書けませんよね。\n\n") elsif sentaku8 == 2 tokuten = 1 print("\n") print("\e[35mぴんぽーん!\e[m 正解でしたね。\n\n") sleep 2 print("卓袱(チャフ)は\e[31m中国語でテーブル\e[mなんですね。\n\n") sleep 2 print("中国語を学んでいる方は簡単だったかもしれません。\n\n") elsif sentaku8 == 3 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m すごく、すごく惜しいですっ!\n\n") sleep 2 print("卓袱(チャフ)は\e[31m中国語でテーブル\e[mなんですね。\n\n") sleep 2 print("私も難しかったです。\n\n") end eighth = tokuten.to_i sleep 2 print("\n\n") print("あと少しですよっ!\n\n") sleep 2 print("\e[33m第 9 問\e[m\n\n") sleep 2 print("『めくるめく』の「目がくらむ」以外の正しい意味はどれでしょう?\n\n") STDERR.printf("1.魅力にひかれて理性を失う\n\n2.本をめくるように運命が廻る\n\n3.あまりの巧妙さに舌を巻く\n\n") sentaku9 = gets.chomp!.to_i if sentaku9 == 1 tokuten = 1 print("\n") print("\e[35mぴんぽーん!\e[m 簡単でしたか?\n\n") sleep 2 print("\e[31m徒然草の「高名の木登り」\e[m、が語原です。\n\n") sleep 2 print("理性を失う、という意味は後から付いたもののようです。\n\n") elsif sentaku9 == 2 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m なんだか詩人ですね。\n\n") sleep 2 print("正解は\e[31m魅力にひかれて理性を失う\e[m、でした。\n\n") sleep 2 print("意外と分からないかもしれません。\n\n") sleep 2 elsif sentaku9 == 3 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m 違いますよ〜。\n\n") sleep 2 print("正解は\e[31m魅力にひかれて理性を失う\e[m、でした。\n\n") sleep 2 print("勉強になりましたね!\n\n") end nineth = tokuten.to_i sleep 2 print("\n\n") print("ラストです! 頑張ってくださいっ!!\n\n") sleep 2 print("\e[33m第 10 問\e[m\n\n") sleep 2 print("『悪いことをすれば必ず天罰を受ける』という意味の言葉はどれでしょう?\n\n") STDERR.printf("1.雨垂れ石を穿つ\n\n2.天網恢々疎にして漏らさず\n\n3.禍福は糾える縄の如し\n\n") sentaku10 = gets.chomp!.to_i if sentaku10 == 1 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m 違います!\n\n") sleep 2 print("\e[31m天網恢々疎にして漏らさず \e[m、が正解です。\n\n") sleep 2 print("雨垂れ石を穿つ、という言葉は\n\n") sleep 2 print("\e[31m小さな力も積み重ねれば大きな成果になる\e[m、\n\n") sleep 2 print("という意味ですね。 お互い頑張りましょう!\n\n") elsif sentaku10 == 2 tokuten = 1 print("\n") print("\e[35mぴんぽーん!\e[m 正解です!\n\n") sleep 2 print("\e[31m皆さんも、清く正しく生きてくださいね!\e[m\n\n") sleep 2 print("お見事でしたっ!!\n\n") elsif sentaku10 == 3 tokuten = 0 print("\n") print("\e[34mぶっぶー!\e[m ちょっと難しかったですね!\n\n") sleep 2 print("\e[31m天網恢々(てんもうかいかい)疎(そ)にして漏らさず \e[m、が正解です。\n\n") sleep 2 print("禍福は糾(あざな)える縄の如し、という言葉は\n\n") sleep 2 print("\e[31m禍(わざわい)と福は常に入れ替わり現れる \e[m、という意味です。\n\n") sleep 3 print("人生いろいろ、ですね!\n\n") end tenth = tokuten.to_i # 各 sum で処理した点数を total で統合。 総合点数を求める。 total = sum0(first,second) + sum1(third,fourth) + sum2(fifth,sixth) + sum3(seventh,eighth) + sum4(nineth,tenth) sleep 2 # 合計点数の表示。 %d に求められた total が反映される。 print("\n") STDERR.printf("合計点数は\e[35m %d点 \e[mです!\n\n",total) # 前回作成したプログラムを参考に、合計に合わせてコメントを表示。 if total < 1 print("残念でしたね〜。ですが、これからも日本語を大切にしてくださいね!\n\n") elsif total <5 print("日頃から日本語に興味を持てばバッチリです! 頑張ってください!\n\n") elsif total < 7 print("順調だったのに〜! でも日本語への愛は受け取りましたっ!!\n\n") elsif total < 8 print("あと一歩でしたね。これからも頑張ってください! ファイトですっ!!\n\n") elsif total < 10 print("頑張りましたね!\n\n") sleep 2 print("これからも正しく、美しい日本語を使い続けてくださいね!\n\n") elsif total <11 print("パーフェクトです!!\n\n") sleep 2 print("これからも日本語を大切にしてくださいね!\n\n") sleep 2 print("百恵、カンゲキですっ!!\n\n") end # def では今回のように、問題を分割して処理し、後から統合して結果を表示する こともできることが分かった ・実行結果 pan{ONO Takaki}% ./kotohyaku.rb [~/public_html/adv2] クイズ『ニッポン●言葉百景』のお時間がやってまいりました! 司会は私、琴葉百恵 (ことのは ももえ)がお送りします。 さっそく、問題いっちゃいましょうっ!! (問題の選択肢のあとに選んだ数字を入力して、Reternキーを押してください。) 第 1 問 『しのぎを削る』の正しい意味はどれ? 1.我慢して、しのぐこと 2.激しく競争するようす 3.鰹節をつくること 2 ぴんぽーん! まあ、このクイズに競争相手はいないですけどね。 ちなみに『しのぎ』は、日本刀の刀身と背(みね)の境界のことです。 次いくよー! 第 2 問 『にべもない』の正しい意味はどれ? 1.愛想がないこと 2.秋田県・羽後町の西馬音内地区 3.遠慮がないこと 1 ぴんぽーん……。 あ、愛想のないサウンドでしたが正解ですよ! 次ですっ! 第 3 問 『自分の歳などをごまかす』という意味の言葉はどれ? 1.鰹を読む 2.鯖を読む 3.秋刀魚を読む 2 ぴんぽーん! クイズの得点のサバは読まないでくださいね。 つーぎでーすよー。 第 4 問 『青天の霹靂』の -霹靂(へきれき)- とは何でしょう? 1.輝ける太陽 2.強靭なる壁 3.激しい雷 3 ぴんぽーん! 『青天の霹靂』は、予期しない大事件という意味でしたね。 次でやんすっ! 第 5 問 『花魁』の正しい読み方はどれでしょう? 1.けいと 2.おいらん 3.おうらん 2 ぴんぽーん! 正解です!! 位の高い遊女のことですが、今では歌舞伎などで登場します。 最初は読むのが難しいですよね。 後半戦ですっ!! 第 6 問 『徒花(あだばな)』の正しい意味はどれでしょう? 1.華やかでも実質の伴わないもの 2.見るからに派手な様 3.廃れてなお、美しいもの 1 ぴんぽーん! 正解です。 印象的だったが、高評価を得ずに消えた女優さん などを示す時に使いますね。 次だよん! 第 7 問 『にっちもさっちも(いかない)』の正しい表記はどれでしょう? 1.二身も三身も 2.煮っちも早っちも 3 ぴんぽーん! よく分かりましたね! どうにもならないときに使う言葉ですね。 難しくなりますよ〜! 第 8 問 『ちゃぶだい』の正しい表記はどれでしょう? 1.茶舞台 2.卓袱台 3.卓鵐台 2 ぴんぽーん! 正解でしたね。 卓袱(チャフ)は中国語でテーブルなんですね。 中国語を学んでいる方は簡単だったかもしれません。 あと少しですよっ! 第 9 問 『めくるめく』の「目がくらむ」以外の正しい意味はどれでしょう? 1.魅力にひかれて理性を失う 2.本をめくるように運命が廻る 3.あまりの巧妙さに舌を巻く 1 ぴんぽーん! 簡単でしたか? 徒然草の「高名の木登り」、が語原です。 理性を失う、という意味は後から付いたもののようです。 ラストです! 頑張ってくださいっ!! 第 10 問 『悪いことをすれば必ず天罰を受ける』という意味の言葉はどれでしょう? 1.雨垂れ石を穿つ 2.天網恢々疎にして漏らさず 3.禍福は糾える縄の如し 2 ぴんぽーん! 正解です! 皆さんも、清く正しく生きてくださいね! お見事でしたっ!! 2 2 2 2 2 合計点数は 10点 です! パーフェクトです!! これからも日本語を大切にしてくださいね! 百恵、カンゲキですっ!! ----------------------------------------------------------------------------- ・web 広告ページ http://roy/~c111038/adv2/index.html 蘭芸神社という神社の巫女・琴葉百恵(ことのは ももえ)が案内してくれる、 という設定です。 当たり前ですが、 冒頭で、ゲームの大まかな内容や企画意図について触れているので、利用者の方 が来てすぐに、何の広告ページなのか分かるようにしました。 ちなみに、キャラクターの琴葉百恵は読み方を変えると 「ことばひゃっけい」 つまり、 『言葉百景』 と、ゲームのタイトルと同じ読みになります。 お後がよろしいようで。
蘭芸神社(らんげいじんじゃ)へようこそ。私は巫女の 琴葉百恵 (ことのは ももえ) です。
ここではクイズゲーム『ニッポン●言葉百景』のダウンロードができます。
私も含めて、なかなか昔ながらの日本語を知らない人が増えてきました。とても悲しいことです……。
そこで、私たちが古き良き日本語に興味を持てるようなクイズを作りました!
まだまだ小規模ですが、これをきっかけに日本語の難しさや、奥深さを知ってもらえたなら幸いです!
いずれは日本語検定のような現代の言葉遣いになど関する実用的な問題も作りたいですね。
そのために私も頑張りますっ!
あ、このページの運営や私の言動に関しては、小野貴己という人が裏で糸を引いて いますので、あしからず。
クイズのプログラム本体です。ダウンロードして、是非、みんなで楽しんでくださいね!
この巻物が仕様書、説明書になっています。しっかり目を通してくださいね!