第12回 基礎プログラミング I レポート課題 氏名:宮川史礼 学籍番号:C1071948 語学クラス:英語1 コース(系):社会系 チーム名:SENGOKU チームホームページアドレス:http://roy/~c109056/SENGOKU/index.html プロジェクト名:武将名鑑と戦国クイズ 1.チームについては、それぞれ順調に進んでいて、課題として、作成しなければ ならないものはひととおり完成しているようである。 2.クイズのプログラ厶については、前回自分が作成したのが企画書と取扱説明 書で、藤井君がプログラむだった。そして今回は藤井君にプレゼン原稿を作 成してもらい、自分がプログラ厶のデモ版を作成してお互い完成させて、確認し 合った。 3.前回作成した「戦国クイズ」の取扱説明書と企画書。および今回担当すること になった、デモ版作成。 4.特に指摘された点はない。 5.上述したとおり、指摘された点はなかったので、改良はしなかった。 6.戦国クイズ(デモ版) 作成したプログラム #!/usr/koeki/bin/ruby win = lose = 0 print("ようこそ戦国クイズ(デモ版)へ!!\n") sleep 1.5 print("皆さんにはいまから5問クイズに答えてもらいます。\n") sleep 1.5 print("さて全問正解できるかな!!\n\n") sleep 2.3 print("それでは第一問\n") print("1467年、8代将軍足利義政の時に起きた内乱はなんというか?\n\n") sleep 2 print("1:保元の乱 2:応仁の乱 3:応永の乱\n") print("さて答えは何番でしょうか?\n") a = gets.chomp.to_i if a == 2 print("正解です!!\n") print("この調子で次の問題へ行こう\n") win += 1 else print("残念。\n") print("正解は 2番です。\n") print("次は正解しましょう!!\n\n") lose += 1 end sleep 3 print("\n") print("★第二問★\n") print("1510年、対馬守護宗氏と恒居倭人によって起こった反乱はなにか?\n\n") sleep 2 print("1:寧波の乱 2:対馬の乱: 3:三浦の乱\n") print("さて答えは何番でしょうか?\n") b = gets.chomp.to_i if b == 3 print("凄い! 正解です!!\n") win += 1 else print("残念。\n") print("正解は 3番です。\n") print("次こそは....\n") lose += 1 end sleep 3 print("\n") print("★第三問★\n") print("1543年、種子島に鉄砲が伝えられた。では誰によって伝えられたか?\n\n") sleep 2 print("1:ポルトガル人 2:イギリス人: 3:フランス人\n") print("さて答えは何番でしょうか?\n") c = gets.chomp.to_i if c == 1 print("正解!! その調子です。\n") win += 1 else print("残念です。\n") print("正解は 1番です。\n") print("ファイト!!\n") lose += 1 end sleep 3 print("\n") print("★第四問★\n") print("1560年、織田信長の勢力伸張の出発点となった戦いはなにか?\n\n") sleep 2 print("1:姉川の戦い 2:山崎の戦い 3:桶狭間の戦い\n") print("さて答えは何番でしょうか?\n") d = gets.chomp.to_i if d == 3 print("正解!! \n") win += 1 else print("不正解\n") print("正解は 3番です。\n") print("あれ?どうしたのかな?\n") lose += 1 end sleep 3 print("\n") print("★第五問★\n") print("1588年、秀吉が天皇を迎えるために造営した邸宅は何か?\n\n") sleep 2 print("1:聚楽第 2:皇居: 3:後楽園\n") print("さて答えは何番でしょうか?\n") e = gets.chomp.to_i if e == 1 print("正解です!! \n") print("やったね!\n") win += 1 else print("残念です\n") print("正解は 1番です。\n") lose += 1 end sleep 2 print("\n") print("以上で終わりです\n") sleep 2 print("\n") printf("あなたの成績は %d 問正解し、%d 問不正解でした。\n",win ,lose) if lose < 1 print("きみは戦国の大将軍だね!! \n") elsif lose < 2 print("きみは戦国の将軍だね!! \n") elsif lose < 3 print("きみは戦国の上級武士だね!! \n") elsif lose < 4 print("きみは戦国の下級武士だね!! \n") else print("きみは戦国の農民だね!! \n") end 実行結果 -全問正解の場合- pan{c107194}% ./quiz_demo.rb [~/public_html] ようこそ戦国クイズ(デモ版)へ!! 皆さんにはいまから5問クイズに答えてもらいます。 さて全問正解できるかな!! それでは第一問 1467年、8代将軍足利義政の時に起きた内乱はなんというか? 1:保元の乱 2:応仁の乱 3:応永の乱 さて答えは何番でしょうか? 2 正解です!! この調子で次の問題へ行こう ★第二問★ 1510年、対馬守護宗氏と恒居倭人によって起こった反乱はなにか? 1:寧波の乱 2:対馬の乱: 3:三浦の乱 さて答えは何番でしょうか? 3 凄い! 正解です!! ★第三問★ 1543年、種子島に鉄砲が伝えられた。では誰によって伝えられたか? 1:ポルトガル人 2:イギリス人: 3:フランス人 さて答えは何番でしょうか? 1 正解!! その調子です。 ★第四問★ 1560年、織田信長の勢力伸張の出発点となった戦いはなにか? 1:姉川の戦い 2:山崎の戦い 3:桶狭間の戦い さて答えは何番でしょうか? 3 正解!! ★第五問★ 1588年、秀吉が天皇を迎えるために造営した邸宅は何か? 1:聚楽第 2:皇居: 3:後楽園 さて答えは何番でしょうか? 1 正解です!! 以上で終わりです あなたの成績は 5 問正解し、0 問不正解でした。 きみは戦国の大将軍だね!! pan{c107194}% ./quiz_demo.rb [~/public_html] ようこそ戦国クイズ(デモ版)へ!! 皆さんにはいまから5問クイズに答えてもらいます。 さて全問正解できるかな!! -全問不正解の場合- pan{c107194}% ./quiz_demo.rb [~/public_html] ようこそ戦国クイズ(デモ版)へ!! 皆さんにはいまから5問クイズに答えてもらいます。 さて全問正解できるかな!! それでは第一問 1467年、8代将軍足利義政の時に起きた内乱はなんというか? 1:保元の乱 2:応仁の乱 3:応永の乱 さて答えは何番でしょうか? 1 残念。 正解は 2番です。 次は正解しましょう!! ★第二問★ 1510年、対馬守護宗氏と恒居倭人によって起こった反乱はなにか? 1:寧波の乱 2:対馬の乱: 3:三浦の乱 さて答えは何番でしょうか? 2 残念。 正解は 3番です。 次こそは.... ★第三問★ 1543年、種子島に鉄砲が伝えられた。では誰によって伝えられたか? 1:ポルトガル人 2:イギリス人: 3:フランス人 さて答えは何番でしょうか? 3 残念です。 正解は 1番です。 ファイト!! ★第四問★ 1560年、織田信長の勢力伸張の出発点となった戦いはなにか? 1:姉川の戦い 2:山崎の戦い 3:桶狭間の戦い さて答えは何番でしょうか? 1 不正解 正解は 3番です。 あれ?どうしたのかな? ★第五問★ 1588年、秀吉が天皇を迎えるために造営した邸宅は何か? 1:聚楽第 2:皇居: 3:後楽園 さて答えは何番でしょうか? 2 残念です 正解は 1番です。 以上で終わりです あなたの成績は 0 問正解し、5 問不正解でした。 きみは戦国の農民だね!! -4問正解の場合- pan{c107194}% ./quiz_demo.rb [~/public_html] ようこそ戦国クイズ(デモ版)へ!! 皆さんにはいまから5問クイズに答えてもらいます。 さて全問正解できるかな!! それでは第一問 1467年、8代将軍足利義政の時に起きた内乱はなんというか? 1:保元の乱 2:応仁の乱 3:応永の乱 さて答えは何番でしょうか? 2 正解です!! この調子で次の問題へ行こう ★第二問★ 1510年、対馬守護宗氏と恒居倭人によって起こった反乱はなにか? 1:寧波の乱 2:対馬の乱: 3:三浦の乱 さて答えは何番でしょうか? 2 残念。 正解は 3番です。 次こそは.... ★第三問★ 1543年、種子島に鉄砲が伝えられた。では誰によって伝えられたか? 1:ポルトガル人 2:イギリス人: 3:フランス人 さて答えは何番でしょうか? 1 正解!! その調子です。 ★第四問★ 1560年、織田信長の勢力伸張の出発点となった戦いはなにか? 1:姉川の戦い 2:山崎の戦い 3:桶狭間の戦い さて答えは何番でしょうか? 3 正解!! ★第五問★ 1588年、秀吉が天皇を迎えるために造営した邸宅は何か? 1:聚楽第 2:皇居: 3:後楽園 さて答えは何番でしょうか? 1 正解です!! やったね! 以上で終わりです あなたの成績は 4 問正解し、1 問不正解でした。 きみは戦国の将軍だね!! 考察 同じチーム内のこれもまた同じプロジェクト内で前回プログラムを担当し、作成 してくれた藤井君のそれを、問題量をハーフカットして、さらにプレイヤーにク イズの前後でかける言葉などにも省くところは省き、付け加えるところは加える といった具合で、デモ用に改良したものを作った。そして案の定すんなりと、実 行結果も引っかかり無く運んで行った。 7.プレゼンテーションについては、同じプロジェクト内の藤井駿君が行なってく れた。 プレゼン原稿の内容 1) わたしたちは「SENGOKUクイズ」というプログラムを作成しました。 2) このプログラミングを作成した理由は大きく分けて2つあります。 一つ目はグループ内で歴史に詳しい人がいたということです。歴史に詳し いのであればその力を借りてやってみようとしました。 二つ目は戦国時代についてただ年表にするか迷いましたが、皆さんに楽しんで もらうためにクイズ方式にしました。 3) このプログラムの内容としては、日本の戦国時代をテーマに、その中で起 こった合戦や争乱、または特筆的な出来事について、3択制全10問のクイズに挑戦 してもらいます。 クイズを全問クリアしたあとで、挑戦者の評価をします。全問正解ないし は1問間違いの場合、その挑戦者は「戦国の大将軍」となり、3問間違った程 度なら「戦国の将軍」、6問間違いは「上級武士」となり、1問しか正解し ていないと、「下級武士」という評価になります。全問不正解では「農民」 という風に評価が与えられます。 4) プログラムを実行するには次のとおりの手順をしていただきます。 まずは、quiz.rb をダウンロードしてもらい、Kterm で mv quiz.rb Ruby をして下さい。そして cd Ruby をしてもらい chmod +x quiz.rbをして下 さい。 最後に ./quiz.rb をしていただくと見事プログラムは実行されることと なります。 5) プログラムを実行してもらうと次のように表示されます。 ようこそ戦国クイズへ!! 皆さんにはいまから10問クイズに答えてもらいます。 さて全問正解できるかな!! それでは第一問 1467年、8代将軍足利義政の時に起きた内乱はなんというか? 1:保元の乱 2:応仁の乱 3:応永の乱 さて答えは何番でしょうか? ↓ ↓ あなたの成績は ? 問正解し、? 問不正解でした。 きみは戦国の将軍だね!! 皆さんには是非とも戦国の大将軍を目指してもらいたいです。 6) ここには載せることが出来なかった戦国時代の出来事は山のようにある のでこのSENGOKUクイズをやってもらって少しでも興味をもっていただけると 幸いです。今までとは違った歴史観というものをこのプログラムで感じて もらえたでしょうか? 7) 最後になりますが、このプログラムは東北公益文科大学基礎プログラミン グ2010年度前期チームSENGOKUが著作権を保有しています。 このプログラムの入手・実行・改変・再配布は、いずれも無料で自由に行 なうことが出来ます。 ただしこのプログラム等を取り扱うことで生じたいかなる結果に対しても 著作権者は責任を負いませんことをご了承下さい。 8.デモ版とキャラクターを添付 9.応援キャラクター URL: http://roy/~c107194/char_r1_c107194.png キャラクター名:ユキムラッ! 由来 チームのテーマが戦国時代kについての云々といったものなので、それならばと いうことで、戦国武将中もっとも人気の高い真田幸村をもじったものを描いてみ たというところである。 感想 グループワークということで、メンバーに対して、いろいろと気を使わなくては いけない気がしていたが、いざ一緒になって取り組んでみると、皆それぞれ表面 的には、まとまりがなさそうに見えて、意外とまとまりが取れているようで、自 分のほうが、至らないのではという感じがした。実際同じプロジェクトの藤井君 や、グループリーダーの木内君も、逆にそれとなく気を使ったりしてくれるので、 有難いやら申し訳ないやらという気持ちになったりもする。そういうわけで、自 分の仕事をきっちりと、こなしていこうと、今回ふと振り返ってそう思った。 参考文献 チームSENGOKUのホームページ「SENGOKUクイズ(プログラム本体)」 http://roy/~c109056/SENGOKUquiz/quiz.rb 共同学習者 チームSENGOKUのメンバー 木内雄(リーダー) 花木剛志 齋藤拓也 藤井駿 協力してくれたTA 工藤智也