第 7 回 ゼミ紹介 レポート課題 氏名:佐藤 千香 学籍番号:C1101069 語学クラス:英語6 コース(系):地域共創コース A、 ●企画書(kikaku.txt) <企画の意図> メソット def を使ったシュミレーション的なゲームが作りたかったから。 <内容> ある女の子が好きな先輩のために痩せるシュミレーション的ゲーム。 選択肢を選ぶことによって体重、ストレスが変化する。 結果によってことなったエンディングを見ることができる。 ●取扱説明書(setumei.txt) <インストールの方法> 以下のハイパーリンクを右クリックし「Save Link AS...」を選択して、 普段プログラムを保存しているディレクトリに保存します。 <実行方法> プログラムを保存したディレクトリに移動し、プログラムを実行します。 例えばカレントディレクトリにあるrubyというディレクトリにプログラムを保存した場合 pan{c10xxxx}% cd ruby でrubyディレクトリに移動し pan{c10xxxx}% ruby game.rb で実行できます。 <遊び方> 起動したら、名前の入力をします。 その後は自分の好きな選択肢を選ぶだけです。 B、プログラム a、考えた設定 主人公の体重を減らし、結果によってエンディングが変化するプログラム。 b、プログラム #!/usr/koeki/bin/ruby def message(month) # 関数 message とし 引数を month とする STDERR.printf("\n===============%dヵ月目===============\n",month) STDERR.print("\n今月はどうしようかな?\n") STDERR.print("[1]\t運動する\n") STDERR.print("[2]\t食事制限\n") STDERR.print("[3]\tさぼる\n") STDERR.print("[4]\tおやつを食べる\n") end # def に対する end def choose() # 関数 choose とする STDERR.printf("\n 何をあげようかな?\n") STDERR.print("[1]\t手作りクッキー\n") STDERR.print("[2]\t手編みのセーター\n") STDERR.print("[3]\tはらまき\n") STDERR.print("[4]\tあげない\n") end # def に対する end print("名前を入力してください。\n") name = gets.chomp if name == "" # if 文で名前の入力がない場合 name = "ぶー子" # 名前を "ぶー子" とする end # if に対する end printf("私の名前は%s\n\n",name) sleep(1) print("高校に入学して先輩に恋をした。\n\n") sleep(1) print("だけど現在の私の体重は80kgー。\n\n") sleep(1) print("先輩は来年で卒業してしまう…\n") print("\n") print("だから私は決めたのだ!!\n\n") print("先輩の卒業までに痩せて告白すると!!\n\n") print("\n") print("\n") month = 1 # 月(値を 1 とする) weight = 80 # 体重(値を 80 とする) stress = 0 # ストレス(値を 0 とする) while true # while true で繰り返しを求めた message(month) answer = gets.chomp.to_i # 選択肢の入力。to_i で整数とした if answer == 1 # if 文で answer が 1 の場合 weight -= 3.5 # 行う操作 stress += 2 # 行う操作 elsif answer == 2 # answer が 2 の場合 weight -= 1.5 # 行う操作 stress += 1 # 行う操作 elsif answer == 3 # answer が 3 の場合 weight += 1 # 行う操作 elsif # answer が 4 の場合 weight += 2 # 行う操作 end # if に対する end printf("現在の体重:%3.1fkg\n",weight) printf("ストレス :%d\n",stress) if weight < 60 && month == 6 # if 文で体重60kgかつ6ヶ月目の場合 print("\n\n\e[31mラブイベント発生!!\e[m\n\n") sleep(1) printf("%s:明日は先輩の誕生日だ!\n",name) choose() answer2 = gets.chomp.to_i if answer2 == 1 # if 文で answer が 1 の場合 print("\nありがとう!僕、クッキー好きなんだ!\n") weight -= 5 elsif answer2 == 2 # answer が 2 の場合 print("\n…あ、ありがとう\n") weight -= 2 elsif answer2 == 3 # answer が 3 の場合 print("\n……使わせてもらうよ…\n") else # その他の場合 print("\n……………\n\n") end # if に対する end sleep(1) print("\nよーし、また明日からがんばるぞ!\n\n") end # if に対する end if weight < 45 # if 文で体重が 45kg より小さい場合 break # break で繰り返しを抜ける end # if に対する end if stress > 20 # if 文でストレスが 20 より大きくなった場合 print("ストレスでやけ食い。体重がリバウンドしてしまった!\n") exit # このプログラムを終了させる end # if に対する end if month > 11 # if 文で月が 11より大きくなった場合 # month の値が 1 だったため 11 となり 12ヶ月となる break # break で繰り返しを抜ける end # if に対する end month +=1 # 繰り返す度に 1 を足す end # while true に対する end print("\nーーーー卒業式の日ーーー\n\n") print("\n先輩!私と付き合ってください!\n") print("\n") if weight < 50 # # if 文で体重が 50kg より小さい場合 print("「君痩せて可愛くなったよね。僕も君のこと好きだよ。」\n\n") elsif weight < 60 ## if 文で体重が 60kg より小さい場合 print("「ぼ、僕も好きだよ。」\n\n") elsif weight < 70 # if 文で体重が 70kg より小さい場合 print("「ま、まずは友だちから…」\n\n") else # その他の場合 print("「ごめん、僕太ってる人ダメなんだ…」\n\n") end # if に対する end c、実行結果 pan{c110106}% ./game.rb [~/Ruby] 名前を入力してください。 私の名前はぶー子 高校に入学して先輩に恋をした。 だけど現在の私の体重は80kgー。 先輩は来年で卒業してしまう… だから私は決めたのだ!! 先輩の卒業までに痩せて告白すると!! ===============1ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:76.5kg ストレス :2 ===============2ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:73.0kg ストレス :4 ===============3ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:69.5kg ストレス :6 ===============4ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:66.0kg ストレス :8 ===============5ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:62.5kg ストレス :10 ===============6ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:59.0kg ストレス :12 ラブイベント発生!! ぶー子:明日は先輩の誕生日だ! 何をあげようかな? [1] 手作りクッキー [2] 手編みのセーター [3] はらまき [4] あげない 1 ありがとう!僕、クッキー好きなんだ! よーし、また明日からがんばるぞ! ===============7ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 現在の体重:50.5kg ストレス :14 ===============8ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:47.0kg ストレス :16 ===============9ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:43.5kg ストレス :18 ーーーー卒業式の日ーーー 先輩!私と付き合ってください! 「君痩せて可愛くなったよね。僕も君のこと好きだよ。」 pan{c110106}% ./game.rb [~/Ruby] ===============1ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:76.5kg ストレス :2 ===============2ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:73.0kg ストレス :4 ===============3ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:69.5kg ストレス :6 ===============4ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:66.0kg ストレス :8 ===============5ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 2 現在の体重:64.5kg ストレス :9 ===============6ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 3 現在の体重:65.5kg ストレス :9 ===============7ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 4 現在の体重:67.5kg ストレス :9 ===============8ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:64.0kg ストレス :11 ===============9ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:60.5kg ストレス :13 ===============10ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 2 現在の体重:59.0kg ストレス :14 ===============11ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:55.5kg ストレス :16 ===============12ヵ月目=============== 今月はどうしようかな? [1] 運動する [2] 食事制限 [3] さぼる [4] おやつを食べる 1 現在の体重:52.0kg ストレス :18 ーーーー卒業式の日ーーー 先輩!私と付き合ってください! 「ぼ、僕も好きだよ。」 ◯ 広告ページ http://roy/~c110106/advertise2/index.html 基礎プログラミングII 個人用ページ 2、感想 今回は最高傑作を作るということであったが、時間が無く、いろいろと妥協した 点が多かった。個人用ページは今後も残るので、時間があるときに少しずつ手 直ししていければよいと思った。 3、参考文献:ウェブページ 西村 まどか 基礎プログラミングII 第5回 「何度も呼び出そう」 http://roy.e.koeki-u.ac.jp/~madoka/2011/r2/05/ 第6回 「目的に応じて使ってみよう」 http://roy.e.koeki-u.ac.jp/~madoka/2011/r2/06/ 4、共同学習者:継枝 沙希 5、添付