---
# System prepended metadata

title: ジャンケンゲーム

---

# ジャンケンゲーム
## 概要
ジャンケン対戦をオンラインで実装
ストーリーはほぼなし
オフラインのチュートリアルで3話だけやって、三つの手を出せるようになる。
以降は、オンラインの通信対戦とオフラインの練習をできるようにする。

## 実装
### ジャンケン
0:手決まらず
1:グー
2:チョキ
3:パー
互いの手を送受信して勝敗判定

### オンライン
通信対戦はホストとゲスト形式
ホストはサーバーの待機場所にルーム名と自身の名前とパスワードを登録
ゲストは開かれているルームに任意で参加できる
ルームの最大数は5（サーバーの方に情報を保持する関係上）
対戦が終了するか、双方からのアクセスがない状態で10分が経過したらルームの削除

### オフライン
架空のプレイヤーとルームを作って出す手を決定して返すようにする

* 無指向性ジャンケニスト
    * 完全ランダム
* ばかのひとつ覚え
    * 決まった手を出し続ける
* 千里眼
    * 相手のハンドログを参照する。
    * 第1手は全ゲーム中で1回目に出している回数の多い手に勝てる手を出す。
    * 2回目以降はランダムに
        * 相手の最もよく出す手に勝てる手を出す
        * 相手の最も負けた手を出す？
        * ランダム
* 


## プレイヤー
名前：任意で決定（重複可）
ID:サーバー側で決定（重複不可）
Password：任意で決定（初期値はpass）引き継ぎに使用
対戦履歴（オンライン）：サーバーに保存
対戦履歴（オフライン）：ローカルに保存
フレンドリスト：サーバーに保存。優先度低め。
ハンド：int型変数
ハンドログ：int型リスト。0で区切って全ての対戦の手のログを残す。

