第6回 基礎プログラミング II レポート課題 氏名:吉田瑞恵 学籍番号:C1082030 語学クラス:英語(?) コース(系):社会 1.alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"] alphabet[18] "a"を0番目として数えていくと a b c d e f g h i j k l m n o p q r s 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 なので、alphabet[18]= s である。 alphabet[40] a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 で、配列alphabetの中には25番目の要素までしかない。 なのでalphabet[40]=なし だと考えた。 プログラムを作成し確認した。 作成プログラム tester.rb #!/usr/koeki/bin/ruby alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"] printf("配列の18番目は%s\n",alphabet[18]) printf("配列の40番目は%s\n",alphabet[40]) 実行したところ pan{c108203}% ./tester.rb [~/Ruby] 配列の18番目はs 配列の40番目は となった。 40番目は何も出てこなかったので なし だと言える。 A. a.設定 身長を入力してもらい、配列として取り込み、平均を出すプログラムdef_statistic.rb b.作成プログラム def_statistic.rb #!/usr/koeki/bin/ruby $KCODE= 'e' #日本語を使用する宣言。 def average(sinchou) # 関数averageを作るメソッド sum = 0.0 # あとで小数点第2位で切捨てするので、0.0としておく。 for tall in sinchou # sinchouの中身をtallに sum += tall # sumは上で設定した変数tallを足していった数値とする。 end # for文終了 sum / sinchou.length # sinchouの数でsumを割り、平均を出す end # 関数作りメソッド終了 cm = Array.new # 配列 cmを作る number = 0 # 人数をカウントするための変数number while true # Ctrl-dが入力されるまで以下を繰り返すように STDERR.print "身長を入力して下さい(終了時はCtrl-d):" size = gets # 変数sizeに取り込む。 if size == nil # Ctrl-dが入力されたら、 break # 終了して結果表示へ。 end # if文終了 cm << size.to_i # 配列cmに、入力された値を取り込んでいく number += 1 # numberに1ずつ足し、人数を記録する。 # はじめ、この計算をif-break-endの前に出していたところCtrl-dまで # カウントされた。 end # while true終了 printf("\n%d人の平均身長は%4.1f です\n",number,average(cm)) #結果表示 #身長なので、3桁+小数点第一位で表示。 c.変更点 授業内で扱われたdef_ary_movie.rbを元に作成。 ・設定に合わせ変数を変更した。 ・入力された人数をカウントするようにした。 d.実行結果 roy{c108203}% ./def_statistic.rb [~/Ruby] 身長を入力して下さい(終了時はCtrl-d):148 身長を入力して下さい(終了時はCtrl-d):153 身長を入力して下さい(終了時はCtrl-d):175 身長を入力して下さい(終了時はCtrl-d):160 身長を入力して下さい(終了時はCtrl-d):139 身長を入力して下さい(終了時はCtrl-d):164 身長を入力して下さい(終了時はCtrl-d):^D 6人の平均身長は156.5 です e.考察 10個の値を入力する。 身長を入力して下さい(終了時はCtrl-d):157 身長を入力して下さい(終了時はCtrl-d):153 身長を入力して下さい(終了時はCtrl-d):181 身長を入力して下さい(終了時はCtrl-d):176 身長を入力して下さい(終了時はCtrl-d):169 身長を入力して下さい(終了時はCtrl-d):160 身長を入力して下さい(終了時はCtrl-d):164 身長を入力して下さい(終了時はCtrl-d):158 身長を入力して下さい(終了時はCtrl-d):153 身長を入力して下さい(終了時はCtrl-d):166 身長を入力して下さい(終了時はCtrl-d):^D 10人の平均身長は163.7 です 確かめ算をする。 roy{c108203}% bc -l [~/Ruby] 157+153+181+176+169+160+164+158+153+166 1637 1637/10 163.70000000000000000000 3個の値を入力する。 roy{c108203}% ./def_statistic.rb [~/Ruby] 身長を入力して下さい(終了時はCtrl-d):178 身長を入力して下さい(終了時はCtrl-d):192 身長を入力して下さい(終了時はCtrl-d):139 身長を入力して下さい(終了時はCtrl-d):^D 3人の平均身長は169.7 です 確かめ算をする。 roy{c108203}% bc -l [~/Ruby] 178+192+139 509 509/3 169.66666666666666666666 小数点第二位で四捨五入されている。 計算は正しく、人数もカウントされていることがわかった。 なのでこのプログラムは正常に動いているといえる。 a.設定 1週間で太った猫を痩せさせる、るびおっち的 ゲーム def_rollplaying_a.rb b.作成プログラム def_rollplaying_a.rb #!/usr/koeki/bin/ruby def choose(name,day) # 何度も表示させるメソッド。 #name と day が その時によって異なる。 STDERR.print "-" *80 #前日の結果との境目 STDERR.printf("%d日目。\n",day) # 何日目か表示 STDERR.printf("\n %sをどうする?\n",name) # 始めに入力されたnameを表示 STDERR.print("[1]ごろごろさせる\n") STDERR.print("[2]おやつを食べさせる\n") STDERR.print("[3]痩せ薬を飲ませる\n") STDERR.print("[4]運動させる\n") #ここまでは選択肢。 end #メソッド終了 def slim(sentaku) # 関数slimを作るメソッド if sentaku < 3 # 2か1が入力された場合(太る選択肢) sl = (sentaku * 200) - 30 # 入力された値の2倍から30を引いた数値 else # 3,4が入力された場合(痩せる選択肢) sl = 0 - ((sentaku * 200) - 30) # マイナス「入力された値の2倍から30を引いた数値」 end # if文終了 end # 関数作成メソッド終了 def stress(sentaku) # 関数stressを作るメソッド if sentaku > 2 # 3,4が入力された場合(ストレスが溜まる選択肢) st = (sentaku ** 2) - 5 # 入力された数値の2乗から5を引く else # 1,2のとき (ストレスが減る選択肢) st = 0 -(sentaku * 5) # マイナス「入力された数値の5倍」 end # if文 終了 end # 関数作成メソッド終了 STDERR.print("これは、ある太った猫を1週間以内に痩せさせるゲームです。\n") sleep 1 # 1秒 間を置く STDERR.print("この猫ちゃんは体重が8kgもあります。\n") sleep 1 STDERR.print("飼い主のあなたは猫ちゃんをだっこして、「もっと痩せさせないと!」と危機感を持ちました。\n") sleep 1 STDERR.print("7ターンあるので、その間に猫ちゃんをスリムにしましょう!") sleep 1 STDERR.print("あ、そうだ。あまりストレスを溜めさせないように注意して下さいね。\n") sleep 1 STDERR.print("イライラ度が20を超えたらゲームオーバーです\n") STDERR.print("\n") # ここまではゲームの説明。 sleep 1 STDERR.printf("まずはこの猫に名前をつけてあげましょう\n") sleep 1 STDERR.printf("何も入力しないと「ぶー」になります:") name = gets.chomp # 改行文字をいれずにnameに取り込む if name == "" # 何も入力されなかったら name = "ぶー" # 名前は「ぶー」になる。 end # if文終了 printf("それでは %s の物語の始まり始まり〜\n",name) sleep 2 # 2秒 間を置く day = 1 # 始めの日は1日目 omosa = 8000 # はじめの重さは8000g iraira = 0 # イライラ度。始めは0 printf("本日の%s\n",name) printf("体重 %d g 増加。イライラ度 %d 増加 \n",slim(answer),stress(answer)) sleep 2 printf("\n%s の現在の体重 %d g\n",name,omosa) # 現在の合計の重さ printf("%s の現在のイライラ度 %d \n",name,iraira) # 現在の合計イライラ度 day += 1 # dayは1ターン終わるごとに1足していく。 if 19 < iraira # irairaが20以上のとき sleep 2 printf("\n%sのイライラ度は限界を突破した!\n",name) sleep 1 printf("%s「ふしゃー!!!!!!」",name) sleep 1 printf("%sは あなたに襲いかかった!\n",name) sleep 2 printf("GAME OVER\n") exit # メッセージを出し強制終了 end # if文終了 if day > 7 # day が 7より 大きくなったら、つまり8になったら break # 終了。 end # if文終了。 end # while true終了 sleep 2 printf("\n一週間が経過しました。\n") printf("あなた「%d g か。",omosa) #エンディングはomosaの数値で決まる。 if omosa < 6000 printf("うん、痩せたなぁ。良く頑張った。いいこいいこ。」\n") elsif omosa > 8000 printf("あれ? 前より太ったような……。甘やかしすぎたかな。」\n") else # 6000から8000の間だった場合 printf("けっこう痩せたな。もう少しいけそうな気もするけど」\n") end sleep 2 print("\t 〜fin〜 \n") # 終了の表示。 c.変更点 授業で扱われたdef_rubiocchi.rb を元に作成。 ・説明文を表示させるようにした。 ・設定に合わせ変数、計算式を変更した。 ・関数を作るメソッドにif文を使用した。 ・7ターンで終了するようにした。 ・ストレス値を設定し、それが限界を超えるとゲームオーバーになるようにした。 d.実行結果 roy{c108203}% ./def_rollplaying_a.rb [~/Ruby] これは、ある太った猫を1週間以内に痩せさせるゲームです。 この猫ちゃんは体重が8kgもあります。 飼い主のあなたは「もっと痩せさせないと!」と危機感を持ちました。 あまりストレスを溜めさせないように注意して下さいね。 まずはこの猫に名前をつけてあげましょう 何も入力しないと「ぶー」になります: それでは ぶー の物語の始まり始まり〜 -------------------------------------------------------------------------------- ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 4 --------------------------------------------------------------------------------本日のぶー -770 g。イライラ度 11 ぶー の現在の体重 7230 g ぶー の現在のイライラ度 11 -------------------------------------------------------------------------------- ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 3 --------------------------------------------------------------------------------本日のぶー -570 g。イライラ度 4 ぶー の現在の体重 6660 g ぶー の現在のイライラ度 15 -------------------------------------------------------------------------------- ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 3 --------------------------------------------------------------------------------本日のぶー -570 g。イライラ度 4 ぶー の現在の体重 6090 g ぶー の現在のイライラ度 19 -------------------------------------------------------------------------------- ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 2 --------------------------------------------------------------------------------本日のぶー 370 g。イライラ度 -10 ぶー の現在の体重 6460 g ぶー の現在のイライラ度 9 -------------------------------------------------------------------------------- ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 3 --------------------------------------------------------------------------------本日のぶー -570 g。イライラ度 4 ぶー の現在の体重 5890 g ぶー の現在のイライラ度 13 -------------------------------------------------------------------------------- ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 2 --------------------------------------------------------------------------------本日のぶー 370 g。イライラ度 -10 ぶー の現在の体重 6260 g ぶー の現在のイライラ度 3 -------------------------------------------------------------------------------- ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 3 --------------------------------------------------------------------------------本日のぶー -570 g。イライラ度 4 ぶー の現在の体重 5690 g ぶー の現在のイライラ度 7 4 一週間が経過しました。 あなた「5690 g か。うん、痩せたなぁ。良く頑張った。いいこいいこ。」 〜fin〜 e.考察 すべて4を選択した場合 2日目にirairaが20を超えゲームオーバーになると予想。 体重は -(4*200-30)*2 = -770*2=-1540なので1540g 減ると予想 roy{c108203}% ./def_rollplaying_a.rb [~/Ruby] これは、ある太った猫を1週間以内に痩せさせるゲームです。 この猫ちゃんは体重が8kgもあります。 飼い主のあなたは猫ちゃんをだっこして、 「もっと痩せさせないと!」と危機感を持ちました。 あ、そうだ。あまりストレスを溜めさせないように注意して下さいね。 イライラ度が20を超えたらゲームオーバーです まずはこの猫に名前をつけてあげましょう 何も入力しないと「ぶー」になります: それでは ぶー の物語の始まり始まり〜 --------------------------------------------------------------------------------1日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 4 --------------------------------------------------------------------------------本日のぶー 体重 -770 g。イライラ度 11 ぶー の現在の体重 7230 g ぶー の現在のイライラ度 11 --------------------------------------------------------------------------------2日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 4 --------------------------------------------------------------------------------本日のぶー 体重 -770 g。イライラ度 11 ぶー の現在の体重 6460 g ぶー の現在のイライラ度 22 ぶーのイライラ度は限界を突破した! ぶー「ふしゃー!!!!!!」ぶーは あなたに襲いかかった! GAME OVER 8000-1540 = 6460 なので 1540g 減ったが、 イライラ度が溜まり、2日目で強制終了した。 ############################################ 4,3,2,1,2,3,4と選択した場合 重さは -((4*200)-30)-((3*200)-30)+((2 * 200) - 30)+((1 * 200) - 30) +((2 * 200) - 30)-((3*200)-30))-((4*200)-30) =-770-570+370+170+370-570-770=1770 なので1770g減り、6230gで終わる。 イライラ度は (4^2-5)+(3^2-5)-(2*5)-(1*5)-(2*5)+(3^2-5)+(4^2-5) =11+4-10-5-10+4+11=5 なので 5 で終わる。 pan{c108203}% ./def_rollplaying_a.rb [~/Ruby] これは、ある太った猫を1週間以内に痩せさせるゲームです。 この猫ちゃんは体重が8kgもあります。 飼い主のあなたは猫ちゃんをだっこして、「もっと痩せさせないと!」 と危機感を持ちました。 7ターンあるので、その間に猫ちゃんをスリムにしましょう! あ、そうだ。あまりストレスを溜めさせないように注意して下さいね。 イライラ度が20を超えたらゲームオーバーです まずはこの猫に名前をつけてあげましょう 何も入力しないと「ぶー」になります: それでは ぶー の物語の始まり始まり〜 --------------------------------------------------------------------------------1日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 4 --------------------------------------------------------------------------------本日のぶー 体重 -770 g。イライラ度 11 ぶー の現在の体重 7230 g ぶー の現在のイライラ度 11 --------------------------------------------------------------------------------2日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 3 --------------------------------------------------------------------------------本日のぶー 体重 -570 g。イライラ度 4 ぶー の現在の体重 6660 g ぶー の現在のイライラ度 15 --------------------------------------------------------------------------------3日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 2 --------------------------------------------------------------------------------本日のぶー 体重 370 g。イライラ度 -10 ぶー の現在の体重 7030 g ぶー の現在のイライラ度 5 --------------------------------------------------------------------------------4日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 1 --------------------------------------------------------------------------------本日のぶー 体重 170 g。イライラ度 -5 ぶー の現在の体重 7200 g ぶー の現在のイライラ度 0 --------------------------------------------------------------------------------5日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 2 --------------------------------------------------------------------------------本日のぶー 体重 370 g。イライラ度 -10 ぶー の現在の体重 7570 g ぶー の現在のイライラ度 -10 --------------------------------------------------------------------------------6日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 3 --------------------------------------------------------------------------------本日のぶー 体重 -570 g。イライラ度 4 ぶー の現在の体重 7000 g ぶー の現在のイライラ度 -6 --------------------------------------------------------------------------------7日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 4 --------------------------------------------------------------------------------本日のぶー 体重 -770 g。イライラ度 11 ぶー の現在の体重 6230 g ぶー の現在のイライラ度 5 一週間が経過しました。 あなた「6230 g か。けっこう痩せたな。もう少しいけそうな気もするけど」 〜fin〜 ####################### 3,3,3,2,3,3,3と選んだ場合 体重は -((3*200)-30)-((3*200)-30)+((2 * 200) - 30)+((1 * 200) - 30) +((2 * 200) - 30)-((3*200)-30))-((3*200)-30) =-770-570+370+170+370-570-770=1770 なので1770g減り、6230gで終わる。 -((3*200)-30)-((3*200)-30)-((3*200)-30)+((2 * 200) -30)-((3*200)-30) -((3*200)-30)-((3*200)-30)+((2 * 200) - 30) = -570*6 + 370 = -3050 8000-3050=4950 なので4950gとなる。 イライラ度は (3^2-5)+(3^2-5)+(3^2-5)-(2*5)+(3^2-5)+(3^2-5)+(3^2-5) = 4*6-10 なので 14 で終わる。 pan{c108203}% ./def_rollplaying_a.rb [~/Ruby] これは、ある太った猫を1週間以内に痩せさせるゲームです。 この猫ちゃんは体重が8kgもあります。 飼い主のあなたは猫ちゃんをだっこして、 「もっと痩せさせないと!」と危機感を持ちました。 7ターンあるので、その間に猫ちゃんをスリムにしましょう! あ、そうだ。あまりストレスを溜めさせないように注意して下さいね。 イライラ度が20を超えたらゲームオーバーです まずはこの猫に名前をつけてあげましょう 何も入力しないと「ぶー」になります: それでは ぶー の物語の始まり始まり〜 -------------------------------------------------------------------------------- 1日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 3 --------------------------------------------------------------------------------本日のぶー 体重 -570 g 増加。イライラ度 4 増加 ぶー の現在の体重 7430 g ぶー の現在のイライラ度 4 --------------------------------------------------------------------------------2日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 3 --------------------------------------------------------------------------------本日のぶー 体重 -570 g 増加。イライラ度 4 増加 ぶー の現在の体重 6860 g ぶー の現在のイライラ度 8 --------------------------------------------------------------------------------3日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 3 --------------------------------------------------------------------------------本日のぶー 体重 -570 g 増加。イライラ度 4 増加 ぶー の現在の体重 6290 g ぶー の現在のイライラ度 12 --------------------------------------------------------------------------------4日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 3 --------------------------------------------------------------------------------本日のぶー 体重 -570 g 増加。イライラ度 4 増加 ぶー の現在の体重 5720 g ぶー の現在のイライラ度 16 --------------------------------------------------------------------------------5日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 2 --------------------------------------------------------------------------------本日のぶー 体重 370 g 増加。イライラ度 -10 増加 ぶー の現在の体重 6090 g ぶー の現在のイライラ度 6 --------------------------------------------------------------------------------6日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 3 --------------------------------------------------------------------------------本日のぶー 体重 -570 g イライラ度 4 ぶー の現在の体重 5520 g ぶー の現在のイライラ度 10 --------------------------------------------------------------------------------7日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 3 --------------------------------------------------------------------------------本日のぶー 体重 -570 g 。イライラ度 4 ぶー の現在の体重 4950 g ぶー の現在のイライラ度 14 一週間が経過しました。 あなた「4950 g か。うん、痩せたなぁ。良く頑張った。いいこいいこ。」 〜fin〜 ########################## 1と2ばかり選んだ場合 1,1,2,2,1,2,1 重さは ((1*200)-30)+((1*200)-30)+((2*200)-30)+((2*200)-30)+((1*200)-30)+((2*200)-30) +((1*200)-30)) =170+170+370+370+170+370+170 = +1790 8000+1790 = 9790なので 終了時には 9790g となる。 イライラ度は -(1*5)-(1*5)-(2*5)-(2*5)-(1*5)-(2*5)-(1*5) =-5-5-10-10-5-10-5 = -50 なので最終的に -50 となる。 pan{c108203}% ./def_rollplaying_a.rb [~/Ruby] これは、ある太った猫を1週間以内に痩せさせるゲームです。 この猫ちゃんは体重が8kgもあります。 飼い主のあなたは猫ちゃんをだっこして、 「もっと痩せさせないと!」と危機感を持ちました。 7ターンあるので、その間に猫ちゃんをスリムにしましょう! あ、そうだ。あまりストレスを溜めさせないように注意して下さいね。 イライラ度が20を超えたらゲームオーバーです まずはこの猫に名前をつけてあげましょう 何も入力しないと「ぶー」になります: それでは ぶー の物語の始まり始まり〜 --------------------------------------------------------------------------------1日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 1 --------------------------------------------------------------------------------本日のぶー 体重 170 g 増加。イライラ度 -5 増加 ぶー の現在の体重 8170 g ぶー の現在のイライラ度 -5 --------------------------------------------------------------------------------2日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 1 --------------------------------------------------------------------------------本日のぶー 体重 170 g 増加。イライラ度 -5 増加 ぶー の現在の体重 8340 g ぶー の現在のイライラ度 -10 --------------------------------------------------------------------------------3日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 2 --------------------------------------------------------------------------------本日のぶー 体重 370 g 増加。イライラ度 -10 増加 ぶー の現在の体重 8710 g ぶー の現在のイライラ度 -20 --------------------------------------------------------------------------------4日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 2 --------------------------------------------------------------------------------本日のぶー 体重 370 g 増加。イライラ度 -10 増加 ぶー の現在の体重 9080 g ぶー の現在のイライラ度 -30 --------------------------------------------------------------------------------5日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 1 --------------------------------------------------------------------------------本日のぶー 体重 170 g 増加。イライラ度 -5 増加 ぶー の現在の体重 9250 g ぶー の現在のイライラ度 -35 --------------------------------------------------------------------------------6日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 2 --------------------------------------------------------------------------------本日のぶー 体重 370 g 増加。イライラ度 -10 増加 ぶー の現在の体重 9620 g ぶー の現在のイライラ度 -45 --------------------------------------------------------------------------------7日目。 ぶーをどうする? [1]ごろごろさせる [2]おやつを食べさせる [3]痩せ薬を飲ませる [4]運動させる 1 --------------------------------------------------------------------------------本日のぶー 体重 170 g 増加。イライラ度 -5 増加 ぶー の現在の体重 9790 g ぶー の現在のイライラ度 -50 一週間が経過しました。 あなた「9790 g か。あれ? 前より太ったような……。甘やかしすぎたかな。」 どれも正しく計算でき、最後には数値に応じた適切なメッセージを表示した。 また、ある条件下で途中でゲームオーバーになるのも確認できた。 なのでこのプログラムは正しく動くといえるだろう。 感想 RPGの戦闘シーンも このようなしくみを使っていると考えた。 ◯● の こうげき! ■□ に xxx のダメージ! という感じで、敵(◯●)の攻撃力と自分(■□)の防御力などを計算し、 その数値(xxx)が自分のHPから引かれる。 自分の攻撃ターンも同様だ。 そして敵か自分のHPが0になると戦闘終了となるのではないかと思ったからだ。 ####################### 今回はゲーム作成というとても興味深い分野であった。 今まで習ったことを上手く組み合わせればおもしろいゲームが作れそうだ。 参考文献 基礎プログラミング II 第6回 目的に応じて使ってみよう 講義ノート 「なわとびの数」 http://roy/~madoka/2010/r2/06/06_07_theme_06_ary.html プログラム ary_jump.rb http://roy/~madoka/2010/r2/prog/ary_jump.rb 「映画の星づけランキング」 http://roy/~madoka/2010/r2/06/06_08_theme_07_aryavg.html プログラム def_ary_movie.rb http://roy/~madoka/2010/r2/prog/def_ary_movie.rb 「るびおっち」 http://roy/~madoka/2010/r2/06/06_11_theme_09_rubiocci.html プログラム def_rubiocci.rb http://roy/~madoka/2010/r2/prog/def_rubiocci.rb 作成者 西村まどか