第7回 基礎プログラミング II レポート課題 氏名:阿部大樹 学籍番号:c1060100 語学クラス:英語 コース(系):社会 1プログラム問題 A: a:広告ページ http://roy/~c106010/advertise2/ 仕様書: 以前作ったるびおっち的ゲーム改良作です。 最終的になった動物、状態によって表示する絵変えるようにしました! chmod +x saikou.rbを行い、Ktrmで実行できます。 選びたい選択肢の番号を選び入力し遊べます。 b:プログラム本体 #!/usr/koeki/bin/ruby def nakigoe(gao) #入力に応じて鳴く回数を決める gao.times do print("がおー") end print("\n") sleep 1 end def choice (name) STDERR.print("\n[1]狩りを教える\n") STDERR.print("[2]放置プレー\n") STDERR.print("[3]餌を与える\n") end def ikusei (nissuu, sentaku) x = 2 * nissuu - sentaku printf("しつけ度増加 %d\n", x) x end printf("ライオンを拾いました\n") STDERR.printf("名前はどうする?(未入力の場合レオになるよ):") name = gets.chomp if name == "" name = "レオ" #名前が入力されなかった時の名前 end printf("%sと命名しました。\n", name) omosa = 0 #体重 shitsuke = 1 #しつけ nissuu = 1 #育てた日にち while true printf("%d日目\n", nissuu) choice(name) #選択肢を表示 answer = gets.chomp!.to_i omosa += nissuu + answer printf("体重 = %d\n\n", omosa) shitsuke += ikusei(nissuu,answer) printf("しつけ = %d\n", shitsuke ) nakigoe(answer) #入力した選択肢の分だけ鳴く if omosa > 10 #omosaが4を超えたら抜ける break end #if shitsuke > 8 #shitsukeが4を超えたら抜ける # break #end if nissuu == 3 #3日目になったら抜ける break end if shitsuke >= 0 printf("しつけ度 %s \n", "*" * shitsuke) end nissuu += 1 #日にちを進める。 print("---------------------------------------\n") end if shitsuke >= 0 printf("しつけ度 %s \n", "*" * shitsuke) end printf("%sは", name) if shitsuke > 7 system('display hyakujuu.png&') print("百獣の王(ライオンキング)") #shitsukeが8を超えたら elsif shitsuke <= 5 system('display neko.png&') print("ねこみたい") #shitsukeが5以下だったら else system('display yasei.png&') print("野生") #それ以外 end print("になりました\n") sleep 3 system('pkill display -U `whoami`') 作成画像: http://roy/~c106010/hyakujuu.png http://roy/~c106010/neko.png http://roy/~c106010/yasei.png 実行結果: pan{c106010}% ./saikou.rb [~/ruby] ライオンを拾いました 名前はどうする?(未入力の場合レオになるよ):ty tyと命名しました。 1日目 [1]狩りを教える [2]放置プレー [3]餌を与える 1 体重 = 2 しつけ度増加 1 しつけ = 2 がおー 1しつけ度 ** --------------------------------------- 2日目 [1]狩りを教える [2]放置プレー [3]餌を与える 1 体重 = 15 しつけ度増加 -7 しつけ = -5 がおーがおーがおーがおーがおーがおーがおーがおーがおーがおーがおー tyはねこみたいになりました pan{c106010}% ./saikou.rb [~/ruby] ライオンを拾いました 名前はどうする?(未入力の場合レオになるよ):1 1と命名しました。 1日目 [1]狩りを教える [2]放置プレー [3]餌を与える 1 体重 = 2 しつけ度増加 1 しつけ = 2 がおー 1 1しつけ度 ** --------------------------------------- 2日目 [1]狩りを教える [2]放置プレー [3]餌を与える 体重 = 5 しつけ度増加 3 しつけ = 5 がおー 1しつけ度 ***** --------------------------------------- 3日目 [1]狩りを教える [2]放置プレー [3]餌を与える 体重 = 19 しつけ度増加 -5 しつけ = 0 がおーがおーがおーがおーがおーがおーがおーがおーがおーがおーがおー しつけ度 1はねこみたいになりました 2感想: 今回は時間がなく、改良作を作ることにした。とりあえず画像を作成して前より はよくなったと思う。 少し送れるかも知れませんがもう少し改良できたらまた再送信したいと思います。 参考文献: 「画像変換ソフトとシステム」 http://roy/~madoka/2010/r1/12/12_07_theme_05_display.html 作者:西村先生 共同研究者: 工藤智也