2012年09月ゲ製作技術70: 【オセロ,将棋】ボードゲーム【囲碁,War】 (260) TOP カテ一覧 スレ一覧 2ch元 削除依頼
flashゲームでロックマンの同人ゲーム作ろうぜ (204)
【XNA】1がアクションSTGを作るスレ【コントラ】3 (404)
ウルファールのウディタ講座 (405)
ゲーム製作者が自由にアンケートをとれるスレ (239)
無料で俺がRPGを作れるようにするスレ (471)
【HSP】HSPで3Dゲーム 5 【3D】 (980)

【オセロ,将棋】ボードゲーム【囲碁,War】


1 :03/07/10 〜 最終レス :2012/10/17
比較的地味なボードゲーム専用のスレが欲しくて立ててみました。
私はc言語で作ったデータベースを使って人間と対戦できる将棋かチェス
みたいなソフトを作りたいと思ってますが、グラフィックインターフェースの
作り方がわからなくてつっかえているレベルです。

2 :
>>1
まずユーザインタフェースは、テキストベースで作れ。
盤面を表示して、指す座標をひとつずつ入力させるタイプ。
AIのテストなら、それくらいで十分だろ。

3 :
もうひとつ逝っておくと、「私は云々」みたいなことは、>>1に書くべきではないな。
単発質問スレだとおもわれるぞ?(もし真性単発質問スレだったらスマソw)

4 :
ありがとうございます。単発というわけでなく話題提供のつもりでしたが
まぎらわしかったですね。すみません。ボードゲームに関するいかなる
話題でも参考になるのでそういう風に解釈してください。
あと2でいわれたテキストベースというのは具体的にどのようなことを
すればいいのかもう少し詳しく教えてくださいませんか。当方c言語を
はじめて一ヶ月。BCCだけでとりあえず思考ルーチンだけはめどが
たってきた程度で表示はまったくの素人なのです。

5 :
自信作のエロサイト!
http://alink3.uic.to/user/angeler.html

6 :
http://homepage.mac.com/maki170001/

7 :
http://homepage.mac.com/hiroyuki44/jaz09.html

8 :
>>4
盤面の状態はどうやって持ってるの?

9 :
ミニゲームなのであらゆる可能なポジションに対しそれが最善で
何手で詰むかまたは引き分け(ドロー)かの情報を得ることができますので
それを一度作ってデータベースとしてそれを参照しながら(数MBになる予定)
次の一手を考えるようにしたいと思ってます。まだ途中ですが。

10 :
>>1
Cのコンソールでやるなら、オセロ、囲碁なら、●〇+で
将棋は歩v等か外字エディタとか。僕は今時間が空いているので、
コンソール×外字エディタの将棋をウインアプリに作り直している。
Win32APIにCreateFont関数があるから、それで逆の文字も表示できる。
一番良いのはやっぱりビットマップを用意して表示する。
参考に7行プログラミングで作られたもの。Cコンソール。
http://pc.2ch.net/test/read.cgi/tech/984182993/372
#include <stdio.h>
int*i,p,t,a,d,v,m[91]={-10,-9,-8,-1,1,8,9,10},s;void k(){if(m[p]==0)for(i=m;*i
;i++){for(v=p+*i;m[v]==9-t;v+=*i);if(v-p-*i&&m[v]==t&&(s=a=v=p,d))do m[v]=t,v
+=*i;while(m[v]-t);}}main(){for(m[40]=m[50]=s=t=3,m[41]=m[49]=6;s-1;a=d=0){for
(p=8;++p<82;printf("・\0○\0●\0\n"+m[p]))p%9?k():m[p]=9;for(a?d=a=p=9:s?s=0,
puts("pass"):s++;a==9;k())t-6?scanf("%d%d",&p,&v),p+=v*9:++p;t=9-t;}return 0;}
>>2さんが言っているような感じ。思考ルーチンができるなら、
めちゃ強いのを作ってから、グラフィカルなのに入っても遅くない。

11 :
いきなり7行オセロかよ!初心者にはつらそう。
まぁ、適当にサンプルを書いておこう。
syouhai_hantei()
cpu_no_sikou_routine()
の二つの関数さえ書けば、完璧な囲碁ソフトだぜ!
ちなみに、↓は囲碁だけどbanmen,koma,syohaiを変えれば、将棋でもチェスでも同じ。
------------------
int banmen[19][19] = {{0}}; /* ←グローバル変数 */
char *koma[] = {"+", "●", "○"};
char *syohai[] = {"", "●の勝ちです", "○の勝ちです", "引き分けです"};
int i, j, r;
while (1) {
  for (i = 0; i < 19; i++) {
    for (j = 0; j < 19; j++) {
      printf("%s", koma[banmen[i][j]]);
    }
    printf("\n");
  }

12 :
  do {
    printf("縦?\n");
    scanf("%d", &i);
    printf("横?\n");
    scanf("%d", &j);
  } while(i < 0 || i >= 19 || j < 0 || j >= 19);
  banmen[i][j] = 1;
  r = syouhai_hantei();
  if (r != 0)
    break;
  cpu_no_sikou_routine(&i, &j);
  banmen[i][j] = 1;
  r = syouhai_hantei();
  if (r != 0)
    break;
}
printf("%sの勝ちです。", syohai[r]);

13 :

  cpu_no_sikou_routine(&i, &j);
  banmen[i][j] = 2;
だった。ごめ。

14 :
話題もないですし対戦でもしてみます?
一応プラットフォームとしては
リバーシ
http://dahlia.xrea.jp:8080/hikky/index.php?%5B%5B%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%BB%A8%C3%CC%2FReversi%5D%5D
もありますしプラットフォームから作るのもおもしろいんじゃないかと

15 :
放置されてるスレなんで上げてみた。
いいんじゃね、東大将棋とかがどうかしましたかって言うのは無理だけど
なんか作りたいね。

16 :
http://www.k-514.com/sample/sample.html
  _、_ 癒し系か・・・
( ,_ノ` )y━・~~~ 見たらどうだ・・・

17 :
http://www.39001.com/cgi-bin/cpc/gateway.cgi?id=ookazujp
http://www.39001.com/cgi-bin/cpc/welcome.cgi?id=ookazujp
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000002&pid=p000000244
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000003&pid=p000000244
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000017&pid=p000000244
http://www.adultshoping.com/index.cgi?id=1057809839
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000008&pid=p000000244
!!!!! ━━━━━━(゚∀゚)b━━━━━━ グッジョブ!!!!!

18 :
結局>>1はどうなったの?

19 :
1より森田さんはどうなったの?

20 :
JRA、将棋、行ってみます。
方針は、1億局指す、すべての局面の勝率を記憶する。
public class example3{
public static void main(String arg[]){
//
int banmen[][] = new int[9][9];
char koma[] = {'+','F','O','+','f','o'};
String syohai[] = {" ","先手の勝ちです","後手の勝ちです","引き分けです"};
int i, j, r;
banmen[0][4]=5;banmen[2][4]=4;
banmen[6][4]=1;
banmen[8][4]=2;
{
for (i = 0; i < 9; i=i+1) {
for (j = 0; j < 9; j=j+1) {
System.out.print(koma[banmen[i][j]]);
}
System.out.print("\n");
}
}
}
}


21 :
あぼーん

22 :
歩、香車、桂馬、銀、金、角、飛車、王、と金、成り香、成り桂、成り銀、竜馬、竜
pawn,lance,night,silver,gold,bishop,rook,oh,Tokin,yari,narikeiMa,argent,dragonHorse,dragon
で行く。
lnsgogsnl
.r.....b.
ppppppppp
.........
.........
.........
PPPPPPPPP
.B.....R.
LNSGOGSNL

23 :
囲碁や将棋で一番アツいところは、コンピュータの思考ルーチンだと思う。

24 :
  ∋8ノノハ.∩   http://endou2.kir.jp/hankaku11.html#.2ch.net
   川o・-・)ノ <先生!こんなのがありました!
http://endou2.kir.jp/hankaku04.html#.2ch.net
http://endou2.kir.jp/hankaku03.html#.2ch.net
http://endou2.kir.jp/hankaku10.html#.2ch.net
http://endou2.kir.jp/hankaku05.html#.2ch.net
http://endou2.kir.jp/hankaku08.html#.2ch.net
http://endou2.kir.jp/hankaku07.html#.2ch.net
http://endou2.kir.jp/hankaku01.html#.2ch.net
http://endou2.kir.jp/hankaku06.html#.2ch.net
http://endou2.kir.jp/hankaku02.html#.2ch.net
http://endou2.kir.jp/hankaku09.html#.2ch.net

25 :
>>23
もち、ろん、です。
名人が最善手と次善手しか指さないと仮定すれば、1兆局面を用意
すれば、80手まではOKになる。あとは森田将棋に頼む。
よもや3善手を指すような事はあるまいが、そのときは灯台将棋に引き継ぐ。

26 :
http://www.leverage.jp/bloom/qry/search.qry?function=first

27 :
public class example3{
public static void main(String arg[]){
int banmen[][] = {
{2,3,4,5,8,5,4,3,2},
{0,7,0,0,0,0,0,6,0},
{1,1,1,1,1,1,1,1,1},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{10,10,10,10,10,10,10,10,10},
{0,15,0,0,0,0,0,16,0},
{11,12,13,14,17,14,13,12,11}};
char koma[] = {'.','f','y','m','s','g','k','h','o',
'.','P','Y','M','S','G','K','H','O'};
String syohai[] = {" ","先手の勝ちです","後手の勝ちです","引き分けです"};
int i, j, r;
{
for (i = 0; i < 9; i=i+1) {
for (j = 0; j < 9; j=j+1) {
System.out.print(koma[banmen[i][j]]);
}
System.out.print("\n");
}}}}

28 :
>>20さん
22の見ると、なんか将棋は素人っぽくてワロタ(悪い意味ではないです)

駒をテキスト表示するなら一文字で下記を使うと良いかも(下段は成り駒)
飛、角、歩、香、桂、銀、金、玉
竜、馬、个、仝、今、全

29 :
>>28
はじめて見るアイディアで参考になります。色携帯、アジアスタンダードには良いかもしれない。
敵方表現で4バイトは必要?
当方、敵駒含めても1バイトで表現したいので、大文字先手、小文字後手、
日本語成らず、英語(フランス語)成り、で。 改定版は
fymsgokh,plnagobr
チェス屋含めてインターナショナル。

30 :
試しに76歩、77歩を10億回まわして見た。P4、2.4Gで約10秒。
結構速いね。秒速100万手も夢ではない。 (劇刺で数十万手らしい)
'fymsgokh'は「フィムスゴコホ」と読む。タバコを吸うとスゴく咳き込む。
public class example3{
public static void main(String arg[]){
int banmen[][] = {
{2,3,4,5,8,5,4,3,2},
{0,7,0,0,0,0,0,6,0},
{1,1,1,1,1,1,1,1,1},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{17,17,17,17,17,17,17,17,17},
{0,22,0,0,0,0,0,23,0},
{18,19,20,21,24,21,20,19,18}};
char koma[] = {'.','f','y','m','s','g','k','h','o','p','l','n','a','g','b','r',
'.','F','Y','M','S','G','K','H','O','P','L','N','A','G','B','R'};
long i, j, r;
for (i=0;i<1000000000;i=i+1){
banmen[6][2]=0;
banmen[7][2]=17;
banmen[7][2]=0;
banmen[6][2]=17;
}
}}

31 :
初期面:
's00000000000000ymsgogsmy1h5k1fffffffff999FFFFFFFFF1K5H1YMSGOGSMY'
この派板にチェスはなかったのか。



32 :
'S0000000000000000ymsgogsmy1h5k1fffffffff999FFFFFFFFF1K5H1YMSGOGSMY'

33 :
困らないか、盤上の駒数を計算すれば、足りないものが持ち駒。
0S5210y4o1my1y2gs1g1f4f1ff4s1f4bm2F3F2FS3F2G1F2F2S3H2YMOG3MY
0:平手
S:つぎ、先手番
5:先手持ち歩5
2:後手持ち歩2
1:先手持ち角1
0:後手持ち角0
任意の局面から、100万分の1秒以内で合法的な手を指したい。
200行から400行のプログラムで達成できればなんとかなるか。
9一に自分の駒があるか
8一に、、、、、
3五に自駒あるか、yes
  自駒は前にひとつ進めるか、yes
  進む先は盤内空枡または敵駒か、yes
候補手決定、return

34 :
>>31-33
>'S0000000000000000ymsgogsmy1h5k1fffffffff999FFFFFFFFF1K5H1YMSGOGSMY'
この暗号みたいな文字列が何を表わすのか教えて栗

35 :
>>34
 まあ、なんとなく"ymsgogsmy"は"香桂銀金王金銀桂香"であろうことはわかるのだが。

36 :
>>34
2日古い旧版ですが、
"S0000000000000000"
S:次の手番、先手
00:先手持ち歩
000000:先手その他持ち駒の数
00:後手持ち歩
000000:後手持ち駒
小文字英字:後手盤上駒
大文字英字:先手盤上駒
数字:連続空枡の数
のつもりでしたが、持ち駒については、盤上に足りないものだけを
表示すればよいことにした。
「何手目まで指したか」の情報も入れたほうが良いかな。
チェスプログラマからのアイディアですが、あちらは持ち駒がない。

37 :
>36
なるほどあの文字列はそういう風にゲームの状態を表していたんですね。
当方将棋やチェスのプログラムを組んだことがないのでよくわかりませんが
初期状態としてプログラムを実行するときの引数などに与えれば、テストを
行ったり詰将棋を解かせたりするときに便利そうですね。
ただちょっと人間が読むにはちょっと読みにくい形式なので、例えば次のような
感じにセパレータをいれてみたりして読みやすくしてはどうでしょうか?
先手番:00000000:00000000:ymsgogsmy/1h5k1/fffffffff/9/9/9/FFFFFFFFF/1K5H1/YMSGOGSMY

38 :
>>37
人間にもコンピュータにもと「ふたまた」をかけたものです。
気にかけていただき恐れ入ります。
2台のPC間の通信、局面データを保存するときのキーなどを想定しています。
ちなみに>>33
'平手先手番:52:10:y4o1my/1y2gs1g1/f4f1ff/4s1f2/2bm2F2/1F2FS3/F2G1F2F/2S3H2/YMOG3MY'は
後手持ち駒:歩2
y・・・・o・my
・y・・gs・g・
f・・・・f・ff
・・・・s・f・・
・・bm・・歩・・
・歩・・歩銀・・・
歩・・金・歩・・歩
・・銀・・・飛・・
香桂王金・・・桂香
先手持ち駒:角1歩5


39 :
∨香 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄∨王 ̄ ̄∨桂∨香  後手:歩2
 ̄ ̄∨香 ̄ ̄ ̄ ̄∨金∨銀 ̄ ̄∨金 ̄ ̄
∨歩 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄∨歩 ̄ ̄∨歩∨歩
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄∨銀 ̄ ̄∨歩 ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄∨馬∨桂 ̄ ̄ ̄ ̄∧歩 ̄ ̄ ̄ ̄
 ̄ ̄∧歩 ̄ ̄ ̄ ̄∧歩∧銀 ̄ ̄ ̄ ̄ ̄ ̄
∧歩 ̄ ̄ ̄ ̄∧金 ̄ ̄∧歩 ̄ ̄ ̄ ̄∧歩
 ̄ ̄ ̄ ̄∧銀 ̄ ̄ ̄ ̄ ̄ ̄∧飛 ̄ ̄ ̄ ̄
∧香∧桂∧王∧金 ̄ ̄ ̄ ̄ ̄ ̄∧桂∧香  先手:角歩2


40 :
1人頑張ってる奴がいるな
コンピューター将棋スレッド11
http://game.2ch.net/test/read.cgi/bgame/1064575087/
おまいら最強の将棋プログラムしてみろよ part2
http://pc2.2ch.net/test/read.cgi/tech/1043246252/

41 :
だれか、Cで10億回まわして。

42 :
>>40
頑張ってますよ。

43 :
>>1
>c言語で作ったデータベースを使って人間と対戦できる将棋かチェス
データーベースはC,JRA無関係なので、作りましょう。
まずは先手、機械、19手まで。
1:76歩
3:
14歩:xxx;24歩:xxx;34歩:xxx;44歩:xxx;
54歩:xxx;64歩:xxx;74歩:xxx;84歩:xxx;
94歩:xxx;32銀:xxx;42銀:xxx;32金:xxx;
42金:xxx;52金左:xxx;42玉:xxx;52玉:xxx;
......


44 :
1手目は76歩:77760
3手目は後手指手にかかわらず26歩:27260
13140:27260
23240:27260
33340:27260
...
91920:27260
5手目
13140,14150:26250
...
33340,53540:39480
33340,41320:69780
...

45 :
1手目、3手目、コンピュータがいつも同じ手では面白くない。
1手目:30
2手目:30
3手目:8
4手目:26
5手目:4
6手目:16
7手目:2
8手目:12
9手目:2
10手目:8
.....
位が適当か、

46 :
30*30*8*26*4*16*2*12*2*8=40,0062,7200 すでに46億か、無理だ。
30*30*4*16*2*8*2*4*1*2=1474,5600 15百万、この程度か。
あと50手を先手1手、後手2手で、32百万、掛けると、
472兆、ちょっと苦しい。
8*30*2*16*1*8*1*4*1*2=491520 、30分の一になった。
16兆。 これで60手までOK
機械でうまくはじき出せるか。

47 :
相手の手を2手用意したのでは、すぐに定跡から外れて役に立たないか。
4手まで用意で、40手までで、1兆。

48 :
コンピューターの将棋は、終盤はプロ並の寄せをするようになったが
序盤から中盤はイマイチだからねぇ。

49 :
40手目まで先手後手5分の将棋を、コンピュータと強い人間が引き継いで指せば、人間勝利は当然。
では、130手で終局した互角の名勝負を、現在の最強ソフトと最強人間で指し継ぐとすれば、何手目くらいからが、良い勝負になるでしょう。

50 :
>>49
ま、言いたい事は大体分かるけど、もっと分かりやすい日本語使おうな(5分→互角)
ってか文章の最後のほうなんて、とても日本人とは思えんぞ。
あんまり将棋が指せない(棋力が低い)人なんだろうけど、
「40手目まで指し終わり、その状況がほぼ互角」ってのは、そうそうないと思うし、
お互いにプロ並の棋力があっても、なかなか互角だと断言できないだろうから難しいよ。
130手というと終盤の状況だろうし、その時点でもマァマァ長手数の部類になるから
「優劣なし、互角」と断言ができずに無理っぽい。
(矛盾してるっぽいが、もし本当に互角の状況なら手番があるほうが有利になる場合が多いのでは)

51 :
//www.colina.demon.co.uk/chu.html.
中将棋のソースがあった。
if timeRemaining == 60000 then do -- byo yomi
basicTime=sp.getByoYomiTime() -- 13 seconds - cautious
maximumTime=55 -- leaves 5 seconds in which to actually make the move
end

if abbrev.equals(String "P") then return "Pawn"
else if abbrev.equals("+P") then return "Tokin"
else if abbrev.equals(String "K") then return "King"
else if abbrev.equals(String "L") then return "Lance"
else if abbrev.equals(String "S") then return "Silver General"
else if abbrev.equals(String "G") then return "Gold General"
else if abbrev.equals(String "B") then return "Bishop"
else if abbrev.equals(String "R") then return "Rook"

52 :
JavaにBitSetクラスというものがあるのを偶然見つけた。
81枡での駒の存非をビットで表現するのに便利そう。

53 :
やさしいチェスプログラムがあった。
これを焼きなおして見よう。
//build start position
int [] org = {
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99,124, 22, 23, 25,126, 23, 22,124, 99,
99, 21, 21, 21, 21, 21, 21, 21, 21, 99,
99, 00, 00, 00, 00, 00, 00, 00, 00, 99,
99, 00, 00, 00, 00, 00, 00, 00, 00, 99,
99, 00, 00, 00, 00, 00, 00, 00, 00, 99,
99, 00, 00, 00, 00, 00, 00, 00, 00, 99,
99, 11, 11, 11, 11, 11, 11, 11, 11, 99,
99,114, 12, 13, 15,116, 13, 12,114, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99 };
for (int i=0; i < 120; i++)
board [i] = org [i];
//update screen
repaint ();

54 :
>>36
後手盤上駒、先手盤上駒の順に分けると:
'0S:lnsgkgsnl/1r5b1/ppppppppp/108/ppppppppp/1b5r1/lnsgkgsnl'
'0S5210:l4k1nl/1r2gs1g1/p4p1pp4s1p/4Bn/83/p3p2ps3/p2g1p2p/2s3r2/lnkg3nl'
左上隅から順に81枡で後手駒終わり、次先手駒。大文字は成り。
文字の種類が少なくなってすっきりした。
>>38、39  8二香は誤り、8二飛
>>30 banmen[7][2]=17;は誤り、banmen[5][2]=17;



55 :
大文字と小文字を逆にして見た。
'0S5210:L4K1Nl/1R2GS1G1/F4F1FF/4S1F4bN/83/F3F2FS3/F2G1F2F/2S3R2/LNKG3NL'
「0S5210:香4王1桂香/1飛2金銀1金1/歩4歩1歩歩/4銀1歩2/2馬桂
/83/歩2/1歩2歩銀3/歩2金1歩2歩/2銀3飛2/香桂王金3桂香」

56 :
一兆と一口に言っても1秒で1局面を評価結論出して行って3万年かかる。
10000,0000,0000/60/60/24/365.25=31688.08781

57 :
まずは盤が必要。
9x9
11x11
16x16
どれが良いか。9x10を延長して13x10+1にしよう。
なぜプラス1か?
99,99,99,99,99,99,99,99,99,99,
99,99,99,99,99,99,99,99,99,99,
99,18,19,20,21,24,21,20,19,18,
99,00,23,00,00,00,00,00,22,00,
99,17,17,17,17,17,17,17,17,17,
....
....
99,99,99,99,99,99,99,99,99,99,
99,99,99,99,99,99,99,99,99,99,99
のような感じ。99より48が良いか。
11x11の採用者は1列無駄だよね。チェスじゃないから
桂馬は横に飛ばないのに。

58 :
発見!! 64JAVA
J2SE Itanium v 1.4.2_02 のダウンロード
でも、ハードとOSの値段は??  あ、OSはRedHatでも良いか。

59 :
Itanium2はサーバー用か。Athlon64用だと良かった。


60 :
案1:
人間とプログラムが対戦する際、
人間側の選択肢を「2択」データベースで用意する。
例えば人間初手なら:
1:76歩
2:26歩
3:投了
その他の手は選択不可とする。
プログラム側の対応手を1手用意する。
初手より70手までで320億応手。
70手終了時点で、
歩:1点、小駒:2点、大駒:10点で集計。得点多いほうが勝ち。
これなら全ての手をゼロ秒で送り出せる。 遊べると思います?

61 :
ストレスが溜まると思う

62 :
中盤以降、どうやって2手に絞り込むのだ?

63 :
申し訳ない。へぼプログラムの考える最善2手だから、ロクな手では無いとおもわれ、
まずは携帯用ストレス解消用。ナズケテ「ストレス将棋」

64 :
序盤34手まで、13万通り、は過去局CDROMから頻出手を選ぶ。
以降は1局面あたり、プログラムで1000秒思考した結果最善2手を保存する。
PC1台で1314.9局面/年。1000台のPCにお願いして、131万局面。
約40手先、合計で74手まで用意できる。
コンピュータの考えた次善手をたどると実は人間側の勝ちになったりする?。


65 :
計算違いだ。34手目までは、過去の名局ただ1局のみをベースにする必要がある。
もしくは、最新の流行1局。こちらだと1年先の保証がない

66 :
計算バグ
PC1台で31557.6局面/年 (24倍を忘れた)
40台程度の協力者でよい

67 :
40手までの「2ちゃんボードゲーム板標準手順」を将棋の強い方に上げてもらおう。
その後の30手をDB作成する。まずは1秒思考版で。

68 :
1. 盤、Bang、 は取りあえず 9x9=81の一次元配列にしよう。
  あとで変更するかも知れない。
2. 駒、 こちらも適当に、
   先手歩:16、先手香車:17、後手歩:32、、
3. generateArandomMove()
乱数で合法手を1手作成して返す。 
4.何局か指して、勝率の良いもの選ぶ。
計画
1.詰め将棋、1手詰め
2.詰め将棋、3手詰め
3.詰め将棋、5手詰め
4、次の一手問題
5、2日制将棋1日目終了後指し継ぎ
6、序盤データベース



69 :
944422200
....K....
.........
....g....
.........
.........
.........
.........
.........
.........
000010000
1手詰め、持ち駒、金
ランダムに3手指し終了した時点で駒台に敵玉がのっていれば
勝ち、その他は負け。


70 :
50万回試行した。結果は、、、、、、
41金:702
61金:727
42金:540
52金:663
62金:588
ちょっと予想と違う結果になった。
61金、62王、のあと9分の2の確率で王を取る。
52金、61王、のあと10分の1の確率で王が駒台にのる。
とりあえず理屈には合って居そう。
「逃げる」「取る」手を覚えさせれば、なんとかなりそう。
次の1手詰めをやってみよう
844322100
.........
......G..
.........
......dsK
........G
.........
.........
.........
.........
000000000
持ち駒無し


71 :
>>70
61金で41王に逃げる確率は5百数十分の一、
王が移動しなければ、9分の一で、王確保。
52金後、王が移動しないと10分の一で王捕獲される。
「取る」プログラムが「逃げる」よりは簡単そう。
あと何を工夫するか。
王手をチェックすれば、大幅に高速になるのは「見え」てるが、指し将棋の
強化には約に立たないから後回し。
次の1手詰めは50万回では差が出ない、500万回、朝までかかる。

72 :
>>70
10万回で
23銀不成り:468
23銀成り:341
35銀:245
少しはずしているが、まあ、近い。敵玉が逃げない場合も含めての敵玉捕獲確率のようなもの。
一気に次の1手問題。
601000000
LKS.....L
..S.r....
....B..PP
.PpG.....
P.P....p.
p.Nng.p.p
kpn..p.r.
..g......
l....B..l
000012000 持ち駒金銀2、(95歩まで) 500万回
先手生駒:plnsgbrk 先手成り駒:tycagmd
英語圏でも将棋プログラムを開発しているから、あまり外れないほうが良いか。(少なくとも生駒)
桂馬の「桂」は何の意味があるのだろう。金銀さんご、、、、、、などの言葉があるから、「珊瑚」に関係ないのかなーー。それで、 coral にしてみた。大外れかもしれない。



73 :
500万回で最頻手は92銀:5883回。
お目当ての手は第16位で1739回。 約150の可能手の内。
終盤なので、玉の防御をすれば、もう少し良くなるか。


74 :
中盤の問題。 100万回。
400100000
LN...G.NL
......SK.
P........
..PBPR.P.
.P.P..P.P
p.pN.p...
.pb.pg.rp
......s..
ln...g.kl
000011000

75 :
初手48玉、第3手59玉と出た。

76 :
中盤問題は本の正解とは異なる66角。それでも某ソフトと同じ。
もっと序盤問題から:
000000000
LN・GKGSNL
・R・S・・・B・
P・PPPP・PP
・P・・・・P・・
・・・・・・・・・
・・歩歩・・・・・
歩歩・・歩歩歩歩歩
・角・・・・・飛・
香桂銀金玉金銀桂香
000000000
先後逆
先生の正解は68飛だが、、、
とりあえず、王の防御だけは入れた。20回に1回防御しない、そのとき駒台に上げられる。つみ判定しなくて良いから省力

77 :
ほう、なんか面白いことやってる人がいますな。
1手指すのにものすごい時間かかりそうだが。

78 :
将棋ソフトの探索速度、秒速数十万手だそう。
DeepBlue の速度は秒速: 200Million moves だそうです。

79 :
>>76
あまり序盤すぎて、どうにもならない。65歩と68飛が嫌われた手。
王が動くのが好まれて居る、が、
可能な局面の数と、乱数そのものの数に圧倒的な差があるので、乱数の偏りを見ているのかもしれない。
もう少し局面を進めて見よう。
000000000
LN・・・GBNL
・R・・G・S・・
P・・P・・SK・
・・P・PPPP・
・P・歩・・・・P
歩・歩・銀歩歩歩・
・歩角・歩・桂・歩
・・・飛金・銀玉・
香桂・・・金・・香
000000000
200万回、嫌われた手:75歩:−236点
推奨手:25歩:1189点、45銀:637点、29玉:532点
どうなんでしょうか。先生推薦手は別の手。


80 :
全然駄目だ。25歩は確率的に取って来ない、24歩、20回に1回逃げない、敵玉捕獲確率が高い。
45銀も同じ、34銀、高確率敵玉捕獲。
相手が悪い手を指してこちらが勝ったとき、相手が良い手を指してこちらが勝ったときで、同じ1勝ではdame.
改善!

81 :
先手第1手目が10000勝10000敗とする。
第2手目が後手側100勝1敗の手で、この対局に先手が勝った場合:
100点与える。
負けた場合:1点引く。 やってみよう。

82 :
うーん、バグフルだ

83 :
正月の休みに虫と戦えり
新年にバグ取れぬ間は目出もせず
新年にバグの取れたるめでたさや

84 :
休みは終わり、バグとりまずまず、局面で勝った手を再使用。
秒速約5000手。1000倍速必要。次の課題はキラー手の採用。
特定手の生成、王手、取る手、逃げる手、成る手、を高速に生成したい。

85 :
詰め将棋に限って言えば、詰んだ王将の位置を想定して
その逆順で手を考えるってパターンもありかもしれないと想像。
完全に詰んだ形でしかも持ち駒無しっていうかなり限定された状況だし
自分が詰め将棋考えるときにそうしてるから。

86 :
「想定」はコンピュータの不得意科目だから難しそう。
詰め将棋に関しては、現在ソフトは人間を超えてる模様。後発組はなかなか追いつけない。
序盤はすごく弱いとの評判だから、、、なんとか、、、 序盤で差をつけてそのまま、、、

87 :
いまのところ、あまりうまくいってない。バグなのか、、
ある新出局面が与えられる: 可能な指し手は200.そのうち190手以上が凡手。
全手試すと時間が足りない。如何に良い候補手を選ぶか、、  取る成るとか言っているとまた時間がかかる。
局面から何手目かの別に成功(killer)手を集積しようか。
手目別キラー勝率順、、、  どう?
みんな、序盤がだめって言ってる、、、  

88 :
>>87
君は>>1なのか? それとも>>20かな?
とにかくガンガレ

89 :
おーっ援護だー、有り難い。100まで行くのに半年、1000までいけるかな、新スレッドの立て方知らないし、心配ないか。


90 :
負けてるくせに、手を変えないバグ発見。ゆっくりなおそう。
乱数将棋の強さをゼロとして、C将棋の強さ標準を作成することが可能。
2枚落ちで勝率5割なら600点、それにまた2枚落ち5割で1200点、、、、
絶対零度のようなもの、、、ケルビンじゃなく、ボドゲー8000点とかで呼んでください。
うちの特許じゃよ!

【香 落】100点
  【角 落】250点
  【飛 落】350点
  【飛香落】450点
  【二枚落】600点

91 :
6手まで指し終った段階で一歩でも取られていれば負け。
76、34、26,84、66は66同角で先手負け。

92 :
n手まで将棋:n手まで指し終わり駒損の方が負け。
n=6:
76,14,56,13角、78銀、
n=8:

93 :
データベース:
第1手目76歩、第3手目26歩として、第5手目を準備しよう。
約900手くらい。第7手目は3万手以上か。後手の全手に対応。

94 :
グッドニュース:ひと月ぶりのバグ取りでやっと3手詰めが解けた。
5万局あまりの試行で発見。攻め手は王手に限ってないので、もち駒ありだとどこでも打って試す。29飛車とか
30万手程度だから、高速プログラムなら1秒以内か。とりあえず、というとこか。
30分程度かかった。秒速200手、デバッグ付きだから。
000000000
・・・・・・・・・
・・・・S・・・・
・・・N・銀K・P
・・・飛・・・・・
・・・・・・・・・
・・・・・・・・・
・・・・・・・・・
・・・・・・・・・
・・・・・・・・・
001010000
飛金

95 :
32金、
43玉、
33飛車、
31桂馬:20分の1の確率で王手を無視して自由に指す。それにしても玉を取り返す気か。
     20分の19はギブアップして決着する。
74飛車:王手を逃げないからと言って直ぐに取るとは限らない。あくまでも自由に。
95歩:玉将健在で後手の勝ち
次の問題
000000000
・・・・・・・・・
・・・・・・・・・
・・・・・・・・・
・・・・・・・・・
・・・・・・・・・
・・・・・・竜歩・
・・・・・歩歩・b    b=後手馬
・・・・・銀K・・
・・・・・・・桂香
001010000
飛金


96 :
>>95
×:玉を取り返す
○:玉を取られて、飛車を取り返す
後手後手言わんで玉方かな。
日本語でもこれだけバグが出る、、、

97 :
コチコチコッチン、ボドゲーさん
................、動いてる
にーにの角と、はーちはちの角が
こんにちは、さようなら
ちくたくコッチン角交換
「最強」もり上がっているな、、、わが道を行く、、、

98 :
まずは頑張れー。

あまり盛り上がるとあちらでは板違いなりそう。
まだゲーム関連ではおまいら最強の2スレッドだけなんでいいが…

99 :
お、訪問者だ。誰も来ないと思って、のんきに替え歌なぞ歌って失礼しました。
ちらかっていますが、、

100 :
やっ、どもども、お構いなく。
いつもは読み込み専門でしたが、陽気な替え歌に誘われてつい。
また不意にお邪魔します。

101 :
表示実験。
MSゴシックでOKだが、MSP(Proportional)だと表示がずれる。
<font color=red/>L
LNSGKGSNL
◇◇◇◇◇◇◇◇◇
PPPPPPPPP
◇◇◇◇◇◇◇◇◇
◇◇◇◇◇◇◇◇◇
◇◇◇◇◇◇◇◇◇
歩歩歩歩歩歩歩歩歩
◇角◇◇◇◇◇飛◇
香桂銀金王金銀桂香

102 :
やはり英字はうまくいかない。「ツール、インターネットオプション、フォント、MSゴシック」
でお願いします。

103 :
>>95 の5手詰めがまだ解けない。バグを数個直した。このバグありでよく3手詰めが解けたものだ、と再度解かせてみたら7万回試行で解決。
5手を解くには、1,3,5,7手目が正答である必要がある。確率で行けば、1手目正解が160分の一、3手目が100分の一、5手目80、7手目、10として
1280万回に1回正解が出る。 現在、100分、42万局、秒速492手で進行中。
持ち駒のない問題が簡単か。 postが100を超えた。


104 :
相手の手の場合の数もあるので、正解に遭遇する確率はもっと小さい。
持ち駒が多い、飛車角が多いと難問となるので、新問題に変更。
000000000
◇◇◇◇◇角◇◇L
◇◇◇◇飛◇と◇◇
◇◇◇◇◇R◇K◇
◇◇◇B◇◇◇PP
◇◇◇◇◇◇歩◇◇
◇◇◇◇◇◇◇◇◇
◇◇◇◇◇◇◇◇◇
◇◇◇◇◇◇◇◇◇
持ち駒なし

105 :
ふらりと寄ってみた。なんか色々頑張ってますな。
ここを見てふと思った。
詰め将棋って王の側の選択肢をどんどん少なくしていくゲームなんだよな。
最終的に選択肢が0で詰み。
つまり王が動く時に選択肢が少ない手を優先させれば
余計な探索は減るだろうと思った。
でもここのやり方とは違うから参考にはならんね。スマソ。

106 :
お立ちよりありがとうございます。といっても私のスレというわけではないが。
詰め将棋特化ならそれがいいらしい。今のところ、序盤プログラムのデバッグに詰め将棋を利用している。
そろそろ16時間になるが、100万局以上で結論が出ない。今夜半までには何とかなって欲しい。
それとは別に高速化と序盤DBでも考えよう。

107 :
>>105
それは証明数による探索。脊尾詰。

108 :
なんだか「最強」の序盤DB、考えがこちらと似て来た。急がないと。

109 :
以前、七行プログラムで将棋がありましたよね。駒打ちはなかったようですが。今見つからない。

110 :
21と、キタ−−,108万局疾走中。まだ勝率5割以下だが、あと11万局勝てば5割超。玉方の手がめまぐるしく変わる、、バタバタしている。
やったね。

111 :
RedHat9に付属の Iagno 2.2.0 なんだけど、レベル3でやると猛烈に時間が
かかる。(5手目辺り)3分くらい待っても打たないから終了させたけど、
せめて時間だけでもカウントして欲しい。PC側も思考中にカウントしてな
いとハングしたと思ってしまう。(もしかしてマジでハングか?) メール
しようと思ったけど英語できねーからここでちょっとグチ。。。

112 :
>>111
ソースハック汁

113 :
史上初!!!
対局可能な大局将棋ソフトができました。
世界最大の将棋がプレーできます。
今どんどんアップデートされてます。
コンピューター同士の対局も可能。(数分で決着がつくw)
詳しくはここで
大局将棋を指しましょう2《第1局第2譜》
http://game6.2ch.net/test/read.cgi/bgame/1073993361/


114 :
Linuxで逆さの漢字を表示しようとすると地獄なんですけど、皆さんどうしてますか?
Xlib を使って強引に表示するという手もありますけど・・・・・・。

115 :
>>114
ttp://www.logos.ic.i.u-tokyo.ac.jp/~gekisashi/download.html

116 :
>>115
教えて頂いてありがたいのですが、残念ながらアドミンじゃないのでインストール出来ません・・・。

117 :
>>116
X Serverさえ手元の端末で動かせれば何とかなる。ガンガレ。
Knoppixなりcygwinなり何なりでなんとかならんか。

118 :
>>117
Windowsに移植したいのではなくて、Linux環境(の麻疹)のほうで実行・表示したいのですが・・・。
逆さ文字が駄目ならせめて、画像ファイル(データ)を読み込んで、
その画像をWindow上の任意の場所に表示できるだけでもいいです。
たったこれだけのことですが、表示するだけの方法ならいくらでもあるのですが、
Window領域(グラフィック領域)の任意の場所に表示となると、途端に方法が見つからなくなってしまいます。
思考ルーチンをCPUの速度で実行したいので、出来ればC言語でやりたいです。
こうなると、やはりX Windowを使うしかないのでしょうか・・・。
出来ないことはないですが・・・。

119 :
>>118
移植とは関係ないよ。
LinuxとかXとかの理解に誤解があるんだろうけど、
勉強していけばそのうちわかるだろうからいいや。
画像なら画像で、Javaとパイプでつなぐもよし、Tcl/Tkを呼ぶもよし、
QtかwxWidgetsで少し本気にGUIプログラミングするもよし、好きにしたら。

120 :
>>118
SDLじゃダメなの?

121 :
ttp://up.isp.2ch.net/up/79ab1d38086e.c
オセロゲームを作ってみました。C言語です。
テキストベースなので、どの環境でもコンパイル出来ると思います。
Windows環境のコマンドプロンプトで開発したので、漢字コードはS-JISになっています。
unixなどだと文字化けするかも知れません。
結構強いです。

122 :
そのアップローダーは流れが速いからもう落ちてるぽい。

123 :
皆さん世界で一番強いチェスのAIを作り上げましょう。
typedef enum {B_KING  = -6,B_QUEEN = -5,B_ROOK = -4,B_BISHOP = -3,
B_KNIGHT = -2,B_PAWN = -1,NONE=0,
PAWN=1, KNIGHT=2, BISHOP=3, ROOK=4, QUEEN=5, KING=6} PieceT;
typedef enum {A1=0, A2, A3, A4, A5, A6, A7, A8,
B1, B2, B3, B4, B5, B6, B7, B8,
C1, C2, C3, C4, C5, C6, C7, C8,
D1, D2, D3, D4, D5, D6, D7, D8,
E1, E2, E3, E4, E5, E6, E7, E8,
F1, F2, F3, F4, F5, F6, F7, F8,
G1, G2, G3, G4, G5, G6, G7, G8,
H1, H2, H3, H4, H5, H6, H7, H8} SquareT;
皆様どうな手法・探索方法でも構いません。
ありとあらゆるやり方でレスポンスの早くて弱いAIからレスポンスが早くて強い
AI。ありとあらゆるやり方でAIの部分だけ考えていきましょう。
とりあえず上のに基礎的な部分をつけるんでそこからは皆さんの力をお借りしながら
地道に強くて早いAIから弱くて遅いAIも作ル予定です。
皆様の案やアルゴリズムの知識をお借りして作り上げていく所存でございます。
では失礼します。

124 :
これ使ってリバーシ作って誰か対戦してみない?
http://www.vector.co.jp/games/soft/win95/game/se301574.html
GUI部分は作る必要ないらしい。C#みたい。
.NET Framework SDK(無料)で作れると書いてある。


125 :
DLLで作った思考ルーチンを対戦させるリバーシ
http://lily.xrea.jp/hikky/index.php?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%BB%A8%C3%CC%2FReversi

126 :
対戦きぼんぬ!

127 :
将棋・オセロ・囲碁・チェス・その他ボードゲームでソースが公開されている
サイトなど知っておられる方おりましたら教えて頂けますか。
よろしくお願いします。

128 :
>>127
こことかは?
http://www.cv.its.hiroshima-cu.ac.jp/~kazutaka/othello/index.html

129 :
思考ルーチン作りました。対戦きぼんぬ!
http://www.geocities.jp/team8bit/AIReversi/ai_place.htm
EasyAI
AIリバーシ
リバーシ(オセロ)のフレームワーク。
UI等やルール等のプログラミングを必要なくして、
オセロの人工知能の作成ができます。作成した人工知能で
コンピュータ同士の対戦や人間との対戦ができます。
http://www.geocities.jp/team8bit/

130 :
age

131 :
>>129
昔作ったオセロを移植中。

評価関数が正しく機能してなくて、
あからさまに変な手を打つ・・・。
勝てるかどうかだけでも確かめたいんだけど、
これってコンピュータ対人間ってできないのかな?

132 :
>>>>>>123
なんでチェスなん、しょうぎにしなはれ、てつだうよ

133 :
>>124
.NET系しか無理なの?ネイティブな言語を使えるならちょっと興味あるんだけど。

134 :
>>131
人間用のDLLをロードすればコンピュータ対人間ができるよ。
ダウンロードしたアーカイブに含まれる「man.dll」
>>124
.NET系のみです。
そういわずに.NETで興味持ってください。
EasyAI 対戦希望中!
ttp://www.geocities.jp/team8bit/AIReversi/ai_place.htm#reversi8

135 :
>>134
お、ありがとん。
バグは直ったけど、勝てないw
Sample2が妙に強いような・・・

136 :
>>131
完成したら対戦みてみたいので公開きぼんぬ。


137 :
>>134
対戦ログ吐かないの?
リーグ戦とかできないしAI作るのに向いてなさげ

138 :
>>136
ttp://up.isp.2ch.net/up/9407e4644e2e.zip
弱いよw
パラメータを適当に調整してたまたま勝つ時も
あったけど、アルゴリズム的には確実に負けてるぽ。

139 :
>>138
パスワードは?

140 :
とりあえずwiki作ってきた
http://gamdev.org/w/?OthelloWiki
パスのメッセージボックスが出た後放置すると不具合が出るので
作者さん見てたら修正お願いします。

141 :
初期配置が変
正式には左上が白
これはダメ
●○
○●
これが正解
○●
●○

142 :
http://gamdev.org/up/img/1978.lzh
ランダムに打つ・・・・だけです。
やっと作り方がわかってきた。
やっぱ説明よむよりソース嫁だな。

143 :
>>139
すまーん、昔パスワード設定してたのがそのまま
残ってた。パスワードも忘れちゃった。。。
というわけで、再あっぷ。パスワードはありません。
ttp://up.isp.2ch.net/up/a5e050cbaeeb.zip

144 :
AIリバーシの開発者です。
いろいろ修正箇所があるみたいなので、
近いうちに修正します。
リーグ戦モードとかもほしいですね。
選択した、複数のdllを対戦させて結果を集計する。

145 :
保守あげ

146 :
>>141
アメリカ式だと逆じゃなかったか?
Yahoo USAに行けば分かる

147 :
>>146
各国(アメリカ,オランダ,ドイツ,イタリア,フランス,イギリス)のオセロサイト@日本オセロ連盟
http://www.othello.gr.jp/link/link.html
ここからリンクされてる解説では左下が黒
Y!USA以外にも左下が白になってるゲームをいくつか見つけたけど
Y!USAですらロゴは左下が黒
ttp://us.i1.yimg.com/us.yimg.com/i/us/ga/sl/rv.gif 
ロジステロ、WZebraなど有名ソフトは左下が黒
(オプションで逆にできるソフトもあった)
などから考えてY!USAがあまり深く考えて無かっただけだと思った

148 :
観戦する人が真横から見た状態と考えてみる

149 :
これって順位はどうやって決まるの?
エロい人おしえて。
http://gamdev.org/w/?OthelloWiki

150 :
>>149
ただの総当りで順位とかは考えてないです。
わかりやすいようにwikiに勝敗数を書き加えておきました。
先手後手を入れ替えて同じ相手と二度戦います。
基本的には一発勝負ですが時間切れなどは再試合となります。
強さの目安とAI作成のやる気に繋がればと思い表を作成しました。
このスレでアップされたAIは全て戦わせていこうと思っています。
>>左下に白or黒?
他のソフトにあわせていただけると対戦させるときに楽ができていいなぁ・・・なんて。

151 :
AIリバーシ1.4キタ━━━━━━(゚∀゚)━━━━━━ !!
http://www.geocities.jp/team8bit/index.html

152 :
新しいAI来ないね。
>>150
勝敗数同じ場合は、全対戦で取得した
こまの数の多いほうが勝ちですか?

153 :
漏れもオセロ作り始めました。まだ思考ルーチン書いてない&Javaだけどよろ。
ttp://f57.aaa.livedoor.jp/~javagame/#othello

154 :
もしよかったら皆さんで作りませんか?
【開発】いただきストリート?オンライン【似てる】
http://game10.2ch.net/test/read.cgi/netgame/1103952787/

155 :
簡単な盤面評価のみでCPUの手を決定するリバーシ作ってみました。
http://www.sm.rim.or.jp/~shishido/rev.html
さすがに「先」のこと何も考えないプログラムだとCPUに負ける方が難しい(^^;。
CPU同士の対戦は爆笑物w

156 :
nage

157 :
角周りは取らないぐらいしとけよ・・・

158 :
とりあえずRPGツクール製オセロに負けるな
ttp://suppy1632.hp.infoseek.co.jp/game/index.html

159 :
AIはLispが開発効率が良いと聞いた

160 :
>>159
迷信
同じ関数型言語ならライブラリの量が決め手。

161 :
あと、リストを効率良く扱える言語。

162 :
最近の型推論のある関数型言語に触っちゃうとLispは不便に感じる

163 :
将棋,チェスでの詰みの判定ってどうやるんだ?
俺にはまったくわからん(;´Д`)

164 :
王を取る手の評価を評価できる値の最大値として
王を取られる手の評価を最小値とする。
指すことができる手がどれも最小値なら詰み。

165 :
手番側に御飯がなかったら詰み

166 :
間違えた、
手番側に合法手がなかったら詰み

167 :
ゲ製技板のみなさん、こんばんわ
現在囲碁将棋板では百人組み手なるイベントを開催してます
開発したアルゴリズムを人間相手に試してみませんか?
興味あるかたは是非遊びにきてください
  ∧_∧ パチ!
  ( ´∀`) < 王手!  2次でもやります
  (_⊃__)__  ∧_∧
  (_|\キキキ(∀`; )   【 百 人 組 み 手 】
   “ヾ | ̄ ̄゛と  __)
     “ ̄ ̄ (__)_)   目指せ全板交流!
プレ開催 2日(土) 3日(日)
本開催  8日(金) 9日(土)

4/2(土)から Yahoo!GAMESにて開催!
囲碁・将棋・チェス・オセロに腕の覚えのある奴、ない奴、
今すぐ http://igoshogi2.hp.infoseek.co.jp/kumite.html に来たれ!!!
詳しい時間、受け手の有無などは当日下記のスレをご覧ください。
第2回2ch人気トーナメント特別対局【百人組み手】
http://game9.2ch.net/test/read.cgi/bgame/1110773385/

168 :
Bonanza?

169 :
http://www2.odn.ne.jp/yourswow/uku/gallery/sai.gif
そこに打つのでおじゃる。

170 :
四通八達図式を自動的に導き出すプログラムをC言語を使って作りたいんです
が、参考になるサイト、または本があったら教えてください。

171 :
ここの「囲碁プログラムの作り方[基本編]〜[上級編]」は参考になるよ
ttp://homepage1.nifty.com/Ike/katsunari/

172 :
【人間】対局禁止令【ソフト】
http://game9.2ch.net/test/read.cgi/bgame/1129306415/l50

173 :
489 :デフォルトの名無しさん [age] :2005/11/16(水) 09:16:51
「コンピュータ囲碁の入門」出た
ttp://www.kyoritsu-pub.co.jp/shinkan/shin0511_02.html

174 :


175 :
六角形オセロ
ttp://www.forest.impress.co.jp/article/2006/03/16/hexalreversi.html
つまらん。('A`)
というか、普通のオセロの方が奥深い気がする…

176 :
円形オセロ

177 :
誰か囲連星の強いプログラムを作ってくれ。
http://irensei.com/

178 :
>>177
たしかに弱い

179 :
保守

180 :
オセロの簡単な裏返し判定の仕方がわからん!
思いつくのはめんどくさいものばかり・・・。
5行ぐらいで書けんものかね

181 :
普通に書いても5行くらいじゃないかね。
}だけの行とかを省けば。

182 :
それをぜひ教えてもらいたい

183 :
皆さん:
私はc言語を勉強し始めたばかりなので、何方が教えて欲しいんですが、”typedef”って何ですか。分かっている方に説明して頂く、もしくは適当なホームページを教えてください。
メールアドレス:ou-gain@hotmail.co.jp

184 :
型名の定義

185 :
構造体をつくるのに typedef struct 型名{〜} って書く以外に使った事がないな。
他に使い方あるの?

186 :
関数ポインタ

187 :
ボイーンた

188 :
関連スレ
http://pc8.2ch.net/test/read.cgi/tech/1166749119/

189 :
>>188
昨日からいろんなスレageてる阿呆か
いい加減にしろ

190 :
最近囲碁にハマってるからなんか作ってよ

191 :
盲人がキーボードだけで出来る将棋ソフトなんてないでしょうか
http://siva.cc.hirosaki-u.ac.jp/usr/koyama/syogi/
今これを使ってみているんだけど、不具合が多くてなかなか進まない

192 :
>>191
ここは、作る人の板なので、板違いですよ

193 :
http://e.x0.com/~i-mode/iothello/game/

194 :
CUDAなどを使ってGPUで計算させると面白そうだ。

195 :
コンピューターの読みを出力させるにはどうすればいいの?

196 :
実際の音声で単語を録音して、組み合わせるしかない

197 :
やはり女性の声がいいですよね、探してみます

198 :
>>180
オープンソースでいくらでもあるからわからないってことはないだろ
おれが難しく感じるのは評価関数のほう、膨大な棋譜から学習しないと
パターンの重み付けができない・・・

199 :
オセロはとりあえず、全検索で獲得枚数で重み付け出来れば形にはなる。
環境によって5〜6手読めればそこそこ強いんじゃないか?オレはその時点で勝てない。
定跡は難しいね。そもそも定跡あるかも知らん

200 :
200

201 :
201

202 :
http://www.meby.net/user/wailing/shogi/
http://www.meby.net/shogi/room1.html

203 :
関連スレ
http://pc11.2ch.net/test/read.cgi/tech/1173784074/
http://pc11.2ch.net/test/read.cgi/tech/1175841191/

204 :
室内ゲームのオリンピックとかあったら面白そうだよね(´・ω・`)下は主な種目
バックギャモン等の勝敗が運という不確定要素で変わるものは除外
囲碁
将棋
麻雀
チェス
チェッカー
ダイヤモンドゲーム
オセロ

205 :
>>204
Mind Sports Olympiadってのがあるよ
http://www.msoworld.com/Olympiad/index.html

206 :
>>204
バックギャモンより麻雀のほうが運の要素が高い気がする

207 :
麻雀は非公開の不確定でしかも通常4人だろ

208 :
確かに不確定要素除外なら
二人零和有限確定完全情報ゲーム限定になってしまうね。
バックギャモンは上手い人には勝てないし
覚えたての人には絶対負けなさそうだけど
麻雀は半荘だとルールを知っただけのその日に
トップを取れることもあるから
麻雀のほうが運の要素が高いと考えてるんだけど。
確かに麻雀は研究が進んでないから
勝負になるのかもしれないけどね。

209 :
伏せてある要素を知らない限り運だろ

210 :
配牌要素のある麻雀がありなら、UNOもありになるな。
不確定要素もありにして、数回勝負にするほうがよくね?
あと、個人的にはジェンガなんかの手先系も欲しい。

211 :
>208
207だが、だから運の要素が強いんだよな?

212 :
うん
伏せられてる要素を知っちゃったらプレイしてるとは言えないから

213 :
麻雀って研究進んでない?
最善手の検索自体は頭打ちのようなキガスルが。

214 :
今将棋ソフトをC#で作ってます
ベースの将棋プログラムがあって
AI部分はそれぞれのプログラマがdllで書いて、みんなでdllファイルをうpし合って対戦
みたいなのがあればなと思っています
.

215 :
つ 将棋所

216 :
>>215
わかってねーな
他にソフトが有ろうと無かろうと関係ねーんだよ

217 :
これから何かを学ぼうとする人間の態度じゃないな、この雑魚

218 :
>>215
ほーこういうのが既にあるんですね
ちょっと作ってみるかな

219 :
思考エンジンを>>218がうpしてくれるのwktkしてまってる

220 :
まず将棋の駒なんだがダサい。
もっとチェスみたいにセンス良いのに変えて。
それと動かし方も特殊なの作って。

221 :
そう思うなら自分が作れば良いのに

222 :
チェスの駒なんて幼稚でダサイ

223 :
古いチェスソフトだがBattleChess
コマが甲冑着た兵士で、動かすとそのマスまで歩いていって敵のコマを斬りつけて倒すのが衝撃的だった

224 :
>>219
ありがとう
ようやく合法手が打てるようになって、
駒はまだランダムに動いているだけ
完成まで何年かかるのかしらw

225 :
>>223
衝撃的でもなんでもない。
元が兵士だの王様だのの戦いだろが。
そういうのをゲームにしたのがチェスだろ。

226 :
>>225
ビジュアル的に衝撃的という意味だ、馬鹿がw

227 :
衝撃的でもなんでもない。
元が兵士だの王様だのの戦いだろが。
そういうのをゲームにしたのがチェスだろ。

228 :
ビジュアル的とか一切言ってない>>223が悪い

229 :
将棋もチェスも元が兵士だの王様だのの戦いなのは今さら口に出して言うことが恥ずかしいほどの常識
明言してないからと言ってそれを汲み取れない>>223が馬鹿

230 :
これだからチェス厨は┐(´〜`;)┌

231 :
ん、斬新な解釈じゃなくて、アニメーション効果に衝撃を受けたんじゃないのかと思ったんだが、
なんで古代の戦争を模したという常識を知らないという前提で叩いてるの?

232 :
どぞ。
デジタルゲームの最先端に立つ人々が集合した,「第4回ボードゲーム交流会」レポート
http://www.4gamer.net/games/000/G000000/20090209040/

233 :
ハゲタカのえじきとかなら、さっくりさくさく作れないかなあ

234 :
あげ

235 :
習作のため、一番簡単なゲームってなんだろ?

236 :
┌─┬─┬─┐
│  │  │  │
├─┼─┼─┤
│  │○│  │
├─┼─┼─┤
│  │  │×│
└─┴─┴─┘

237 :
言われてみれば確かにッ!

238 :
オセロ完全解析してゲ製作板大勝利しようぜ

239 :
うむ

240 :
例えばポーカーなんかで、
1枚ドローするところを、内部的に2枚引いておいて強い方を採用する…
っていうのは、プレイヤーにバレちゃうものだろうか。

241 :
採用しなかったほうを引く山に戻すならばれにくい。
捨て札にしたら、最後に山の数が合わなくなってばれる。

242 :
山札に戻すのは、当然として。
戻すときに一番上/下に戻すのと、ランダムな位置に戻すのとでは、また変わってきそうね。
対戦相手となるキャラ(コンピュータ)ごとに特殊能力が設定してあって、
ドロー運がとんでもなく高いキャラとかなら、十分に使える方法かなとは思ってるけれど。

243 :
失礼。
>242の1段落目は>241へのレス、2段落目は2枚ドローの話題全体へのレス。

んー、確率計算をちゃんとするプレイヤーには評判悪そうだなあ。

244 :
別所でコピペされてたヤツだけど、面白そうではあるな。
ttp://uecda.nishino-lab.jp/2009/

245 :

ttp://jbbs.livedoor.jp/bbs/read.cgi/game/6486/1055326755/231n-

246 :
将棋モドキなら昔から誰もがいくつも考えて出してる。
そのどれもが将棋を超えられなかった。
なぜなら新しくルールを覚えるのが面倒だから。
なので将棋型対戦ゲームは、面白くてプレイ人口が多いものに収束していってしまう。
新作側がそれを乗り越えるには、作り手がよほど苦労して広めるしかない。
ドラクエは実は構想時にはすでにドラクエ3の要素まで考えられていた。
ただ、いきなり3を出してしまうとプレイヤーがルールについていけない。
なので、ポートピア殺人事件というコマンド選択型ゲームをまず出し
次にドラクエ1でRPGの基本的要素を広め
続いて2で仲間を一人づつ増やしてパーティープレイ型を定着させ
それが出来てからやっとドラクエ3を出した。
どんなに面白いものでも、段階的に簡単なものから広めないとうまくいかない。
斬新ルールだが基本的な要素のみに特化した簡易バージョンが必要だ。

247 :
>>246
駒二種類減らした4面体(占領、武士、巫女、怨霊)ではどうです?
実際に作ったら、とても手が出せない見積もりを頂きましたので、
没にして6面体に戻しましたけど。
パソコン上で動かすだけなら、負担は減るはずです。
あと駒数を減らすのはOKです。
2個づつから試して慣れるごとに駒数を増やしていってください。
盤面を「5×5」にして試してもいいと思います。
あと「段階的に簡単なもの」があれば、お願いします。
ただ、以上のことを段階的に教えるのはともかく、
各段階のをつくれとかいわれるのは無意味だし経費的にも無理ですね。

248 :
そういう問題じゃねぇって。遊ぶ側に苦労を押しつけんなって言ってんの。
テキストでルールとだいたいの遊び方が説明してあるだけの
面白さがわからないゲームで、しかも二人必要だから相手にもルールを覚えさせて
なおかつコマやらボードやらも用意しないといけない、なんて今じゃ誰も手を出さない。
面白さの中心部のみを抽出してすぐに覚えられるゲームにして
フラッシュですぐに遊べるようにして、しかもそこそこ強いCPUが相手してくれる
ぐらいじゃないと、今は客が寄り付かないの。
本気で遊んで欲しいなら、あちこちコピペ貼り付ける苦労をするんじゃなくて
プログラム覚えて自分で完成させるぐらいの苦労をしろ。
俺は自分が遊びたいゲームを作るためにプログラムを覚えた。

249 :
>>248
そうですね。
例えは悪いけど勇者の手を引いて代わりにモンスター倒して
魔王のところにつれてってて言うくらいの親切さがないと
ダメかもしれませんね。
でもそれで面白いのって感じはしますが。

250 :
だからそういう問題じゃねぇって。
>面白さの中心部のみを抽出してすぐに覚えられるゲームにして
>フラッシュですぐに遊べるようにして、しかもそこそこ強いCPUが相手してくれる
のは、やってるゲームはあるけど
>例えは悪いけど勇者の手を引いて代わりにモンスター倒して
>魔王のところにつれてってて言うくらいの親切さがないと
なんてゲームはないだろうが。例えが悪すぎる。

251 :
ゲーム中の楽しい苦労と、ゲーム始めるまでの煩わしい準備の苦労を
同一視するから変な例えになるんだよ。
例えるならハイキングのちょっとした山登りだ。
山のふもとに行くまでに普通の市街地や住宅地を何十キロも歩くのは苦痛。
だから山のふもとまで行くバスが必要だ。ってのが俺の言いたいこと。
お前はそれを「だったら頂上までバスで行けないとダメかもしれませんね」
って言うから話がおかしくなる。
山登りの途中は景色楽しみながらの苦労だからいいんだよ。

252 :
コネクト6(六目並べ)
http://www.connect6.org/

253 :
>>248
ご指摘ありがとう。
俺はおもちゃ屋で将棋やオセロの隣に並べるのが目標だったから、
プログラム組むとかそういうのは考えてなかった。
ていうか、そんな技術持ってないし。
でも、おっしゃることはごもっともです。
どこかプログラムを替わりにつくってくれるところを検索して探してみます。

254 :
ああ、そっちの方で目指してるのか。なるほど。
でも、それもかなりの茨の道だぞ。
おもちゃ屋で定番になって対戦思考ボードゲームなんて
ホントその将棋やオセロか囲碁ぐらいしかないし。
その他のゲームは出ては消えていくだけの存在だ。
目指すとしたら、ドイツボードゲームの系統かな。
基本的にはサイコロやシャッフルカードを使うものだけど
まれに運要素無しのガチ思考ゲーもあったりするし。
でもその場合、最初に覚える要素が凄く単純なものしか残れないし、ウケない。

255 :
あと、プログラムを替わりにってのは、金出さないとまず無理だと思う。
ゲームを本気で広めたいなら、プログラムしてでも自分で作るべき。
それが出来ないなら、その程度の本気度でその程度のゲームだったって事だ。

256 :
将棋プログラムできるサイトない?

257 :
過疎ってるし質問とりやめます

258 :

以下のような本もあるしサイトも結構ありますね。
アマゾンで取扱い
「コンピュータ将棋のアルゴリズム―最強アルゴリズムの探求とプログラミング-I・O-BOOKS-池-泰弘」

259 :
将棋

260 :2012/10/17
>>258
かなり古いが森田和郎が書いたコンピュータ将棋の本もあるな
「もしかしたら世界初のコンピュータ将棋の本」らしいから、今からしたらかなり初歩的なことしか書かれてないが
TOP カテ一覧 スレ一覧 2ch元 削除依頼
シューティングゲーム(非FPS)製作技術総合 (949)
ゲームにおけるデータ構造・クラス設計・パターン2 (603)
素人の俺にHSPで経営シミュを作らせるスレ (461)
シェーダープログラマが集うスレ (537)
C言語×ダンジョン×学園なゲームを創りたいスレ (721)
さいたまRPG作ろうぜ (792)
--log9.info------------------
雑談スレ5幕。。。。。 (859)
【激情】GARLIC BOYS 【POD】 (577)
【骸骨掲げ】門田匡陽withCalmCalm42【乾杯しよう】 (893)
【遊び人】このバンドマンには気をつけろ2【浮気】 (911)
ライブに行ったらガッカリしたバンド 2 (469)
【アイラビ】I-RabBits☆第6章 (213)
【ズボンドズボン】土屋礼央20ヵ年計画35【RAG/TTRE】 (509)
TOTALFAT part5 (709)
Spangle Call Lilli Lineを語れや3 (502)
【album予約】SSW「あえか」を応援【3000枚へ】 (362)
F.I.B (668)
【祝】dip最強伝説★第17巻【結婚】 (209)
■SAKANA■さかな■2 (417)
nuito (680)
riddim saunter part6 (243)
きのこ帝国part1 (385)
--log55.com------------------
【葉隠武士】元事務次官の妹「兄はちゃんと自分の手で英一郎を殺しカタをつけた。本当に武士ですよね・・・」★2 [454032396]
【共同】安倍内閣支持率42.7% 桜を見る会に関する安倍さんの説明は不十分83.5% 安倍さんの4選に反対61.5% 賛成28.7% [723267547]
元自衛官の七里信一が子供の「ニンテンドーswitch」を3台破壊。  [571598972]
なぜ男は戦争するのか 戦争の99%は男が起こしてると判明 第二次世界大戦では5000万人が死亡 [659060378]
風俗おじさん、ソープランド嬢にとんでもないお願いをしてしまう [208234178]
ドラッグなしでドーパミンをガンガン出す方法おしえろ [886034557]
【共同通信】安倍内閣支持率、とうとう不支持が逆転してしまう! 支持42%(−6)不支持43%(+5) [214127477]
ケンモメンの薬剤師叩きが異常すぎると話題に 一体何がケンモメンの逆鱗に触れたの? [166962459]