• R/O
  • SSH

hyakutyping: コミット

ゲーム用のソースコード


コミットメタ情報

リビジョン3673e1089f8b3aaf61269467d5091b0b28835471 (tree)
日時2011-01-21 05:26:21
作者Satofumi KAMIMURA
コミッターSatofumi KAMIMURA

ログメッセージ

ネットワーク対戦機能まわりのドキュメントを削除

変更サマリ

差分

diff -r ea1a3e6caa29 -r 3673e1089f8b .hgignore
--- a/.hgignore Thu Jan 13 03:05:27 2011 +0900
+++ b/.hgignore Fri Jan 21 05:26:21 2011 +0900
@@ -11,7 +11,7 @@
1111 flow.png
1212 flow.dot
1313 Makefile.in
14-output_dox
14+generated_html
1515 .deps
1616 package/Makefile
1717 package/src/Makefile
diff -r ea1a3e6caa29 -r 3673e1089f8b Doxyfile
--- a/Doxyfile Thu Jan 13 03:05:27 2011 +0900
+++ b/Doxyfile Fri Jan 21 05:26:21 2011 +0900
@@ -780,7 +780,7 @@
780780 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
781781 # put in front of it. If left blank `html' will be used as the default path.
782782
783-HTML_OUTPUT = output_dox
783+HTML_OUTPUT = generated_html
784784
785785 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for
786786 # each generated HTML page (for example: .htm,.php,.asp). If it is left blank
diff -r ea1a3e6caa29 -r 3673e1089f8b Makefile
--- a/Makefile Thu Jan 13 03:05:27 2011 +0900
+++ b/Makefile Fri Jan 21 05:26:21 2011 +0900
@@ -22,7 +22,7 @@
2222
2323 SCRIPTS = scripts/startup.lua scripts/first_menu.lua scripts/tear_down.lua scripts/shimonoku_typing.lua scripts/practice_menu.lua scripts/option_config.lua scripts/kimariji_typing.lua scripts/recent_history.lua scripts/display_result_practice.lua scripts/back_practice_menu.lua
2424 IGNORE_SCRIPTS = scripts/display_subtitle.lua scripts/wait_enter.lua
25-HTML_PAGE = output_dox/index.html
25+HTML_PAGE = generated_html/index.html
2626
2727 all : $(TARGET) scripts/waka_data.lua lua_check
2828
@@ -30,7 +30,7 @@
3030
3131 clean :
3232 $(RM) *.o $(TARGET) error_log.txt flow.dot
33- cd output_dox/ && $(RM) -rf *
33+ cd generated_html/ && $(RM) -rf *
3434 cd package/ && $(MAKE) clean
3535
3636 distclean : clean
@@ -49,7 +49,7 @@
4949 html : $(HTML_PAGE)
5050
5151 upload : html
52- rsync -avz -e ssh --delete output_dox/* shell.sourceforge.jp:/home/groups/h/hy/hyakutyping/htdocs/output_dox/
52+ rsync -avz -e ssh --delete generated_html/* shell.sourceforge.jp:/home/groups/h/hy/hyakutyping/htdocs/generated_html/
5353
5454 .PHONY : all clean depend dist html
5555 ######################################################################
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/cheerup_catalog.dox
--- a/dox/cheerup_catalog.dox Thu Jan 13 03:05:27 2011 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
1-/*!
2- \page cheerup_catalog_page 結果表示における「励ましメッセージ」について (記述中)
3-
4- \section cheerup_catalog_abstract 概要
5-
6- 結果表示の際に、励ましのメッセージを表示できるようにする。\n
7-
8- - 入力速度の最高記録を更新しました!
9- - ミスの数が少しずつ減ってきていますね。その調子です。
10-
11- など。\n
12- 必要な情報は、ローカルに保存した SQL データから取り出す。
13-
14- メッセージの種類は、ファイルで追加できるようにする。
15-
16- - 「デフォルト」メッセージ
17- - 「ツンデレ調」メッセージ
18-
19- など。
20-
21-
22- \section cheerup_catalog_detail 詳細
23-
24- !!!
25-*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/db_local.dox
--- a/dox/db_local.dox Thu Jan 13 03:05:27 2011 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
1-/*!
2- \page db_local_page クライアントで管理するデータについて
3-
4- クライアントで保持するデータについて記述する。
5-
6- \section db_local_abstract 概要
7-
8- タイピング履歴を表示するためのデータや、苦手な句を重点的に練習するため、和歌毎に最新のタイピングデータにおける入力開始時間を記録しておく。
9-
10- - タイピング履歴用のデータ
11- - データが格納された日時
12- - 平均の入力開始時間
13- - 平均のタイピング速度
14- - 平均のタイプミス数
15-
16- - 和歌の入力開始までにかかった時間
17- - データが格納された日時
18- - 和歌の ID 番号
19- - 入力開始までの時間
20-
21-
22- \section db_local_detail 詳細
23-
24- - SQLite を用いる
25- - lua から lsqlite を用いてアクセスする
26-*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/db_server.dox
--- a/dox/db_server.dox Thu Jan 13 03:05:27 2011 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
1-/*!
2- \page db_server_page サーバで管理するデータについて
3-
4- サーバで保持するデータについて記述する。
5-
6- \section db_server_abstract 概要
7-
8- 対戦用のデータや、他人との比較に用いるためのデータを記録しておく。また、クライアント毎のキー情報も管理する。
9-
10- - クライアントの情報
11- - クライアント ID
12- - 登録日時
13- - 認証キー
14- - ハンドル
15- - メールアドレス
16- - 有効フラグ
17-
18- - 対戦用のデータ
19- - クライアント ID
20- - データが格納された日時
21- - 出題された和歌 ID
22- - 押下されたキーと時間
23-
24- - クライアント毎のタイピングデータ
25- - クライアント ID
26- - データが格納された日時
27- - 和歌のデータ
28- - 和歌 ID
29- - 入力の開始時間
30- - 入力の終了時間
31- - タイプミス数
32-
33-
34- \section db_server_detail 詳細
35-
36- - 利用する DB をサーバの種類によって分ける
37- - Web サーバ ... MySQL
38- - Qt を用いたサーバアプリ ... SQLite
39-*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/db_usage.dox
--- a/dox/db_usage.dox Thu Jan 13 03:05:27 2011 +0900
+++ b/dox/db_usage.dox Fri Jan 21 05:26:21 2011 +0900
@@ -6,24 +6,6 @@
66
77 \section db_usage_abstract 概略
88
9-
10- \subsection db_usage_abstract_server サーバ
11-
12- - 対戦用のデータを保持する
13- - キーの押下を全て記録する
14- - "押下したキー" と "押下した時間" を保持する
15- \n \n
16- - 出題する問題の ID も記録する
17- - 対戦時には、出題の順番も同じになるようにする
18- \n \n
19- - どのデータと対戦したかを記録しておき、同じデータとの対戦頻度が低くなるようにする
20-
21- - タイピング結果の情報をユーザ毎に保持する
22- - 他人との比較、の表示を行うときに用いる
23-
24-
25- \subsection db_usage_abstract_client クライアント
26-
279 - 和歌の入力開始までにかかった時間を保持しておく
2810 - 苦手な和歌を検索して、重点的に練習するために用いる
2911 - "和歌 ID" と 直近の "入力開始までにかかった時間" を保持する
@@ -36,27 +18,22 @@
3618
3719 \section db_usage_detail 詳細
3820
39-
40- \subsection db_usage_detail_server サーバ
21+ タイピング履歴を表示するためのデータや、苦手な句を重点的に練習するため、和歌毎に最新のタイピングデータにおける入力開始時間を記録しておく。
4122
42- - Web サーバ越しにアクセスする場合
43- - PUT メソッドで必要なデータを送信する
44- \n \n
45- - GET アクセスで必要な情報を指定し、通常のページ読み出しで情報を取得する
46- - どのデータを返すかは、Web ページ側のスクリプトで決定する
23+ - タイピング履歴用のデータ
24+ - データが格納された日時
25+ - 平均の入力開始時間
26+ - 平均のタイピング速度
27+ - 平均のタイプミス数
4728
48- - 専用アプリ越しにアクセスする場合
49- - 専用プロトコルでデータ送受信を行う
50- - プロトコルから逸脱したパケットは無視する
29+ - 和歌の入力開始までにかかった時間
30+ - データが格納された日時
31+ - 和歌の ID 番号
32+ - 入力開始までの時間
5133
5234
53- \subsection db_usage_detail_client クライアント
35+ \section db_usave_implementation 実装
5436
55- - Web サーバに対するアクセス
56- - サーバのアドレスが http から始まっていたら、Web サーバに対するアクセスとみなす
57- - GET, PUT でアクセスする
58- - 読み出した情報は、適切にパースして利用する
59-
60- - 専用アプリに対するアクセス
61- - サーバのアドレスが http から始まっていないときは、専用アプリに対するアクセスとみなす
37+ - SQLite を用いる
38+ - lua から lsqlite を用いてアクセスする
6239 */
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/feature.dox
--- a/dox/feature.dox Thu Jan 13 03:05:27 2011 +0900
+++ b/dox/feature.dox Fri Jan 21 05:26:21 2011 +0900
@@ -5,15 +5,12 @@
55
66 \section feature_abstract 概要
77
8- - ネットワーク上にあるタイピングログとの対戦が可能。(予定)
9- - 自分の過去のタイピング履歴を閲覧でき、モチベーションの維持が可能。(予定)
10- - ネットワーク上におけるタイピング偏差値を表示可能。(予定)
8+ - 自分の過去のタイピング履歴を閲覧でき、モチベーションの維持が可能。
119 - CD-ROM リソースからの詠み上げに対応。(予定)
1210 - 詠み上げにあわせて表示を行うよう調整するツールを提供。(予定)
13- - 下の句を練習するモードを提供。(予定)
14- - 決まり字を重点的に練習するモードを提供。(予定)
15- - 苦手な句を重点的に練習するモードを提供。(予定)
16- - ソフトウェアが更新されているかを確認する機能を提供。(予定)
11+ - 下の句を練習するモードを提供。
12+ - 決まり字を重点的に練習するモードを提供。
13+ - 苦手な句を重点的に練習するモードを提供。
1714
1815 \section feature_os 動作環境
1916
@@ -28,19 +25,4 @@
2825 - Lua
2926 - SDL (OpenGL)
3027 - SQLite
31-
32- - 自動アップデートツール
33- - C++
34- - Qt
35-
36- - サーバ
37- - Web サーバ
38- - PHP (Smarty)
39- - MySQL
40- \n \n
41- - 専用サーバ
42- - C++
43- - Lua
44- - Qt
45- - SQLite
4628 */
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/game_menu.dox
--- a/dox/game_menu.dox Thu Jan 13 03:05:27 2011 +0900
+++ b/dox/game_menu.dox Fri Jan 21 05:26:21 2011 +0900
@@ -13,8 +13,7 @@
1313 start -> first_menu
1414
1515 first_menu -> practice_menu
16- first_menu -> network_menu
17- first_menu -> history_menu
16+ first_menu -> recent_history
1817 first_menu -> option_menu
1918 first_menu -> exit
2019
@@ -22,29 +21,17 @@
2221 practice_menu -> kimariji_practice
2322 practice_menu -> weak_practice
2423
25- network_menu -> network_normal_challenge
26- network_menu -> network_high_challenge
27-
28- history_menu -> recent_history
29- history_menu -> user_deviation
30-
3124 first_menu [label = "最初のメニュー"];
3225
3326 shimonoku_practice [label = "下の句タイピング"];
34- network_menu [label = "ネットワーク対戦"];
3527 practice_menu [label = "タイピング練習"];
36- history_menu [label = "履歴の閲覧"];
3728 option_menu [label = "オプション"];
3829 exit [label = "終了" ];
3930
40- network_normal_challenge [label = "対戦"];
41- network_high_challenge [label = "より強い人と対戦"];
42-
4331 kimariji_practice [label = "決まり時の練習"];
4432 weak_practice [label = "苦手な句の練習"];
4533
4634 recent_history [label = "タイピング履歴"];
47- user_deviation [label = "あなたの偏差値"];
4835 }
4936 \enddot
5037
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/header_data.dox
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dox/header_data.dox Fri Jan 21 05:26:21 2011 +0900
@@ -0,0 +1,5 @@
1+/*!
2+ \page header_data_page データのヘッダファイル化について (記述中)
3+
4+ !!!
5+*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/history_menu.dox
--- a/dox/history_menu.dox Thu Jan 13 03:05:27 2011 +0900
+++ b/dox/history_menu.dox Fri Jan 21 05:26:21 2011 +0900
@@ -1,5 +1,5 @@
11 /*!
2- \page history_menu_page "履歴の閲覧" (記述中)
2+ \page history_menu_page "履歴の閲覧"
33
44 履歴の閲覧についての記述を行う。
55
@@ -24,17 +24,4 @@
2424
2525 - タイプミス数の表示単位は [回] とする
2626 - 赤い線での表示とする
27-
28- \section history_menu_deviation 他人との比較
29-
30- - !!! 平均の入力完了時間とミスの数について、ユーザを1つの点で表現する
31-
32- - !!! それなりにスコアが近いユーザを選択してプロットする
33- - !!! あまりにかけ離れたユーザのデータは表示しない
34-
35- - 「タイプミス数」「入力開始の時間」「入力速度」の項目から選んだ2項目を、2軸のドットグラフで表示する
36-
37- \image html history_menu_deviation.png 2軸のグラフに小さな円を描画していく
38-
39- !!!
4027 */
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/history_menu_deviation.png
Binary file dox/history_menu_deviation.png has changed
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/mainpage.dox
--- a/dox/mainpage.dox Thu Jan 13 03:05:27 2011 +0900
+++ b/dox/mainpage.dox Fri Jan 21 05:26:21 2011 +0900
@@ -9,7 +9,7 @@
99
1010 \section mainpage_detail 仕様詳細
1111
12- - ゲーム
12+ - <b>ゲーム</b>
1313 - \subpage game_args_page
1414 - \subpage game_menu_page
1515 - \subpage shimonoku_typing_page
@@ -17,46 +17,26 @@
1717 - \subpage kimariji_practice_page
1818 - \subpage history_menu_page
1919 - \subpage option_config_page
20+ \n \n
2021 - \subpage display_rubi_page
2122 - \subpage roman_sample_page
22- - 音楽、効果音の再生について
23- - \subpage sound_cdrom_page
24- - \subpage sound_ogg_page
25- - データのヘッダファイル化について
23+ - \subpage sound_page
24+ - \ref sound_cdrom_page
25+ - \ref sound_ogg_page
26+ \n \n
27+ - \subpage header_data_page
2628 - \subpage typing_data_page
27- - \subpage cheerup_catalog_page
28- - 偏差値の計算について
2929
30- - ツール
31- - 詠み上げにあわせて表示を行うよう調整するツールについて
32- - \subpage yomi_sync_page
33- - ツールの GUI イメージ
34- \n \n
35- - 自動更新を行うツールについて
36- - \subpage update_check_page
37- - \subpage update_auto_page
38- - ツールの GUI イメージ
30+ - <b>ツール</b>
31+ - \subpage tool_yomi_page
32+ - \ref yomi_sync_page
33+ - \ref yomi_gui_page
3934
40- - データ管理
35+ - <b>データ管理</b>
4136 - \subpage data_waka_page
4237
43- - データベース
38+ - <b>データベース</b>
4439 - \subpage db_usage_page
45- - \subpage db_local_page
46- - \subpage db_server_page
47-
48- - ネットワーク
49- - \subpage network_authentication_page
50- - 送受信するデータについて
51- - Web アプリ用のデータ送受信について
52- - 専用サーバ用の通信プロトコル
53- - \subpage network_sequence_page
54- - \subpage network_rule_page
55-
56- - PC 用のデータサーバ
57- - \subpage server_pc_layer_page
58- - \subpage server_pc_database_page
59- - \subpage server_pc_protocol_page
6040
6141 \n
6242 \author satofumi@users.sourceforge.jp
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/network_authentication.dox
--- a/dox/network_authentication.dox Thu Jan 13 03:05:27 2011 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
1-/*!
2- \page network_authentication_page ネットワーク認証
3-
4- ネットワークの機能を使う場合の、ネットワーク認証について記述する。
5-
6-
7- \section network_authentication_abstract 概要
8-
9- ネットワークの一部の機能を使うときに、ユーザ認証を行う。\n
10- ユーザ認証が必要な操作は、
11-
12- - データをサーバに追加する作業
13- - タイピング対戦用データをサーバに登録する
14- - タイピング結果のデータをサーバに登録する
15-
16- とする。\n
17- データの取得などは、ユーザ認証なしで行えるようにする。
18-
19- ユーザ認証は、ユーザに対して送付されたキーをサーバ接続時に送信することで行う。
20-
21- \image html network_authentication_key.jpg 認証イメージ
22-
23- サーバから発行したフレーズをキーで暗号化し、それをサーバに送信して認証させてもよい。
24-
25- キーの発行については、
26-
27- - 完全に自由 ... サーバを指定しておくと、初回接続時に自動でキーを送信する
28- - メールアドレスが必要 ... メールで送られたキーをフォームに入力してもらう
29-
30- という方針とする。
31-
32-
33- \section network_authentication_phrase キー・フレーズについて
34-
35- - 手入力できる長さにする
36- - ショートカットキーでコピーできるようにしてもよい
37- - 長い場合は、4 文字毎に入力するようなフォームにする
38-
39- \image html network_authentication_input.jpg キーが長いときの入力フォームの例
40-
41-
42- \section network_authentication_key キーの発行について
43-
44- キーはサーバ接続時に自動的に発行する方法と、メールアドレスを入力して発行する方法の2通りを提供する。それぞれの方法で、Web サーバを用いる方法と、専用サーバを用いる方法を定義する。
45-
46- キーをサーバ接続時に自動的に発行するか、メールアドレスを入力して発行するかは、サーバ設定で変更できるようにする。
47-
48- - キー発行の設定について
49- - Web サーバの場合 ... config.php あたりで設定する
50- - 専用サーバの場合 ... GUI 上から設定できるようにする
51-
52-
53- \subsection network_authentication_key_free サーバ接続時に自動的に発行する
54-
55- - Web サーバを用いる方法
56- - キーを生成して表示する Web ページを作って対応する
57-
58- - 専用サーバを用いる方法
59- - そういうプロトコルを用意する
60-
61-
62- \subsection network_authentication_key_mail メールアドレスを入力して発行する
63-
64- 発行されたキーは、ゲームのアプリケーション上のメニューから入力できるようにする。Ctrl-v や Ctrl-y でコピーできるようにしてもよい。
65-
66- - Web サーバを用いる方法
67- - PHP のメール関数を用いて対応する
68-
69- - 専用サーバを用いる方法
70- - そういうプロトコルを用意する
71-*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/network_authentication_input.jpg
Binary file dox/network_authentication_input.jpg has changed
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/network_authentication_key.jpg
Binary file dox/network_authentication_key.jpg has changed
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/network_rule.dox
--- a/dox/network_rule.dox Thu Jan 13 03:05:27 2011 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
1-/*!
2- \page network_rule_page 対戦のルールについて (記述中)
3-
4- ネットワーク対戦のルールについて記述する。
5-
6-
7- \section network_rule_abstract 概要
8-
9- ユーザランキングの前後合わせて 20 ユーザくらいを含む表を作成し、その表の中のユーザと対戦できるようにする。
10-
11- \image html network_rule_table.jpg ユーザ前後のランキング表
12-
13- - ルール
14- - 他人の登録データと対戦できる
15- - 登録データは、"下の句タイピング" のデータが自動的に登録されるようにする
16- - 登録データは複数登録できる
17- - 一定期間が経過した登録データは、消える
18- \n \n
19- - 対戦では、他ユーザのデータを再生し、そのデータにおいて、どちらが早く入力を完了するかを競う
20- - 和歌の数は奇数にして、引き分けがないようにする
21- \n \n
22- - 勝った場合のランクの上昇
23- - 自分より上のランクのユーザに1回勝つと、ランクが1つ上がる
24- - 自分より下のランクのユーザに2回勝つと、ランクが1つ上がる
25- \n \n
26- - 負けた場合のペナルティ
27- - なし
28- \n \n
29- - 他ユーザとの対戦できる機会について
30- - 未対戦のデータがある場合は、繰り返し対戦できる
31- - 対戦したデータとは、一定時間(短め)は対戦できない
32- - 既に勝ったユーザとは、一定時間(長め)は対戦できない
33-
34- - 対戦がどうなるかの予想
35- - 登録データの数が少ないと、同じデータと対戦される頻度が上がり、防御力が弱くなる
36- - ユーザは、登録データを増やすために "下の句タイピング" を繰り返し行う
37- - 満足のいかない結果を登録しないために、タイピングを中断するかもしれない
38- \n \n
39- - 入力の終了が遅いと、登録データの数に関係なく負ける
40- - 入力の完了が早くなるように、"決まり字の練習" や "苦手な句の練習" のモードが利用される
41- \n \n
42- - 毎日データを登録しないと、ランキングがだんだんと下がる
43- - 毎日対戦しないと、ランキングがだんだんと下がる
44- - せっかく獲得したランキングが下がりやすいため、ランキングを保守することに飽きる
45- - プログラムを改造し、ユーザ側で作成したデータを送信して対戦に勝利するユーザが出る
46- - 私も作成する予定
47-
48- - チート等への対応
49- - 根本的な対応は、問題数が有限であるため無理
50- - サーバを簡単に起動できるようにし、仲間内で遊べる環境を提供して対処する
51- \n \n
52- - チートしてスコアが高いユーザは上位にランキングされるため、普通に遊ぶユーザとは混ざらないと信じたい
53- - 明らかにチートなデータは、手動でそのアカウントを無効にできるようにする
54- - 無効にした場合でも、そのユーザからは有効に思えるようにする
55- - 複数のアカウントを用意した場合は、この対処は意味をなさない
56-
57-
58- \section network_rule_detail 詳細
59-
60- !!!
61-*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/network_rule_table.jpg
Binary file dox/network_rule_table.jpg has changed
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/network_sequence.dox
--- a/dox/network_sequence.dox Thu Jan 13 03:05:27 2011 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
1-/*!
2- \page network_sequence_page ネットワーク接続の手順 (記述中)
3-
4- !!! キーがあれば、起動時にネットワーク接続を行う
5-
6- !!!
7-*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/option_config.dox
--- a/dox/option_config.dox Thu Jan 13 03:05:27 2011 +0900
+++ b/dox/option_config.dox Fri Jan 21 05:26:21 2011 +0900
@@ -1,5 +1,5 @@
11 /*!
2- \page option_config_page "オプション"
2+ \page option_config_page "オプション" (記述中)
33
44 "オプション" の画面構成と動作について記述する。
55
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/server_pc_database.dox
--- a/dox/server_pc_database.dox Thu Jan 13 03:05:27 2011 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
1-/*!
2- \page server_pc_database_page データベース定義 (記述中)
3-
4- データベースのテーブル定義、初期化などについて記述する。
5-
6-
7- \section server_pc_database_abstract_list 主な要求、および仕様
8-
9- - 一定期間を過ぎても接続がないユーザは、公開するレーティング値を減らすようにする
10- - 接続されれば、また適切なレーティング値を公開するようにする
11-
12- - 対戦履歴のデータから、レーティングの再計算ができるようにする
13-
14- - 一定数以上の対戦履歴が記録された場合、古い対戦履歴のデータは削除してもよい
15- - 必要なければ、削除しないこと
16-
17-
18- \section server_pc_database_abstract_table テーブル項目
19-
20- 以下の情報を管理する。
21-
22- - ユーザ・アカウント (user_account)
23- - user_id ... ユーザのシリアル ID
24- - key_code ... 認証用のキー・コード
25- - first_access ... 登録した DateTime
26- - last_access ... 最後に接続した DateTime
27- - is_active ... ユーザが有効かどうかのフラグ
28-
29- - 認証用データ (authentication_data)
30- - user_id ... ユーザのシリアル ID
31- - first_access ... 接続した DateTime
32- - authentication_code ... 処理後の認証コード
33-
34- - ユーザのレーティング (user_rating)
35- - シリアル ID
36- - レーティング値
37- - 最終更新の DateTime
38-
39- - 対戦用のタイピングデータ (typing_data)
40- - 対戦データのシリアル ID
41- - 登録したユーザのシリアル ID
42- - デコードした対戦用のタイピングデータ
43- - 登録したときの DateTime
44-
45- - 対戦履歴 (fight_history)
46- - 対戦したユーザのシリアル ID
47- - 対戦したユーザのレーティング値 (対戦前の値)
48- - 対戦されたユーザのシリアル ID
49- - 対戦されたユーザのレーティング値
50- - 対戦された対戦データのシリアル ID
51- - 対戦したときの DateTime
52- - 対戦したユーザに加算されたレーティング値
53- - 対戦したユーザの今回のタイピングデータのシリアル ID
54-
55- \n
56-*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/server_pc_layer.dox
--- a/dox/server_pc_layer.dox Thu Jan 13 03:05:27 2011 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
1-/*!
2- \page server_pc_layer_page ソフトウェア構成
3-
4- 対戦用のデータを管理するサーバ。
5-
6- - クライアントとの通信は TCP/IP で行う
7- - 通信プロトコルは \ref server_pc_protocol_page で定義する
8-
9- - データベースには SQLite を用いる
10- - テーブルは \ref server_pc_database_page で定義する
11-
12- \n
13-*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/server_pc_protocol.dox
--- a/dox/server_pc_protocol.dox Thu Jan 13 03:05:27 2011 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
1-/*!
2- \page server_pc_protocol_page 通信プロトコル (記述中)
3-
4- クライアントからの送信コマンドと、それに対する応答を記述する。
5-
6- コマンドの種類
7- - \ref protocol_create_account
8- - \ref protocol_authentication
9- - \ref protocol_register_typing
10- - \ref protocol_receive_typing
11- - \ref protocol_register_result
12- - \ref protocol_receive_result
13-
14-
15- \section protocol_create_account アカウントの作成
16-
17- アカウント ID と、128 bit ぶんのキーを2行で送信する。
18-
19- - 送信コマンド
20- \verbatim
21-CA\n # Create Account \endverbatim
22-
23- - 応答
24- \verbatim
25-12345678\n # 8 文字の 10 進数
26-deadbeefdeadbeefdeadbeefdeadbeef\n # 32 文字 (128 bit) \endverbatim
27-
28-
29- \section protocol_authentication 認証の処理
30-
31- 認証は、
32-
33- - サーバからフレーズの送信
34- - クライアントで、フレーズとキーの XOR の md5 のハッシュ値を作成
35- - md5 のハッシュ値をサーバに送信
36-
37- という手順で行う。\n
38- 認証結果はサーバからは応答しない。認証に失敗した場合は、以降の応答を全て無視する。
39-
40- - 送信コマンド
41- \verbatim
42-AU\n # Authentication \endverbatim
43-
44- - 応答
45- \verbatim
46-abcdabcdabcdabcdabcdabcdabcdabcd\n # 32 文字 (128 bit) \endverbatim
47-
48- - md5 ハッシュ値の送信 (クライアントから)
49- \verbatim
50-efghefghefghefghefghefghefghefgh\n # 32 文字 (128 bit) \endverbatim
51-
52- md5 ハッシュ値に対しては応答しない。
53-
54-
55- \section protocol_register_typing タイピングデータの登録
56-
57- ネットワーク対戦用の、出題する和歌とキーストロークの情報を扱う。
58- 認証済みの状態で、コマンドとデータを送信して登録する。
59-
60- - 送信コマンド
61- \verbatim
62-WT\n # Write Typing data
63-t,0,a,1,i,2,p,3,i,4,n,5,g,6,u,7,\n
64-d,8,e,-,9,t,10,a,11,\n
65-s,12,a,13,n,14,p,15,u,16,r,17,u,18,\n
66-\n \endverbatim
67-
68- サーバ側は、データ受信が完了したら接続を切断する。
69-
70-
71- \section protocol_receive_typing タイピングデータの取得
72-
73- 認証済みの状態で、コマンドを送信する。
74-
75- - 送信コマンド
76- \verbatim
77-RT\n # Read Typing data
78-0\n # Rating offset \endverbatim
79-
80- - 応答
81- \verbatim
82-t,0,a,1,i,2,p,3,i,4,n,5,g,6,u,7,\n
83-d,8,e,-,9,t,10,a,11,\n
84-s,12,a,13,n,14,p,15,u,16,r,17,u,18,\n
85-\n \endverbatim
86-
87-
88- \section protocol_register_result ユーザデータの登録
89-
90- 対戦結果の情報を扱う。\n
91- 認証済みの状態で、コマンドとデータを送信して登録する。
92-
93- - 送信コマンド
94- \verbatim
95-WU\n # Write User data
96-1,2,3,4,5,\n
97-\n \endverbatim
98-
99- サーバ側は、データ受信が完了したら接続を切断する。
100-
101-
102- \section protocol_receive_result ユーザデータの取得
103-
104- 認証済みの状態で、コマンドを送信する。
105-
106- - 送信コマンド
107- \verbatim
108-RU\n # Read User data \endverbatim
109-
110- - 応答
111- \verbatim
112-1,2,3,4,5,\n
113-\n \endverbatim
114-
115- \n
116-*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/sound.dox
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dox/sound.dox Fri Jan 21 05:26:21 2011 +0900
@@ -0,0 +1,6 @@
1+/*!
2+ \page sound_page 音楽、効果音の再生について
3+
4+ - \subpage sound_cdrom_page
5+ - \subpage sound_ogg_page
6+*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/tool_yomi.dox
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dox/tool_yomi.dox Fri Jan 21 05:26:21 2011 +0900
@@ -0,0 +1,6 @@
1+/*!
2+ \page tool_yomi_page 詠み上げにあわせて表示を行うよう調整するツールについて
3+
4+ - \subpage yomi_sync_page
5+ - \subpage yomi_gui_page
6+*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/update_auto.dox
--- a/dox/update_auto.dox Thu Jan 13 03:05:27 2011 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
1-/*!
2- \page update_auto_page ソフトウェアの自動アップデートについて
3-
4- ソフトウェアの自動アップデートについて、実現方法を記述する。
5-
6-
7- \section update_auto_abstract 概要
8-
9- - "ソフトウェアの更新を確認" ボタンを押すと更新チェックと更新を行う。
10- - 実際の更新処理は hyakutyping とは異なる実行ファイル(updater) が行う。
11-
12-
13- \section update_auto_detail 詳細
14-
15- ネットワーク切断などの理由により更新に失敗したときは、再度、更新ツールを実行すれば更新できることを保証する。
16-
17- Qt, boost を用いて実装する。
18-
19- - クライアント側から、OS 毎のバージョンアップ情報の Web ページにアクセスする
20- - windows, linux など。
21- - その OS で更新ができない場合は "この OS 用の更新ファイルは準備されていません。" と表示する。
22- - ファイル名とそのファイルの md5 の値、ファイルサイズを受信する。
23- - ローカルのファイルと比較し、存在しないファイル、md5 の値が違うファイルをダウンロードして更新する。
24- - HTTP プロトコルでファイルを受信する。
25- - 削除ページに記載されているファイルを削除する。
26-
27-
28- \subsection update_auto_detail_install インストール・リストのフォーマット
29-
30- ファイル名, MD5 値, ファイルの byte サイズ, の順に列挙する。
31-
32- <b>windows/latest_files.csv</b>
33- \verbatim
34-hyakutyping.exe, fb0203f276d71d38f1d26881f6d5775b, 13721115
35-scripts/startup.lua, b776dedd1479e767e3a75a353f538199, 2595
36-... \endverbatim
37-
38-
39- \subsection update_auto_detail_remove 削除・リストのフォーマット
40-
41- ファイル名を順に列挙する。以前に削除済みのファイルも全て記述する。
42-
43- <b>windows/removed_files.csv</b>
44- \verbatim
45-scripts/old_file.lua
46-... \endverbatim
47-*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/update_check.dox
--- a/dox/update_check.dox Thu Jan 13 03:05:27 2011 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
1-/*!
2- \page update_check_page ソフトウェア更新の確認について
3-
4- アプリケーションからソフトウェアの更新確認を行う方法について説明する。
5-
6- \section update_check_abstract 概要
7-
8- バージョン番号のみを記述した Web ページを作り、そこにアクセスすることでバージョンを確認する。
9-
10- \section update_check_detail 詳細
11-
12- - http://hyakutyping.sourceforge.jp/version.txt に X.X.X 形式の文字列を記述しておく。
13- - プログラムから Web ページにアクセスを行い、Web ページに記述されているバージョンがそのプログラムのバージョンよりも新しければ、ユーザに通知を行う。
14- - 通知は、ユーザがボタンを押すことでチェックできるようにする。
15- - プログラムの自動更新ができるようにする。
16- - 更新チェックは、1日に1回程度の頻度で行うようにする。
17- - 自動アップデートができるようにする。
18- - \ref update_auto_page
19-
20- \image html update_check_form.jpg 更新まわりの GUI イメージ
21-
22- - 更新を確認する Web ページは、設定ファイルのスクリプト中に記述する
23-*/
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/update_check_form.jpg
Binary file dox/update_check_form.jpg has changed
diff -r ea1a3e6caa29 -r 3673e1089f8b dox/yomi_gui.dox
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dox/yomi_gui.dox Fri Jan 21 05:26:21 2011 +0900
@@ -0,0 +1,5 @@
1+/*!
2+ \page yomi_gui_page ツールの GUI イメージ (記述中)
3+
4+ !!!
5+*/
旧リポジトリブラウザで表示