第 7 回 ゼミ紹介 レポート課題 氏名:上林千尋 学籍番号:c1100638 語学クラス:英語 コース(系):地域共創コース 1 http://roy/~c110063/advertise2/ ----------------仕様書(shiyosyo.txt)--------------------------- saikokessaku.rbの仕様書 **企画意図** おそらく他の人は、日常的に使えるプログラムを作成していると思ったので、誰 もが楽しめるゲームを作成しました。 2011年は色々ありましたが、衆議院のサーバーがアタックされてパスワードが盗 まれるという事件があったのをご存知でしょうか。 このとき、隙間だらけのセキュリティ体勢が問題になりました。 ただのゲームではつまらないので、 私の衆議院(主に与党)に対する反感に合わせて衆議院の揶揄とブラックジョーク のようなものを含ませてみました。 **使用方法** プログラムを起動すると、まず一緒に衆議院のサーバーにアタックをしかけるキャ ラクターを選ぶコマンドが発生します。 どの議員を味方につける? ※特技は全然関係ありません [1]連峰さん 特技:事業仕分け [2]罰呂さん 特技:問題発言 [3]仲川さん 特技:酩酊会見 [4]ダニさん 特技:「小澤さーん」 [5]九鳥山 特技:豆鉄砲 ここでキャラクターを選ぶと、次にどこにアタックを仕掛けるかのコマンドが発 生するので、 [1] 衆議院公式サイトにアタック [2] 議員のパソコンにアタック [3] 幹部のパソコンにアタック [4] 首相のパソコンにアタック アタックを仕掛けていってください。 サーバーアタックは犯罪です。キャラクターは高確率で逮捕されるので、逮捕さ れないようにしてください。 キャラクターを選ぶコマンドで6を選ぶと隠しキャラを使うことができます。 **連絡先** このプログラムに関する感想、要望がありましたら c110063@f.koeki-u.ac.jp までメッセージをお送り下さい。 @は半角にしてください。 -------------------------------------------------------------------------- -----------------------作成したプログラム--------------------------------- !/usr/koeki/bin/ruby def clack_bar(ct) printf("\e[m\n") print("支持者の声\n") ct.times do print("わー\t") end print("\n") sleep(1) end def command(name) #キャラクターを選択するdef printf("%sと一緒にアタックを仕掛けよう。\n\n", name) print("\e[33m[1]\t衆議院公式サイトにアタック\n") print("[2]\t議員のパソコンにアタック\n") print("[3]\t幹部のパソコンにアタック\n") print("[4]\t首相のパソコンにアタック\n") end #defおわり def fat(perday,exercise) #計算するdef x = 3 * perday - exercise printf("%d日目\n",perday) printf("アタック達成率 %d\n", x) x end #defおわり printf("クラックソフトを作成したので、早速アタックを仕掛けようと思います\n") print"どの議員を味方につける?\n" print"※特技は全然関係ありません\n" print"\n" printf("\e[33m[1]連峰さん 特技:事業仕分け\n") printf("[2]罰呂さん 特技:問題発言\n") printf("[3]仲川さん 特技:酩酊会見\n") printf("[4]ダニさん 特技:「小澤さーん」\n") printf("[5]九鳥山 特技:豆鉄砲\n") printf("\e[m\n") name = gets.chomp if name == "" #名前が無記名の場合 name = "よしぴこ" elsif name == "1" name = "連峰さん" elsif name == "2" name = "罰呂さん" elsif name =="3" name = "仲川さん" elsif name == "4" name = "ダニさん" elsif name == "5" name = "九鳥山" elsif name == "6" #隠しキャラクター name = "ぽんかんなおと" end printf("\e[m\n") printf("%sを味方につけました。\n",name) clack_shin = 1 # クラック進行度 shiziritsu = 1 # 支持率 day = 1 # クラックした日付 printf("達成率があがるほど%sを支持者の声も多くなります\n",name) printf("\n") while true clack_bar(clack_shin) command(name) ans = gets.to_i #コマンドを入力 clack_bar(ans) clack_shin += day * ans #クラック進行度=日数*コマンド番号 printf("クラック進行度 clack_shin=%d\n", clack_shin) shiziritsu += fat(day,ans) printf("支持率 shiziritsu=%d\n", shiziritsu) if clack_shin > 10 break end if shiziritsu > 10 break end day += 1 end clack_bar(shiziritsu) # 最終段階の支持率が達成率 printf("\n") printf("\e[31mクラックが完了しました!%sは",name) if shiziritsu > 15 print("総理大臣") elsif shiziritsu <= 8 print("すぐに自首したので逮捕") elsif shiziritsu <= 3 print("ネット上に足跡が残っていたので容疑者として逮捕") else print("目撃者がいたので容疑者として逮捕") end print("になりました\n") printf("\e[m\n") ---------------------------------------------------------------------------- 2 どうしてもプログラムが思いつかなかったので、先生のるびおっちを元にしてプロ グラムを作成しました。 自分のプログラムをわかりやすく説明するのは難しかったです。 3 http://roy/~madoka/2011/r2/06/r2_06_11_theme_09_rubiocci.html 基礎プログラミング II 第 6 回 (目的に応じて使ってみよう) 「るびおっち」 西村まどか先生