第9回 Rubyであそぼ / 広告ページの作成 『レポート再提出』 小野貴己 C1110387 英語5 地域共創 筆記問題はまだですが、webページにて メインページへのリンク と 企画書の『キャッチフレーズ』と『今後の課題』 を更新しておきましたので報告しておきます。 --言い訳-- 秋田(にかほ市)から電車で通学している者です。土日も来て日曜も終電までやっ たのですが終わらず、月曜も始発で来て朝にやりました。プログラミングは何と かできたのですが筆記問題に取り掛かる前に評価開始の9時になりそうなので、 不十分な個所が多々ありますが、そのまま提出させて下さい。時間を見つけて再 提出したいと思います。申し訳ありません。 残念な結果ではありますが、プログラム自体は不得意ながらもこだわって作った ので先生や友達にもぜひ見て、遊んで、楽しんで頂けたらと思います。 本当に申し訳ございません。 次回こそは期限内にしっかり完成させたいです! 1.筆記問題 A. a. b. c. B. 2.プログラム問題 『勇者の休日 〜ポヨヨン編〜』 プログラム公開先URL http://roy/~c111038/adv/ リスクはあるが、ゲーム部門に挑戦したい。 ファンタジー世界のモンスターと触れ合う作品になっている。 今回も音楽関連のプログラムを作ろうと思ったが、自分の知識が公開できるよう なものに値しないので別のものにした。次はもう少し勉強して、実用的なものに もチャレンジしたい。 対して、今回は実用性が極めて薄いものになっていると思う。ただ、自分はファ ンタジー系の世界観が好きなので、初の自由課題を楽しみながらスタートできた のは良かった。 いわゆる「イタイ」作品で、先生の言うように就職先では見せられないような作 品になってしまったが、少しでもやってみた人が笑顔になってくれたら嬉しい。 以下が作成したプログラムです。 #!/usr/koeki/bin/ruby #coding: euc-jp print("この世界に降り立った邪悪なドラゴンを封印すべく、各地に散らばった5つの宝珠を集める過酷な旅を続ける勇者な君に、ささやかな癒しの試練が与えられた。\n\n") sleep 8 print("友達で召喚士のルモルモが留守の間、彼女の育てる大事なモンスター『ポヨヨン』のお世話をすることになったのである!\n\n") sleep 7 while true print("「きゅるる〜」\n") sleep 1 print("ポヨヨンが待っている! (行動を選んで下さい)\n\n") sleep 2 print(" 1.にらめっこしよう!\n 2.アーシャス島産の甘〜いバナナをあげよう。\n 3.我が友、ナルニカ王女の手作りアップルパイをあげよう。\n 4.外に行こうか? \n 5.そろそろ帰ろうかな… (終了します)\n") select = gets.chomp!.to_i if select ==1 srand s=rand(7) face=["ひょっとこみたいな顏","あっかんべー","ぐっしゃぐしゃな顏","渾身の真顔"] poyo=["アント○オ猪木っぽい顏","「きゅらららららら〜!」と大笑い","目玉が飛び出しそうな顏","厶○クの叫びみたいな顏","顔が伸びてゴムのよう","ハードボイルドな目使い","ドヤ顔"] STDERR.print("に〜らめっこし〜ましょ、わ〜らうと負けよ……あっぷっぷ!!\n\n(0: ひょっとこみたいな顏 ,1: あっかんべー,2: ぐっしゃぐしゃな顏,3: 渾身の真顔 ):") t = gets.chomp.to_i printf("俺は %s をした! \n\n", face[t]) sleep 1 printf("ポヨヨンは %s だ!! \n\n", poyo[s]) sleep 2 redo end if select ==2 print("よし、このまえ立ち寄った秘境、アーシャス島のバナナをあげよう!\n\n") sleep 2 print("「きゅるるる〜んっ!」\n\n") sleep 2 print("かなりおいしそうに食べているな!\n\n") sleep 2 redo end if select ==3 print("うわぁ、どう見てもアップルパイの色じゃないけど……\n\n") sleep 2 print("「きゅごごおおおぉぉぉぉっ…」\n\n") sleep 2 print("やっぱりマズいのか…ポヨヨンはテーブルの下で震え、うずくまってしまった。\n\n") sleep 2 redo end if select ==4 print("ポヨヨン、ちょっと外にでも行ってみるか!\n\n") sleep 2 print("「おいだばインドア派ってやづだがら面倒くせ〜きゅる」\n\n ") sleep 7 print("……って、しゃべれたんかいっ!!\n\n") sleep 3 redo end if select ==5 print("俺はそろそろ帰るよ!\n\n") sleep 2 print("「きゅう…」\n\n") sleep 2 print("ポヨヨンは少し寂しそう。\n\n\n") break end if select.to_i <=0 || select.to_i >=6 print("「きゅる?」\n") sleep 2 print("上手く伝わってないみたい。\n\n") sleep 2 redo end end sleep 2 print("……バタン!\n\n\n") sleep 2 print("「いや〜良がった良がった!助かった〜!!」\n\n") sleep 2 print("丁度良くルモルモが帰ってきた!\n\n") sleep 2 print("「おめのおがげでポヨヨンも楽しがったってよ〜。な〜!」\n\n") sleep 3 print("「きゅるる〜ん!」\n\n\n") sleep 3 print("ポヨヨンとルモルモが見送ってくれた!\n\n") sleep 2 print("「きゅるきゅる〜!」 \n\n") sleep 2 print("= またね!\n\n\n\n") sleep 3 print("こうして、ポヨヨンのお世話を終えた勇者な君は次なる町を目指し旅立つのであった。\n") sleep 5 print("目指すは竜王の統べる黒き都『ガルヴァレス』。君の戦いは、まだまだ続く!\n\n\n") sleep 5 print("-- 完 --\n") # にらめっこ等で授業で習った技を使った。また、他のクラスの友人が使ってい たプログラムをヒントに作り始めたが、自分なりに大きく変えていくなかで、 オリジナリティが出るように工夫していくことの楽しさを知った。 初めはただセリフが出てくるだけの単調な作品だったが、 sleep などで文字 の出るタイミングを変えていくだけでも物語の伝わり方が変わってきた。 どのタイミングがしっくりくるか考えるのは難しかったが、そういう地味な作 業こそが作品をより良いものにするための味付けとして必要だということを実 感することができた。 #CSSが前回上手くいかず残念だったが、昨年自分が作ったものをよく見ながら進 めていったら今回はできた|。 諦めず、何度も試すことが大事だと感じることができた! 感想 冒頭にも書いたように、作業が遅く申し訳ありません。少しずつでも高率アップ できるよう努力します。 プログラム自体も他の人の作品に比べて設定も技術も稚拙な作品ですが『ゲーム』 らしいゲームになるよう、ありのままの自分らしい作品にできるよう雰囲気づく りを頑張ってみました。 何よりもプレイする人が笑顔になれるように心掛けて、自分なりに工夫したつも りです。まだまだですが、これからもプログラミングでも、それ以外の作品でも相 手側を意識した作品づくりを心掛けます。 参考文献 西村先生のページ http://roy/~madoka/2012/r1/09/rpt/rpt.html 神田先生のCSSのページ http://roy/~naoya/ruby/css.html 共同学習者 伊藤貴章 石山将史 佐藤智久 渡部十夢