第7回 基礎プログラミング II レポート課題 氏名:遠藤裕貴 学籍番号:c1090294 語学クラス:中国語 コース(系):政策マネ A a ◯イングリシュタイピング 企画書 --------------------------------企画意図-------------------------------------- 私はタイピングゲームを作ってみようと考えました。タイピングでは、ローマ 字のみの入力にすることで実際どのくらいの実力かを正確に確かめられるよう にしました。また、時間の計測も行い、自分の上達を実感できるようにしました。 また工夫した点はタイムによってこめんとがかわるようにしました。 ------------------------------------------------------------------------------ このプログラムは 東北公益文科大学2009年度生 遠藤裕貴が著作権を保有しています。 このプログラムの入手・実行・改変・再配布は、いずれも無料で自由に行なうことが できます。ただしこのプログラムを取り扱うことで生じた問題などに対しては、 いかなる場合でも責任を負い兼ねますのでその点はご了承くださいませ。 このプログラムに対する、感想・要望・質問などございましたら。 c109029@e.koeki-u.ac.jp までご連絡下さい。 ◯説明書 ---------------------------------遊び方--------------------------------------- プログラム本体(type.rb) 企画書(plan.txt) の2つをダウンロードして下さい。 その後、kterm で % chmod +x type.rb でゲームの準備ができます。 開始するには % ./type.rb とします。 これで、遊ぶことが出来るようになります。 ------------------------------------------------------------------------------ このプログラムは 東北公益文科大学2009年度生 遠藤裕貴が著作権を保有しています。 このプログラムの入手・実行・改変・再配布は、いずれも無料で自由に行なうことが できます。ただしこのプログラムを取り扱うことで生じた問題などに対しては、 いかなる場合でも責任を負い兼ねますのでその点はご了承くださいませ。 このプログラムに対する、感想・要望・質問などございましたら。 c109029@e.koeki-u.ac.jp までご連絡下さい。 b ◯考えた設定 ローマ字を入力するタイピングプログラム。最後にかかった時間とコメントが出 るようにするプログラム。 ◯プログラム本体 #!/usr/koeki/bin/ruby word = ["dog","cat","bean","faithful","fresh water", "vision","protection","communication","trickery","cocoon", "situation","daughter","lost","super natural","amulet", "sex","comics","spread","rare","round", "oasis","queen","satisfaction","location","perfect", "manhole","mammoth","look up","discover","mummy", "movement","over look","selfish","substitution","orange", "bad weather","a desperate fight","misgovernment","shaking hands","airplan", "fat body","gaudy","villain","yawn","devil", "Windows","play","game","there","price","warm hearts", "brain","snow","nickname","head","deposit","chicken", "tomorrow","neighborhood","invitations","fresh","details","obstacle","luky", "hit","achievement","here and there","thick","change", "treatment","pushy","simply","compression","overwhelming","mediation", "geometry","temperature","memory","yellow","nitro","raw silk", "naturalization","correct","activity","collect","statement","message", "telephone","extinction","saving","foundation","crucial","china","general", "backbone","cicada","seminar","attack","auction", "zero"] STDERR.print("タイピングの練習を始めます。\n\n") question = 0 #問題数 start = Time.now.to_i # 時間の計測を開始する while true srand # 100個のデータからランダムで取り出す kotoba = rand(100) STDERR.printf("\n %s \n\n",word[kotoba]) STDERR.printf("入力してください : ") input = gets.chomp if word[kotoba] == input # word配列のkotobaとinputが同じ場合 print("\t good !!\n\n") else print("\t bad !! \n") redo end if question == 9 stop = Time.now.to_i # 時間の計測を止める break end question += 1 end sleep 1 print("\n\n終了です。\n\n") time = stop - start printf("終わるまでにかかった時間は %d 秒でした\n",time) if time >= 50 printf("練習が必要ですね。頑張りましょう。\n") elsif time <= 20 printf("すばらしい。何も言うことはありません。\n") else printf("ガンガン練習してもっと上を目指しましょう。\n") end ◯変更点 プログラムに授業でやった「るびおっち」の結果によってコメントが変わるプロ グラムを参考に、ダイピングの入力時間の違いでコメントが変わるプログラム。 ◯実行結果 ・タイムが50秒以上のとき pan{c109029}% ./type.rb [~/public_html/advertise2] タイピングの練習を始めます。 saving 入力してください : saving good !! comics 入力してください : comics good !! saving 入力してください : saving good !! fresh water 入力してください : fresh water good !! attack 入力してください : attack good !! here and there 入力してください : here and there good !! pushy 入力してください : pushy good !! activity 入力してください : activity good !! overwhelming 入力してください : overwhelming good !! manhole 入力してください : manhole good !! 終了です。 終わるまでにかかった時間は 55 秒でした 練習が必要ですね。頑張りましょう。 ・25秒以下の時 pan{c109029}% ./type.rb [~/public_html/advertise2] タイピングの練習を始めます。 statement 入力してください : statement good !! thick 入力してください : thick good !! situation 入力してください : situation good !! luky 入力してください : luky good !! luky 入力してください : luky good !! yellow 入力してください : yellow good !! obstacle 入力してください : obstacle good !! villain 入力してください : villain good !! discover 入力してください : discover good !! game 入力してください : game good !! 終了です。 終わるまでにかかった時間は 23 秒でした すばらしい。何も言うことはありません。 ・それ以外のとき an{c109029}% ./type.rb [~/public_html/advertise2] タイピングの練習を始めます。 cocoon 入力してください : cocoon good !! collect 入力してください : collect good !! auction 入力してください : auciton bad !! fresh 入力してください : fresh good !! thick 入力してください : thick good !! shaking hands 入力してください : shaking hands good !! airplan 入力してください : airplan good !! there 入力してください : there good !! daughter 入力してください : daughter good !! selfish 入力してください : selfish good !! attack 入力してください : attack good !! 終了です。 終わるまでにかかった時間は 32 秒でした ガンガン練習してもっと上を目指しましょう。 ◯考察 50秒以上の場合、実行結果では55秒でコメントが一致している。 25秒以下の場合、実行結果では23秒でコメントが一致している。 それ以外の場合、実行結果では32秒でコメントが一致している。 これらのことよりプログラムが正しく動作していると言える。 d http://roy/~c109029/advertise2/ 「イングリシュタイピングのリンク先」 ◯感想 後期で習ったことを活かしてプログラムできたので良かったと思う。とくに最近 のるびおっちプログラムを用いて作成できたので良かった。 ◯参考文献 基礎プログラミング II 第6回 目的に応じて使ってみよう 「るびおっち」 http://roy/~madoka/2010/r2/06/06_11_theme_09_rubiocci.html ◯共同学習者 木内雄、青木千紗 ・ファイルを添付します