機能 #66
open機能 #63: 新チケットver1
技術調査
Updated by K Okuda 27 days ago
// 1. ゲームインスタンスを作成します
var game = new WGo.Game(19);
// 2. 例として、4手目まで着手します
game.play(3, 3); // 1手目: 黒が (3, 3) に着手
game.play(15, 15); // 2手目: 白が (15, 15) に着手
game.play(3, 15); // 3手目: 黒が (3, 15) に着手
game.play(15, 3); // 4手目: 白が (15, 3) に着手
// 3. 3手目の情報を取得します
var moveNumber = 3;
// 3手目が存在するかどうかをチェックします
if (game.stack.length > moveNumber) {
// 2手目終了時の盤面(比較元)を取得します
var previousPosition = game.stack[moveNumber - 1];
// 3手目終了時の盤面(比較先)を取得します
var currentPosition = game.stack[moveNumber];
// 2つの盤面を比較して、差分を取得します
var changes = previousPosition.compare(currentPosition);
// 'add'プロパティの配列に、新しく追加された石の情報が入っています
if (changes.add.length > 0) {
// 通常、着手は1つなので、配列の最初の要素を取得します
var moveInfo = changes.add[0];
console.log("3手目の着手情報:");
console.log("X座標:", moveInfo.x); // -> 3
console.log("Y座標:", moveInfo.y); // -> 15
console.log("色:", moveInfo.c === WGo.B ? "黒" : "白"); // -> 黒
} else {
// 'add'配列が空の場合、その手番はパスだったことを意味します
console.log(moveNumber + "手目はパスでした。");
}
} else {
console.log(moveNumber + "手目はまだ打たれていません。");
}
Updated by K Okuda 21 days ago · Edited
MPAからSPAにする。
-
ログイン
メールアドレスまたはIDとパスワード
出力→トップ画面(詳細はトップ画面で検討) -
新規ユーザー登録
ユーザーID・ユーザー名・パスワード・プロフィール画像
DB保存:ユーザーID・ユーザー名・ハッシュ化されたパスワード
出力→トップ画面 -
トップ画面(※検索画面、条件なし)
入力:なし(JWT?)
出力→新着棋譜情報とユーザー情報、ID(10件)
もっと見るを押す→API追加取得
-
もっと見る
入力:クエリ・ページ番号(q=初心者&t=1&t=2&p=2)
出力:棋譜情報の概要、ユーザー情報とID(10件) -
クエリ付き検索結果→もっと見ると同じ、ページ番号が1
-
詳細ページ
入力:ID
出力:棋譜情報、コメント情報、ユーザー情報(新しい順) -
新規登録ページ
入力:なし
出力:
Updated by K Okuda 13 days ago · Edited
学習範囲が広くなるのでSPA一旦やめてSPA。
これらをJINJS2テンプレートに組み込む。
-
ログイン
メールアドレスまたはIDとパスワード
出力→トップ画面(詳細はトップ画面で検討) -
新規ユーザー登録
ユーザーID・ユーザー名・パスワード・プロフィール画像
DB保存:ユーザーID・ユーザー名・ハッシュ化されたパスワード
出力→トップ画面 -
トップ画面(※検索画面、条件なし)
入力:なし(JWT?)
出力→新着棋譜情報とユーザー情報、ID(10件)
もっと見るを押す→API追加取得
-
もっと見る
入力:クエリ・ページ番号(q=初心者&t=1&t=2&p=2)
出力:棋譜情報の概要、ユーザー情報とID(10件) -
クエリ付き検索結果→もっと見ると同じ、ページ番号が1
-
詳細ページ
入力:ID
出力:棋譜情報、コメント情報、ユーザー情報(新しい順) -
コメント
API。
入力:コメント、何手目か
出力:成功か失敗か -
新規棋譜登録ページ
入力:なし
出力:画面(固定) -
お気に入りページ
入力:なし
出力:画面
もっと見る→API(棋譜ID、概要)