Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kifu for Winのような盤面編集 #6

Open
na2hiro opened this issue Oct 22, 2014 · 7 comments
Open

Kifu for Winのような盤面編集 #6

na2hiro opened this issue Oct 22, 2014 · 7 comments

Comments

@na2hiro
Copy link
Owner

na2hiro commented Oct 22, 2014

盤上の駒のクリックやドラッグ等により,

  • 盤面の編集
  • 対局開始や終局の入力
  • 棋譜の保存

などができるようにする.いつかやる.

@na2hiro
Copy link
Owner Author

na2hiro commented Feb 12, 2015

以下は既に作成.

  • ドラッグ&ドロップによる棋譜入力
    • 閲覧時に変化手順を調べたい時などに活用する

以下はビューアとは別物にすべきかも

  • 棋譜の保存
    • オリジナルの棋譜を保存するか編集後の棋譜を保存するか確認する?
  • 対局開始や終局の入力
  • 盤面編集
    • Shogi.jsのeditMode(移動可能や手番を無視するモード)を利用する
    • 足りていないメソッド

@bluerabbit
Copy link
Contributor

詰め将棋などを作成できるサイトを作りたくて、Kifu-for-JSを調べていてこのIssueにたどり着きました。

盤面編集

JKFPlayerがそもそも編集モードをサポートしていないように見えますが、サポートしていますでしょうか。

試しにKifu-for-JSでpreset: "OTHER"でPlayerを初期化し、state.player.shogi.flagEditMode = true;で編集可能にして動作させようと試みました。

しかし、下記のJKFPlayer.prototype.inputMoveで呼び出されるNormalizer.normalizeMinimalがeditModeに対応していないため、colorが強制的に書き換わってしまいます。

(Kifu-for-JSかjson-kifu-formatのどちらのリポジトリに対するコメントが適切だったかわかりませんでした 🙇 )

@na2hiro
Copy link
Owner Author

na2hiro commented Oct 25, 2015

ご質問いただきありがとうございます.
JKFPlayerはJKFの再生と(将棋のルールに従った)入力だけを行うためのもので,盤面編集(ルール外移動)に対応しておらず,その予定もありません.
盤面編集はJKFPlayerから離れて将棋盤そのもののモデルである na2hiro/Shogi.js のメソッドを呼ぶほうが自然と考えています.
編集後のShogi.jsの局面から再度入力を行う場合は,その盤面をJKFPlayerコンストラクタに渡すことになると思います.
このチケットはJKFPlayerを変更するのではなく,再生モードはJKFPlayer,編集モードはShogiを内部のモデルとするようにKifu for JSを変更することを意図したものです.

ちなみにこのチケットの進捗ですが,大枠はできているのですが細かい編集モード向けのボタン等のUIが定まっておらず放置気味になっています.
ただ編集の要望があるということなので,シンプルな状態でもリリースしようかと思います.必要ならそこからforkしてカスタマイズしていただければと思います.

これで回答になっていますでしょうか.

@bluerabbit
Copy link
Contributor

JKFPlayerはJKFの再生と(将棋のルールに従った)入力だけを行うためのもので,盤面編集(ルール外移動)に対応しておらず,その予定もありません.

回答ありがとうございます。承知しました。

盤面編集はJKFPlayerから離れて将棋盤そのもののモデルである na2hiro/Shogi.js のメソッドを呼ぶほうが自然と考えています.

特定局面から開始するのはKifu-for-JSでpreset: "OTHER"で指定すれば出来ることがわかりましたので、考え直すと私の欲しかった盤面編集とはpresetの状態(JSON)を作成するPlayerがあればいいという発想にたどり着きました。

再生モードはJKFPlayer,編集モードはShogiを内部のモデルとするようにKifu for JSを変更することを意図したものです.

なるほど。

Kifu-for-JSはJKFPlayerとShogi.jsを使ったビューア実装の一例と捉えて、編集モード用のKifu-for-JSを作成した方がいいのかな?と考えていましたが、編集モードはShogiを内部のモデルとするという発想はありませんでした。作者ならどういう方向性で実装するのが自然と考えるのかを確認したかったのでコメント頂けて助かりました。

どうやって実現するか検討します。

ただ編集の要望があるということなので,シンプルな状態でもリリースしようかと思います.必要ならそこからforkしてカスタマイズしていただければと思います.

私の実現したいことはKifu-for-JSそのものでは欲しいUIが異なるため参考実装としての使い方になりますが、もし既にあるならリリースあるいはpull requestにして見える状態にして頂けると助かります。

@bluerabbit
Copy link
Contributor

編集の要望があるということなので,シンプルな状態でもリリースしようかと思います.必要ならそこからforkしてカスタマイズしていただければと思います.

このbranchをpushして頂くことは可能でしょうか。

@na2hiro
Copy link
Owner Author

na2hiro commented Dec 20, 2015

すみません.
時間が取れておらず,整える余裕がありませんでした.editorブランチをpushしました.

https://github.com/na2hiro/Kifu-for-JS/tree/editor

@bluerabbit
Copy link
Contributor

ありがとうございます 🙇

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants