11 月 21 日 第 8 回レポート 「個人プログラム発表」 c106XXXX XXXXXXX 中国語 環境系 ■■1■■ 【A】 ◯仕様書 --------------------------------------------------------- 特打 ☆ ひらがな --------------------------------------------------------- 制作者 : 菅野亜希子 ■ ■ ダウンロードしてほしいのは… ■ ■ (1)仕様書 : siyousyo (今まさに見ているこれですね!) (2)プログラムファイル : trr.rb ダウンロードしないと遊ぶことができないので、必ずダウンロードしてください★☆ ディレクトリに保存してから遊んでね\(o・▽・o)/ ■ ■ 遊び方 ■ ■ kterm を起動 ↓ % chmod +x trr.rb [Return] ↓ % ./trr.rb [Return] と入力するとプログラムが始まります。 ゲームスタート!! ◯設定 ひらがなのタイピングソフト「特打」。 ◯プログラム trr.rb #!/usr/koeki/bin/ruby def trr(roki) # 得点の計算をする toku * 5 # 正解した数 × 1問5点 end # def - end kotoba = ["どりょく","かいとう","すけーと","あじさい","たから","らんどせる","かき","とまと","さらまんだー","ぱそこん","おじいさん","たちつてと","いちご","あいどる","のーと","じょしこうせい","だいがくせい","しょうがくせい","ちゅうがくせい","しぜん","たこやき","ちゅーとりある","らいせんす","じしゃく","かんきょう","いしばしはざま","らばーがーる","びっきーず","くーるぽこ","おじんおずぼーん","りあるきっず","おおかみしょうねん","さんびょうし","あほまいるど","あほまいるど","ざぎーす","すとりーく","ぱんくぶーぶー","てんしん","らせん","かなで","ぎんがとめいろ","ひまわり","ねいろ","ふれんず","はなび","たいよう","ありがとう","だるま","みすたー","ちゅうごくご","さくらいろ","つばさ","きぼう","おーぷにんぐ","れいんぼー","そめいよしの","すたーと","はるじおん","みゅーじっく","ちかい","こくみんてきぎょうじ","ぷれぜんと","ひゃくにん","せんこうはなび","わんだーらうんど","みちしるべ","みかづき","すたんどばいみー","だいやもんど","あらし","かたろぐ","いっさいがっさい","きみどりいろ","めいおうせい","しょうねん","なついろ","ぶるーとれいん","まほう","ばとみんとん","さっかー","やきゅう","たっきゅう","ばれー","はっぴー","えんど","めでぃあせんたー","じむきょく","きょうしつ","じょうほう","ぷろぐらみんぐ","やまがたけん","さかたし","いいもりやま","なかまち","にしきちょう","ひかりがおか","こうしょうさい","どみとりー","とうほくこうえきぶんかだいがく"] print("日本語なので、Ctrl-shiftを押してください。\n\n") sleep 1 print("打ち終ったら Reternを 2回 押してください。\n") sleep 1 print("押さないと次に進みません!!\n\n") sleep 1 print("制限時間は 30秒 です。\n\n") sleep 1 print("3秒前\n") sleep 1 2.downto(1) do |jikan| # 始める数 .downto(終りにする数) do |変数| printf(" %d 秒前\n",jikan) # カウントされる sleep 1 # 1秒待つ end # downto do -- end print("start!!\n") mondai = 0 # 最初は0から始まる start = Time.now.to_i # タイム計測スタート while true # 繰り返す srand # 乱数発生の種 word = rand(100) # 100個の言葉からランダムに出題 printf("「 %s 」\n\n\n",kotoba[word]) # kotoba の中のどれかが表示される print("入力 :") # 挑戦者入力 nyuuryoku = gets.chomp! # 挑戦者が入力した言葉をいれる print("\n") # 1行あける if # もし Time.now.to_i - start > 30 # 30秒経ったら print("時間切れ!!\n") #「時間切れ」と表示する break # 終り end # if - end nyuuryoku == word # 答えがあっていたら mondai += 1 # 得点になる end # while true - end print("お疲れ樣!\n") printf("あなたの得点は %d 点です。\n", trr(mondai)) #結果が表示される ◯変更点 変数を変えました。 ◯実行画面 irsv{c106122}% ./trr.rb [~/Ruby] 日本語なので、Ctrl-shiftを押してください。 打ち終ったら Reternを 2回 押してください。 押さないと次に進みません!! 制限時間は 30秒 です。 3秒前 2 秒前 1 秒前 start!! 「 びっきーず 」 入力 :びっきーず 「 やまがたけん 」 入力 :やまがたけん 「 あほまいるど 」 入力 :あほまいるど 「 かたろぐ 」 入力 :かたろぐ 「 きょうしつ 」 入力 :きょうしつ 「 いいもりやま 」 入力 :いいもりやま 時間切れ!! お疲れ樣! あなたの得点は 25 点です。 ◯考察 1問 5点 正解数 5問 5 × 5 = 25(点) 最後の言葉は時間切れになってからなので得点にはならない。 ◯参考 ・授業ホームページ 第7回 http://roy/~madoka/2007/r2/07/07-03-downto.html 「カウントダウン」 の rocket-downto.rb ・以前作成したプログラム jinnsei2.rb 言葉をランダムに取り出す仕組み srand dice =rand(5) + 1 【B】 ○私のトップページへのリンク先 http://roy.e.koeki-u.ac.jp/~c106122/ ■■2■■ kterm で最初、日本語に設定すると [あ] というのが邪魔で次の問題が見えに くかったので、改行して見えやすくしました。 第7回で習ったカウントダウンを入れたかったので頑張って入れてみました。 制限時間を変えても大丈夫なように、kotoba に入っている言葉を100個準備し ておきました。 順番通りに言葉が出ても面白くないので、ランダムに言葉が出てくるように、 srand を使用しました。何回でも飽きることなくできるプログラムができたと思 います。 ホームページは、背景を黒くして、カッコよく見えるように工夫しました。ま た、色を変えて目立つようにしました。