メニュー
FrontPage

目標

スレ進行話題

プログラム


ストーリー

大道具・小道具

各種駒イメージ
  ├歩兵と金
  ├香車成香
  ├桂馬成桂
  ├銀将成銀
  ├金将
  ├飛車竜王
  ├角行竜馬
  ├王将王将改
  ├玉将玉将改
  ├軍団
  | |
  | ├山賊軍
  | ├昆虫軍
  | ├妖怪軍
  | ├西洋軍
  | ├海賊軍
  | ├給仕軍
  | ├雪国軍
  | ├干支軍
  | ├西洋妖怪軍
  | ├チャイナ軍
  | ├女子高生軍
  | ├先代王将軍
  | ├海軍
  | ├熱血軍
  | ├西部劇軍
  | ├亜細亜軍?
  | ├企業戦士軍
  | ├商店街軍
  | └SF軍とミリタリ軍
  |
  └その他

知識の部屋

素晴らしき脱線企画

リンク
Wiki内検索
最近更新したページ
2009-12-29
2009-08-01
2009-02-24
2009-01-05
2008-12-28
2008-06-27
2008-06-22
2008-01-25
2007-11-19
2007-09-10
2007-08-23
2007-08-14
2007-08-12
2007-08-08

プログラム関係情報004

94 閉鎖まであと 42246 秒 sage 2007/01/23(火) 08:15:54.21 ID:N0zcmTd30
 面白そうな企画なんでβ判遊ばせてもらいました。 せっかく敵キャラと味方のグラフィックが別に用意されてるんで、左下の駒の効き図も上下反転したほうが解りやすいのではと。
 あと、棋譜の表示があるとやっぱり落ち着くかなと。


95 閉鎖まであと 37675 秒 2007/01/23(火) 09:32:05.45 ID:iHeGxLT80
>94

ki2形式のアルゴリズムってめちゃめちゃ面倒なんだよね(^ω^;)
完全対応している市販の1万円近いソフトでも柿木将棋くらいしかないし・・・
東大とか激指は微妙に対応って感じだったはず・・・
とりあえず努力はしてみます


97 閉鎖まであと 36580 秒 2007/01/23(火) 09:50:20.62 ID:iHeGxLT80
>左下の駒の効き図も上下反転したほうが解りやすいのでは
この部分は将来的にそういう機能にするかどうかを決めた時に問題が発生するので
焦って早漏乙で作らないでね
話し合いくらいはしていても良いけど


100 閉鎖まであと 31121 秒 2007/01/23(火) 11:21:19.77 ID:iHeGxLT80
う〜んと・・・

まず駒が2枚の時と3枚以上の時では変わる
2枚の時
 同じ段に駒がいない場合は上、下、寄の3パターン
 同じ段に駒がいる場合は左、右の2パターン、ただし駒の移動先が真上ならば直と入れる

3枚以上の時
 もう少し考えるwwww


101 閉鎖まであと 30926 秒 2007/01/23(火) 11:24:34.40 ID:iHeGxLT80
先手と後手で違うか ( ^ω^)


102 閉鎖まであと 29238 秒 2007/01/23(火) 11:52:42.82 ID:iHeGxLT80
2枚の駒の場合のパターンはできたお(^ω^;)


103 閉鎖まであと 28737 秒 2007/01/23(火) 12:01:03.77 ID:iHeGxLT80
3枚以上の時
移動元と同じ筋に他の駒がいない場合は移動元から移動先を見て左、右、直、引の4パターン

移動元と同じ筋にいた時はやっかい
移動先が真上や真下ならば直と引

移動先が真上や真下じゃない場合
移動先よりも移動元が左ならば左を追加、右ならば右を追加
さらに、別の駒との位置をしらべて上にいるならば引を追加、下にいるならば上を追加

3枚の駒が縦に並んで同じ場所に移動できるパターンは存在しない

>100に加えて竜と馬ならば直はつけずに左と右だけで判断する


104 閉鎖まであと 28696 秒 2007/01/23(火) 12:01:44.63 ID:iHeGxLT80
このアルゴリズムで穴は無いかお?(^ω^;)


105 閉鎖まであと 28691 秒 2007/01/23(火) 12:01:49.26 ID:2NEGnxHA0
意外と棋譜制作も大変なんだな


108 閉鎖まであと 28306 秒 2007/01/23(火) 12:08:14.04 ID:iHeGxLT80
>105
ぐぐって出てきたんだけど、将棋板でも将棋プログラム作るみたいな話があった時に
ki2形式の棋譜を読み出したり書き出したりするアルゴリズム製作でプログラマがほとんど逃亡したらしい


109 閉鎖まであと 28133 秒 2007/01/23(火) 12:11:07.35 ID:iHeGxLT80
盤面ってのは数字だけの羅列データ、駒ももちろん数字だけの羅列データだから
どういう計算式で後手や先手の駒を見極めるかとか、盤面の数字の羅列はどのようにするかとか仕様によって変わるしねぇ・・

もちろん、銀が右と左にいるって言葉で言うのは大変だけど、全部を数字だけの計算式に表さないとコンピューターは認識できないから
プログラム言語を知っているって事と、筋道立ててコンピューターに教える事ができるって事はまた違う問題なのよ
まぁ、今回の場合は棋譜のパターンが↑で合っているならばあとは入力していくだけなんだけどね


110 閉鎖まであと 28003 秒 2007/01/23(火) 12:13:17.31 ID:qrfrZsVs0
まぁプログラマーさんがつらくなったらそこは無しでもいいよ
絶対必要ってわけじゃないんだよな?

ところで待った機能ってのは簡単につけられないのでせうか


111 閉鎖まであと 27854 秒 2007/01/23(火) 12:15:46.36 ID:iHeGxLT80
いや、できるけど待ったは将棋として邪道だからあんまり作りたくないなぁ・・・

待ったのアルゴリズムは、コンピューター内部に数値だけの棋譜データと現在手数があるから
待った発動→手数が2以上→棋譜データを全部1から読み直して1手目から並べる→手数-2まできたらとめる→現在手数を-2する
これで完了


113 閉鎖まであと 27714 秒 2007/01/23(火) 12:18:06.78 ID:2NEGnxHA0
>108
プログラマ逃亡て(゜д゜)
それにトライしてるあんたスゲエな乙

一人でなんかシナリオに使えそうな棋譜作ろうとしてたら
意外なところでバグ発見
後手(王将)側で成るか成らないかの選択が表示されるとき
表示されてる絵が全然違う駒が表示されてます
例えば角が成ろうとすると
左側には何も表示されず右側に先手側の香車の表示がでました


114 閉鎖まであと 27555 秒 2007/01/23(火) 12:20:45.46 ID:iHeGxLT80
>113
あっ、それ自分も発見して直したつもりだったけど、まだ直ってなかった??
というか、今自分で試したら直ってなかった(^ω^;)
こないだ致命的バグが出た時にコンピューターが青画面になって強制再起動したから、その時のソースコードがセーブされていなかったのかな(^ω^;)


115 閉鎖まであと 27431 秒 2007/01/23(火) 12:22:49.13 ID:qrfrZsVs0
>111
そうなのか…
初心者ですぐ「あー角がきいてたのかorz飛車なくなたもうダメポ」
って感じになっちゃうから待った欲しかったんだが…


116 閉鎖まであと 27426 秒 2007/01/23(火) 12:22:54.29 ID:iHeGxLT80
ああ、原因が分かった(^ω^;)
全部の箇所で直していないだけですた

試しに後手が成った時に変な表示が出るけど、その状態でALT+TABを押してウィンドウを切り替えてから戻ると表示が直るよwwww
というわけで首をつりながら修正してきます λ....





19 閉鎖まであと 5602 秒 2007/01/23(火) 18:26:38.46 ID:iHeGxLT80
ただ、これが完成すればスレに棋譜が貼り付けられていたらそれをコピペして擬人化将棋で読み取れる
もちろん、擬人化将棋で作った棋譜をコピペでスレに書き込める(この部分はすでに完成)
普段将棋板とかいる人ならば、よだれ物の機能な気がするが、そうでもないなら投げ出しちゃおう ( ^ω^)


27 閉鎖まであと 4017 秒 2007/01/23(火) 18:53:03.22 ID:iHeGxLT80
>24
甘いものが良いけど、そいつは甘いのかい?

とりあえず7割方できてきたのでぶっ倒れなければ3日以内にはできたらいいなぁ・・・
現状は下の処理を解決中



46 閉鎖まであと 164 秒 2007/01/23(火) 19:57:16.97 ID:iHeGxLT80
今ここ


132 愛のVIP戦士 2007/01/23(火) 22:48:52.22 ID:I7vXuPMz0
観戦したいな


133 愛のVIP戦士 2007/01/23(火) 22:49:16.48 ID:o+xW/1Xh0
>126
ヒント

エスケープ


134 愛のVIP戦士 2007/01/23(火) 22:50:58.02 ID:7mWYpEp/0
>127-129
そうだったのか・・・知らなかった、Thx


135 愛のVIP戦士 2007/01/23(火) 22:54:23.21 ID:Gs2LiUeY0
>132
IP対戦ならぬIP観戦か
そこまでいくとハンゲとかの域だなw


136 愛のVIP戦士 2007/01/23(火) 22:55:16.85 ID:6I+NtD2J0
>130
なんという古参AA軍
一目見ただけで歴史を感じてしまった
こいつらは間違いなく

/^o^\


137 愛のVIP戦士 2007/01/23(火) 23:09:25.91 ID:I7vXuPMz0
>135
確かに 趣味で作成の領域を超えそうだな
通りすがりなんで華麗にスルーしてくれ
それにしてもクオリティタカス 感動した。


138 愛のVIP戦士 2007/01/23(火) 23:11:04.01 ID:zUehevwo0
もうP2Pみたいにしたら?


139 愛のVIP戦士 2007/01/23(火) 23:12:15.44 ID:G1bCHKVu0
>138
どんなのかわからんがそれは良さそうなのか?
ならがんばれ


140 愛のVIP戦士 2007/01/23(火) 23:12:44.17 ID:6I+NtD2J0
いわゆる垂れ流しか?そうなると専用鯖とか必要になるんじゃね?


141 愛のVIP戦士 2007/01/23(火) 23:15:02.02 ID:zUehevwo0
>139
winnyみたいなサーバーを媒介としないでコンピューター同士をつなぐのです

>140
多分鯖はいらなくてソフトだけでいい、と思うちょっと自信なくなってきた


142 愛のVIP戦士 2007/01/23(火) 23:18:42.19 ID:WD21egzt0
P2PにしてもホストとなるPCが一台必要になってくる
とかいう話をIP通信テストしてたころ話してたな


143 愛のVIP戦士 2007/01/23(火) 23:21:45.81 ID:6I+NtD2J0
ファイル共有ソフトの類も親が必要になるというからなぁ。
常時どこかが電源付きっぱなしの環境でないとやはり運用は難しいか。


144 愛のVIP戦士 2007/01/23(火) 23:24:02.96 ID:iHeGxLT80
いや、今のIPを指定して対戦する形式の事をP2Pというのですよ・・・
だから現行システムがP2P形式での対戦なのれす


145 愛のVIP戦士 2007/01/23(火) 23:24:32.30 ID:zUehevwo0
>143
じゃあ、忘れてください初めてきていきなり意見だしてごめんなさいでした


147 愛のVIP戦士 2007/01/23(火) 23:27:30.78 ID:Gs2LiUeY0
実況みたいな形にしてWMPで見るとかはどうなんだ?実現不可?


148 愛のVIP戦士 2007/01/23(火) 23:27:50.61 ID:6I+NtD2J0
>145
いやいや、別におkなんだぜ?
色々燃料があるのは悪いことじゃないんじゃねえの!?

    | ̄ ̄ ̄]
   |     |
   [≡角≡≡]
   ハ〇-〇-从、
  ノノ\ - /」ハハ  < アイデアを出すのは悪いことではございませんよ。
  /|/ ̄ / \ハ     言ってから煮詰めるのも有りですから。
  | "|''' /   |
 //\ [二二]
/ ////\_∪\


149 愛のVIP戦士 2007/01/23(火) 23:27:52.51 ID:qrfrZsVs0
>145
いやそういう意見出すのは重要なんだぜ


150 愛のVIP戦士 2007/01/23(火) 23:32:14.02 ID:iHeGxLT80
ちなみに、メッセンジャー形式のP2Pならば
Aさん→ログインしたよ〜→サーバーマシン→Aさんの友達へ一斉送信→Bさん(Aさんがログインしました)→P2P→Aさん(Bさんからこんにちわ〜メッセージ)

winnyみたいな形式ならば
初期ノード(IPアドレス情報)をあらかじめ記憶しておいて
Aさん→繋いだお!→IPアドレス情報にひたすら繋いだと送りまくる→ノード(IPアドレス)の人が起動していないなら接続は永遠に失敗
              ↓
          つないでいる人発見→お互いのマシンがサーバー(ホスト)になったりゲストになったりをしながら接続をしていく

現行
IPアドレスを1つ指定→繋いだよ〜→相手がホストなら接続完了

ホストやサーバーを意識せずにやろうとなると、相手の状態によって永遠に接続ができない状態が発生する可能性もありバグっているのか相手がいないのか分からなくなるれす
どんな形式にしても、どっちみちIPアドレスは指定しないとNG


151 愛のVIP戦士 2007/01/23(火) 23:32:47.68 ID:EX9S1pJxO
リアルタイムにこだわらないなら
現時点でも棋譜を保存して
それを投下すれば他人の対局は見れると思うんだが
それじゃダメなのか?


152 愛のVIP戦士 2007/01/23(火) 23:39:25.51 ID:6I+NtD2J0
>151
なるほど、観る手段は無くとも知れる手段は既にあるんだよな。
棋譜データの読み込みもできるし再現は見れるってわけだ。
その案だとたどり着くところは専用のうpろだだな。


153 愛のVIP戦士 2007/01/23(火) 23:41:00.33 ID:V7scWeCd0
速度が問題にならないなら
対局者から直接配信でも行けそうな気がするけどな


160 愛のVIP戦士 2007/01/23(火) 23:53:51.95 ID:iHeGxLT80
と思ったら、おそらく先後データ取得時に末尾1ビットを論理積していなかった事と、ifに対してelseをつけていなかったのが問題っぽい(^ω^;)
これで動いているように見えたら、正常に動いてなくても(バグってても)気にせずうpってデバッグはみんなの報告待ちにしようかな(^ω^;)


266 愛のVIP戦士 New! 2007/01/24(水) 20:55:08.58 ID:Gro1yBsd0
擬人化将棋最新版です
http://zipdekure.net/up/upload.cgi?mode=dl&file=22...

 クリップボードへ棋譜をコピーした時にKI2形式として出力されます
 クリップボードからki2形式の棋譜を読み込むことができるようになりました
 ファイルとしてKI2形式で棋譜を保存する事ができるようになりました
 KI2形式で保存されたファイルを読み込む事ができるようになりました
 後手の成駒ポップアップが正しく表示されなかった不具合を修正
 メイン画面での手の表示がCSA形式からKI2形式になりました
 ヘルプファイルを修正


KI2形式というのは
▲7六歩 ▽3四歩 ▲2六歩・・・・
といった形の棋譜形式です
つまり、人間が将棋の棋譜を表記するそのままの形式です

たとえば、2ch将棋板の棋譜をコピペしたり、柿木将棋などの市販ソフトからKI2で保存したりクリップボードにコピーしたものをそっくりそのまま擬人化将棋で使えるようになっています
できたてほやほやなのでバグも結構多いかもしれませんが、まぁそこはご愛嬌で

ちなみに、この更新が今までの擬人化将棋の更新の中で一番大変ですた


289 愛のVIP戦士 New! 2007/01/24(水) 22:07:00.06 ID:8IrRz1Ty0
今無駄行動して遊んでたらエラー終了した
なんて以上するとエラー起きるとかあるかな???


290 愛のVIP戦士 New! 2007/01/24(水) 22:08:44.89 ID:Gro1yBsd0
>289
おそらくsikou.dll側のバグでつね
ボナンザならそのバグは出ないと思うお(^ω^;)
今のsikou.dllは本当にバグだらけで、どうしようもないほどバグってます
かろうじて普通に指す分にはあまりバグが出てこないように見える程度・・・

一応1800手くらいまでは認識できるはずですわ


358 愛のVIP戦士 New! 2007/01/24(水) 23:41:05.08 ID:ko0vq3eO0
またも相手のミスで助かった(・∀・)
失礼ながらも二兎追う物は一兎も獲ずってこういうこと
いうんだなーと思っちゃったよ

先手:332
後手:( ^ω^)雑魚です
▲2六歩 ▽8四歩 ▲7八金 ▽8五歩 ▲6九玉 ▽5二金右
▲2五歩 ▽3二金 ▲2四歩 ▽同歩 ▲同飛 ▽2三歩
▲2五飛 ▽8六歩 ▲同歩 ▽同飛 ▲8七歩 ▽8二飛
▲5九金 ▽5四歩 ▲1六歩 ▽1四歩 ▲9六歩 ▽7二銀
▲7六歩 ▽7四歩 ▲5六歩 ▽7三桂 ▲6八銀 ▽5三金
▲6六歩 ▽5二玉 ▲7七銀 ▽6四歩 ▲7五歩 ▽6三銀
▲8六歩 ▽8四飛 ▲3六歩 ▽3四歩 ▲3七桂 ▽4四歩
▲6七金 ▽3三桂 ▲2六飛 ▽6二玉 ▲2四歩 ▽1三角
▲2三歩成 ▽同金 ▲同飛成 ▽2二銀 ▲3二竜 ▽5二金
▲4一竜 ▽5一金 ▲4三竜 ▽5二銀 ▲5四竜 ▽5三銀
▲6三金 ▽6一玉 ▲5三竜 ▽8二飛 ▲7三金不成 ▽8一歩
▲8二金不成 ▽同歩 ▲7三飛 ▽6二金打 ▲6三飛成 ▽5二歩
▲7二銀 
まで、73手で先手の勝ち

>353

けどVIPには既に将棋スレあるんじゃなかったっけ?
レベル高そうなイメージあるけど…


366 愛のVIP戦士 New! 2007/01/25(木) 00:12:24.63 ID:VeBT5zTJ0
>358
金不成?


368 愛のVIP戦士 New! 2007/01/25(木) 00:15:46.84 ID:jB3BAuKR0
うほっwwwww
というか思い当たるふしありまくりwwwwww

相手陣地へ移動した時、もしくは相手陣地から出てきた時に駒が成駒ではなく、その駒が成らなかったら不成をつけるって処理にしているから
金不成ってなっちゃうねwwwww


369 愛のVIP戦士 New! 2007/01/25(木) 00:17:00.61 ID:OMMoZhMj0
>368
ということは王も王不成ってなるのかバロスwwwwwwwww


374 愛のVIP戦士 New! 2007/01/25(木) 00:22:35.73 ID:jB3BAuKR0
>369
いや、王は最初から成駒扱いですお ( ^ω^)

0x00 なし
0x01 歩
0x02 香車
0x03 桂馬
0x04 銀
0x05 金
0x06 角
0x07 飛

上のデータで駒を識別している
これは8ビットデータのうち前3ビットが駒の識別になる
4ビット目のフラグが立てば成駒扱い
0x08 王
0x09 と金
0x0a 成香
0x0b 成桂
0x0c 成銀
0x0d 該当データなし
0x0e 馬
0x0f 龍

さらに先頭1ビットが立っていれば後手の駒として認識する
0x81なら後手の歩みたいな


390 愛のVIP戦士 New! 2007/01/25(木) 00:44:06.32 ID:jB3BAuKR0
3八と右寄が3八と右上になっているね ( ^ω^)
場所が特定できたからコードとにらめっこできそうで良かったお


391 愛のVIP戦士 New! 2007/01/25(木) 01:00:43.66 ID:jB3BAuKR0
だ〜〜〜〜おいらはアホか〜〜〜〜
>27に覚書しているのに、実際のプログラム部分の注釈で

寄が無いYO!


393 愛のVIP戦士 New! 2007/01/25(木) 01:11:00.51 ID:jB3BAuKR0
ちなみに・・・
▲○○と右寄みたいな棋譜は恐ろしいほどにパターンが大量にあるわけですが
このパターン時の最後の右寄の寄の部分だけの判定でも↓こんな感じでやっとります

else if( strncmp(&moji[i+2],"寄",2) == 0 )//同じ段に対称の駒がいる
{
if( tesu & 0x01 )//次の手番は後手である
ret = g_kiki_same(men,newx,k,smen);
else
ret = s_kiki_same(men,newx,k,smen);
for( j=0; j<ret; j++ )
{
if( tesu & 0x01 && (smen[j]-1)%9 < (newx-1)%9 && (smen[j]-1)/9 == (newx-1)/9 )break;
else if( !(tesu & 0x01) && (smen[j]-1)%9 > (newx-1)%9 && (smen[j]-1)/9 == (newx-1)/9 ) break;
}
if( j == ret )
{
strcpy(mess,"盤面と棋譜があっていません(左寄)");
return(TRUE);
}
old = smen[j];

if( strncmp(&moji[i+4],"成",2) == 0 )
{
kifu[tesu][0] = newx+100;//成りの時はkifu[][0]に+100する
kifu[tesu][1] = old;
nari = 1;
i+=2;
}



394 愛のVIP戦士 New! 2007/01/25(木) 01:12:13.78 ID:jB3BAuKR0
とだしたものが左寄だった件について


395 愛のVIP戦士 New! 2007/01/25(木) 01:13:26.28 ID:OMMoZhMj0
>393
if文多すwwwwwwwwwww
2007年01月25日(木) 01:30:53 Modified by ID:GD4z93ce4g




スマートフォン版で見る