第12回 基礎プログラミング I レポート課題 氏名:佐竹聡美 学籍番号:c1090816 語学クラス:英語1 コース:社会福祉 チーム名:イナゴ食べないの? チームホームページアドレス:http://roy/~c109001/inago/inagotabenaino.html プロジェクト名:世界地図、世界タイピング 1、チーム全体の進み具合 100%を完成とすると、今の進み具合は70%の進みです。 お互い協力しながら進めています。 2、プロジェクト全体の進み具合 世界地図はあと地図を作るだけです。 世界タイピングはあとデータを増やすだけです。また、タイピングの早さによっ てボーナス点を得られるようにするためにその基準が必要である。それを実行す るためにチーム内でテストを実施し、その平均点でボーナス点の基準を決める。 3、プロジェクト担当部分 ・世界タイピングの企画書 ・世界タイピングのデモ版 ・世界地図を作成中(チーム全員) 4、チーム内のプロジェクト外メンバーに指摘された点について ・世界タイピングについて 見にくいので見やすくする。 5、上記の指摘に対する改良の進展具合 ・世界タイピングについて 文字を大きくする(作成中) 6、デモ版とその説明 ・世界地図のデモ版担当:成澤龍空 ・世界タイピングのデモ版担当:自分 <デモ版> #!/usr/koeki/bin/ruby #インタプリタ宣言文 $KCODE ="e" #文字化け防止 s =0 a = 0 k=0 e_name =Array.new #あとで外部データから新しくデータをとってくる j_name =Array.new #あとで外部データから新しくデータをとってくる kaisuu = 0 #問題数を数えるのに使用 time = 0 #タイム計算に使用 point = 0 #スコア計算に使用 seikai = 0 #正解数計算に使用 start = 0 #スコア計算時に際し、スタート時間を記録するときに使用 finish = 0 #スコア計算時に際し、スタート時間を記録するときに使用 usrname = 0 #ユーザー名を入れてもらうときに使用 open("tiping_demo.dat","r") do |tehon| #外部からデータをとってくるが、そのデータをsekai.datと定義し、tehonに集める while type = tehon.gets #tehoに取りこむことをデータの終わりまで繰り返す if /(\S+)\s+(\S+)/ =~ type #もし外部のデータ配列が文字→空白→文字だったら j_name[s] =$1 #j_nameという配列は外部データの2つ目の配列とする e_name[s] =$2 #e_nameという配列は外部データの2つ目の配列とする s +=1 #次の行に進むためにsにひとつ足すことにより、進む end #ifのおわり end #whileのおわり end #openのおわり print("タイピングを始めます! sを押して下さい!:") #主旨説明 sigh=gets.chomp #そのコマンドをsighに取り入れる if sigh =="s" #もしsighにsと入力されたら先の処理に進む else #それ以外の文字が入力されたら exit(0) #異常終了 end #ifのおわり STDERR.print("ユーザー名を入れて下さい。リターンキーで確定後、2秒後にスタート:") #ユーザ名の入力を指示 usrname = gets.chomp #その文字の改行文字をとり、取りこむ sleep (2) #ktremの動き2秒間を止める(スリープさせる) print(`banner "Start"`) #Ktremにバナーを出す start=Time.now.to_i #時間を整数化することに、タイムを計算できるようにする while a < 5 #a(問題数)が20になるまで繰り返す srand s = rand(48) #s(配列番号)を乱数化(ランダムにする)することにより、ランダムに問題を出す printf("入力単語和訳:%s\n",j_name[s]) #入力してほしい単語の和訳を表示 printf("入力単語:%s\n",e_name[s]) #入力してほしい単語を表示 STDERR.print("入力欄:") #入力欄を表示 nyuuryoku = gets.chomp #そこに入った文字の改行文字を取り除き、取りこむ if nyuuryoku ==e_name[s] #もし入力してほしい単語と、入力された単語が同じだったら print("正解\n\n") #結果表示 seikai+=1 #正解数を1つふやす point+=10 #ポイントを10点ふやす else #それ以外の単語が入力されたら(間違っていたら) print("不正解\n\n") #結果表示 point -= 5 #ポイントを5点減らす end #ifのおわり a += 1 #aに1を足すことによって 問題数を進める end #open(読みこみ)のおわり finish = Time.now.to_i #時間を整数化することにより、タイムを計算できるようにする print(`banner "Stop"\n`) #バナーを出す time=finish-start #先に求めた、フィニッシュの時間からスタートの時間を引くことにより、タイムを求める if time < 20 #もしそのタイムが20(秒)以下だったら(仮のボーナス設定) point +=20 #pointに20を足す end #ifのおわり printf("タイム:%d秒\n",time) #結果表示 printf("正解数:%d問\n",seikai) #結果表示 printf("得点:%d点\n",point) #結果表示 day=Time.now #あとでホームページに結果を表示する際のプレイした日付を表示するための記録をする open("score.html","a") do |score| #外部データのscore.htmlに書きこむ score.print("\n") #htmlであることを宣言する score.print("\n") score.print("\n") score.print("\n") #本文であることを宣言 score.print("

タイピングスコアカード

\n") #タイトル表示 score.print("\n") #表の始まりであることを宣言する score.print("\n") #表の行の始まりであることを宣言する score.printf("\n",usrname) #結果表示 score.print("\n") #表の1行のおわりであることを宣言する score.print("\n") #表の1行のはじまりであることを宣言する score.printf("\n",day) #結果表示 score.print("\n") #表の1行のおわりであることを宣言する score.print("\n") #表の1行のはじまりであることを宣言する score.printf("\n",time) #結果表示 score.print("\n") #表の1行のおわりであることを宣言する score.print("\n") #表の1行のはじまりであることを宣言する score.printf("\n",seikai) #結果表示 score.print("\n") #表の1行のおわりであることを宣言する score.print("\n") #表の1行のはじまりであることを宣言する score.printf("",point) #結果表示 score.print("\n") #表の1行のおわりであることを宣言する score.print("
ユーザー名:%s
実施日/時間:%s
タイム:%d秒
正解数:%d問
得点:%d点\n
\n") #表のおわりであることを宣言する score.print("
\n") #横線(仕切り線)をひく score.print("\n") #本文のおわりであることを宣言 score.print("\n") score.print("\n") #htmlのおわりであることを宣言する end #open(書込み)の終わり <データ> 日本 Japan 北海道 Hokkaido 青森 Aomori 岩手 Iwate 宮城 Miyagi 秋田 Akita 山形 Yamagata 福島 Hukushima 東京 Tokyo 埼玉 Saitama 茨城 Ibaraki 栃木 Tochigi 群馬 Gunma 千葉 Chiba 神奈川 Kanagawa 新潟 Nigata 富山 Toyama 石川 Ishikawa 福井 Hukui 山梨 Yamanashi 長野 Nagano 岐阜 Gihu 静岡 Shizuoka 愛知 Aichi 三重 Mie 滋賀 Shiga 京都 Kyoto 大坂 Osaka 兵庫 Hyogo 奈良 Nara 和歌山 Wakayama 鳥取 Ttori 島根 Shimane 岡山 Okayama 広島 Hiroshima 山口 Yamaguchi 徳島 Tokushima 香川 Kagawa 愛媛 Ehime 高知 Kochi 福岡 Hukuoka 佐賀 Saga 長崎 Nagasaki 熊本 Kumamoto 大分 Oita 宮崎 Miyazaki 鹿児島 Kagoshima 沖縄 Okinawa 7、プレゼンテーション担当者:久保田瑛一郎 8、自分の行なったパート ・世界タイピング企画書 ・世界タイピングデモ版 ・世界タイピングデモデータ 9、情報科目の応援キャラクター 名前:ねこ丸 キャラクターの由来:私自身のあだ名がにゃんちゅーであるため、ネコに似たキャ ラクターを作った。にゃんちゅーのキャラクター全てを 真似る著作権があるのでねこ丸の色を黄色にし、耳を青 い色し、鼻を赤くした。ポイントはボタンがついている ところである。初めに作ったキャラクターより良いもの が出来て良かった。