C言語で素晴らしいオセロを作らないか?
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0002デフォルトの名無しさん
NGNG(●3○) エェー
0003デフォルトの名無しさん
NGNGまだ未完成なので放置してください。
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNGときの一言
オセロチャンピオン「神のような強さだった!」
0006デフォルトの名無しさん
NGNG●=0
○=1
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNGオリバーパーカーとオーソンウェルズのどっちに近いのをつくるのかね?
0009デフォルトの名無しさん
NGNG枝刈りとかケチな事言わずに
全手検索くらいしそうだもんな。
終末まで予見するのは神かも試練。
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG●○○●●
●●○○●
○●○●○
●●○○●
0012デフォルトの名無しさん
NGNGまだ置いてないとこはどう表現するんだ?
0013デフォルトの名無しさん
NGNG>>6には1ビットとは書いてない。
0014デフォルトの名無しさん
NGNG状態は3つか。 白、黒、空。
0015デフォルトの名無しさん
NGNGもう一つ、盤面外というのもあった方がいいかも。
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG('A`)(゚∀゚)
(゚∀゚)('A`)
----------------------------
('A`)(゚∀゚)
(゚∀゚)('A`)(゚∀゚)
----------------------------
('A`)(゚∀゚)
('A`)('A`)('A`)
0018デフォルトの名無しさん
NGNG4444444444
4000000004
4000000004
4000000004
4000210004
4000120004
4000000004
4000000004
4000000004
4444444444
とかすると挟む判定がやりやすいのだ
0019デフォルトの名無しさん
NGNGその都度判断するのはめんどくさいんで、テーブルでやるのが良し。
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG337 名前:トリッキーの1 投稿日:2001/08/21(火) 23:55
面白い題材が上がっていたので復帰します(笑) 7行オセロ、人間対無能AIです。
#include <stdio.h>
int p,t,a,d,c,v,i,m[90]={0},s,r[]={-10,-9,-8,-1,1,8,9,10};void k(){if(m[p]==0)
for(i=0;i<8;i++){for(c=0,v=p+r[i];m[v]==3-t;v+=r[i])c++;if(c&&m[v]==t){a+=c;v=
p;if(d)do m[v]=t,v+=r[i];while(m[v]!=t);}}}char*h="・○●\n";int main(){for(i=
1,m[41]=m[49]=2;i<10;m[i++*9]=3)m[40]=m[50]=t=s=1;for(;;a=d=0){for(p=9;p<82;++
p)k(),printf("%.2s",&h[m[p]*2]);if(a)for(d=a=s=p=8;a==8;k())t-2?(scanf("%d %d"
,&p,&i),p+=i*9):++p;else if(s)s=0,printf("pass");else break;t=3-t;}return 0;}
もはやインデントを揃えた位では元のコードが読めなくなってしまっていますが、
もしコメント付き変数名まとものバージョンを欲しい方がいれば上げます。
338 名前:トリッキーの1投稿日:2001/08/21(火) 23:58
人間の入力は、「X軸 Y軸」と半角で入力します。
置けない場所を指定した場合は再度入力してください。
X=55などの変な入力をチェックしていないので、即クラッシュします。
両者置けなくなったらプログラム終了です。自分で数えてください。
もっとも、このコンピュータは激弱ですので負けようがないとおもいますが(笑
0022デフォルトの名無しさん
NGNG是非頂きたいものです。
0023デフォルトの名無しさん
NGNGint p,t,a,d,c,v,i,m[90]={ 0 },s,r[]={-10,-9,-8,-1,1,8,9,10};
void k()
{
if(m[p]==0)
for(i=0;i<8;i++)
{
for(c=0,v=p+r[i]; m[v]==3-t; v+=r[i])
c++;
if(c&&m[v]==t)
{
a+=c;
v=p;
if(d)
do
m[v]=t,v+=r[i];
while(m[v]!=t);
}
}
}
char *h="・○●\n";
0024続き。(勝手に整形プログラムに通してみた。)
NGNG{
for(i=1,m[41]=m[49]=2; i<10; m[i++*9]=3)
m[40]=m[50]=t=s=1;
for(;; a=d=0)
{
for(p=9; p<82; ++p)
k (),printf("%.2s",&h[m[p]*2]);
if(a)
for(d=a=s=p=8; a==8; k())
t-2? (scanf("%d %d",&p,&i),p+=i*9):++p;
else if(s)
s=0,printf("pass");
else
break;
t=3-t;
}
return 0;
}
0026デフォルトの名無しさん
NGNG作ってみますた。
画面イメージはこんな感じ↓
1 2 3 4 5 6 7 8
┏━┯━┯━┯━┯━┯━┯━┯━┓
1┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
2┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
3┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
4┃ │ │ │○│●│ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
5┃ │ │ │●│○│ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
6┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
7┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
8┃ │ │ │ │ │ │ | ┃
┗━┷━┷━┷━┷━┷━┷━┷━┛
最強ではないけど、結構強い。
初心者が勝てない、中級者が苦戦するレベル
0027デフォルトの名無しさん
NGNGやってみたけど、漏れは勝てなかった。
そのプログラム、結構嫌な手を打ってくるな。
0028デフォルトの名無しさん
NGNG落とせない...
002928
NGNG0031デフォルトの名無しさん
NGNGオセロは商標。
ラッピングテープを指して「サランラップ」
配送屋を見ればどこの配送屋でも「宅急便」
というのと同じくらい恥ずかしいこと。
0032デフォルトの名無しさん
NGNGハァ?なにいってんだ?オセロはオセロだろ
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNG面倒を避けるために。
0035デフォルトの名無しさん
NGNGだったら、紙を金属の芯で止める道具のことをホッチキスと呼ばずにステイプルと呼んで下さい。
0036デフォルトの名無しさん
NGNGオセロはオセロであって、リバーシとは別物なのである。
と言ってみるテスト。
0037デフォルトの名無しさん
NGNG全然勝てない。俺は結構強い方で、人とオセロをやって負けたことは無かったんだが。
0038デフォルトの名無しさん
NGNGオセロの名前を削除しておきました。
0039デフォルトの名無しさん
NGNGそんなの商標にできるのか?
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNGttp://radagast.se/othello/download.html
0042デフォルトの名無しさん
NGNGこんな短いソースで、こんだけ強いオセロが作れるんだ。
0044デフォルトの名無しさん
NGNGとりあえず大雑把な戦略を教えてくれない?>>26
0045デフォルトの名無しさん
NGNGオセロ脱初心者講座
�@中盤までは全滅しない程度になるべく少なく石を取る。
�A隅の斜め隣は危険(すぐに隅を取られる)なので無闇に打たない。
隅の隣も実はかなり危険。
�B露出してる場所(隣に石が少ないマス)に無闇に打たない。
�C無闇に辺を取らない(辺を取るべきか取らないべきかの判断は
上手くならないとつかないので最初はあまり取らないと覚えておく)。
0046デフォルトの名無しさん
NGNG1 2 3 4 5 6 7 8
┏━┯━┯━┯━┯━┯━┯━┯━┓
1┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
2┃●│ │○│ │ │ │○│ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
3┃●│○│○│ │○│○│ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
4┃●│●│○│○│○│ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
5┃●│●│●│○│○│ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
6┃●│●│●│●│○│○│○│ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
7┃●│●│●│●│★│ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
8┃●│●│●│●│●│ │ │ ┃
┗━┷━┷━┷━┷━┷━┷━┷━┛
WHITE Passed.
>6 7
0047デフォルトの名無しさん
NGNG┏━┯━┯━┯━┯━┯━┯━┯━┓
1┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
2┃●│ │○│ │ │ │○│ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
3┃●│●│○│ │○│○│ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
4┃●│●│●│○│○│ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
5┃●│●│●│●│○│ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
6┃●│●│●│●│●│○│○│ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
7┃●│●│●│●│●│★│ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
8┃●│●│●│●│●│ │ │ ┃
┗━┷━┷━┷━┷━┷━┷━┷━┛
WHITE Passed.
>
ここで6 8に打たないでパスした。
打たなかったので(4 1)と打ったら(3 1) (2 1)と進んで
次は6 8に打ってきた。
0048デフォルトの名無しさん
NGNG(3,5) (5,6) (6,3) (2,5) (6,6) (5,3) (4,6) (7,2)
(3,4) (4,7) (3,6) (2,7) (3,7) (2,8) (1,8) (7,6)
(3,8) (2,4) (1,4) (1,5) (3,3) (1,7) (1,6) (3,2)
(2,3) (1,3) (1,2) (2,6) (4,8) (5,8) (5,7) (6,7)
004938
NGNGありがとうございます。
>>44
<前半>
・四つ角を最優先し、出来るだけ端を取る
・出来るだけ多く取る
<中盤〜終盤>
・出来るだけ多く取る
<最後の数手>
・全部読む
という感じです。
>>45
参考にさせて頂きます。
>>46-48
★を表示するための処理をするときに出てきたバグだと思うので、直しておきました。
ご指摘ありがとうございます。
訂正版
ttp://yam-jp.com/~nanashi/img/gogogo1291.c
0050デフォルトの名無しさん
NGNG相当弱いプログラムだと思われます。
0051デフォルトの名無しさん
NGNG>>41の最強のプログラムの深さ2と、自作プログラムの深さ5を対戦させてみたら、
自作プログラムの方が負けましたけど、人間には中級車レベルの人になら勝てると思います。
上級者だったら弱く感じるかも知れませんけど・・・。
処理が重くて(効率が悪くて)あまり深く読めないのと、隅を優先させ過ぎたのが原因かも知れません。
深さを 60 に設定すれば、必ず勝てるプログラムになります。
その代わり、宇宙が終わるまでに計算が終わりませんけどw
>>45さんの戦略をプログラムすれば強くなると思います。
0052デフォルトの名無しさん
NGNG・隅を狙う
・自分の打てる手数が多くなる手を打つ
だけでいいんじゃないのか?
0053デフォルトの名無しさん
NGNG>>48のでもいきなり打ってるから。
0054デフォルトの名無しさん
NGNG序盤で隅を狙うのはよくない
0055デフォルトの名無しさん
NGNG打っても問題ない(打った方が良い)ケースもあるから、
ただ打たないっていうアルゴリズムは良くない。
0056デフォルトの名無しさん
NGNGオセロの定石集とか、売ってあるのだろうか?
0057デフォルトの名無しさん
NGNG著作権的に流用しちゃっていいものかどうかは不明。
0058デフォルトの名無しさん
NGNGコードがコンパクトにまとまっていていいですね。
オレはそんなに思考系は詳しくないんで質問なんですが、
オセロでMin-Max法だと葉ノードまで読まないと、正しい評価値がでませんよね?
途中で読みを中断した場合(特に序盤)どう枝を評価しているんですか?
0059デフォルトの名無しさん
NGNGお前んちのじーちゃんはむきになって勝とうとしないだろ?
それとおなじことだよ。
0060デフォルトの名無しさん
NGNG006145
NGNG終盤=完全読み
なので中盤がミソなわけだ。
とりあえず、偶数理論と開放度理論だけ取り込めば十分だと思う。
さらに盤の各マスにも点数をつけて、隅の点数を高く、
X(隅の斜め隣)を最も低く、C(隅の隣)を次に低く設定する。
偶数理論&開放度理論による点数加算が、マス固有の点数のマイナス分を上回っていれば
状況次第(Xに打たないと負けるような時)でXに打ち込む事もできるんじゃないかな。
作ったこと無いからわからんけど。
006249
NGNG・数が多い方が良い
・隅と端を多く取るのが良い
という評価方法です。
>>59
勝たせてあげるプログラムを作るのは誰でも出来る。
勝たせてあげ「ない」プログラムを作るのが大変。
勝たせてあげ「ない」プログラムが出来れば、手加減するプログラムを作ることも出来る。
>>61
とりあえず、解放度理論だけ実装してみました。
ttp://ame.dip.jp/upload/1093/171329.c
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGやっぱ、ゲームしゃん、プレイヤーも勝つと楽しいよね
だから、初盤はコンピュータが有利なの
でも、最終的にはプレイヤーを勝たせてくれるような
そんな、自己満足なオセロがほしー
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNGこんなんで良かったらどうぞ(一応自作だけど、評価用の配列はオセロのサイトから拝借)。
つttp://yam-jp.com/~nanashi/img/gogogo1294.c
>だから、初盤はコンピュータが有利なの
>でも、最終的にはプレイヤーを勝たせてくれるような
一応、この条件は満たしている。
但し、楽しいかどうかは分からない。
0067デフォルトの名無しさん
NGNG初心者用には案外大切だと思います。
初めてやったときにボロ負けしたら激しく興味を無くすから、
最初くらいは勝たせてあげた方が良いのでは?
ただ強いだけのプログラムを作るよりも、手抜きをしていると分からないような接待オセロを作る方が
ずっと難しいような気がします。
0068デフォルトの名無しさん
NGNGばれないように接待オセロと言っても、PCが弱いと、わざと負けてるって
バレバレじゃん。(もしくはプログラムが下手で本気で弱いか)
>初めてやったときにボロ負けしたら激しく興味を無くすから、
これは人によりけりだとおもう。
逆に、ちょっとコツをつかんだ程度で簡単に勝てるようになると
底の浅いゲームだと思って興味をなくすか。
0069デフォルトの名無しさん
NGNG>ばれないように接待オセロと言っても、PCが弱いと、わざと負けてるって
>バレバレじゃん。(もしくはプログラムが下手で本気で弱いか)
だから、単に強いだけのプログラムを作るより難しいといったのですが・・・。
強いプログラムというのは、評価関数がしっかりしていないと出来ません。
(意図的に)手加減をするプログラムも、評価関数がしっかりしていないと出来ません。
強いプログラムの上に上手な手加減の仕方をプログラムしないと、接待プログラムは出来ないのでは?
>これは人によりけりだとおもう。
>逆に、ちょっとコツをつかんだ程度で簡単に勝てるようになると
>底の浅いゲームだと思って興味をなくすか。
それを見極めるのもプロだと思います。
「こいつなら最初に(ゲーム上で)ボコボコにした方が伸びる」
「こいつはボロ負けすると挫折するタイプだから手加減してやろう」
みたいな感じで。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG0072 ◆R/rLuLKeEI
NGNG0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNG>だから、単に強いだけのプログラムを作るより難しいといったのですが・・・。
なんか論点がずれてるな。
簡単か難しいかの話なんてしてないよ。
>それを見極めるのもプロだと思います。
だから、そういう論点じゃないでしょ。
0075デフォルトの名無しさん
NGNG将棋や囲碁だと、基本的に強いのが売れる。
0076デフォルトの名無しさん
NGNGオセロで接待されたい人っているの?
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGへー。
0079デフォルトの名無しさん
NGNGコンピュータが手番を渡されたら、まずその局面で探索。
評価値がマイナスだったら、最善手を打つ。
プラスが帰ってきたら、最善手だけでなく全ての手について点数を求める。
あらかじめ決めておいた最大値を点差が超えない範囲で、引き分けに近付く手を打つ。
最終的には僅差で負ける。
例えば最大下げ幅を8に設定してあって、最善手の点数が+16
他の候補手が+12,+10,+6,0,-4,-8だったら+10の手を選ぶというようにする。
0080デフォルトの名無しさん
NGNG終盤調整で見え見えの手抜きしないといけなくなる。
0081デフォルトの名無しさん
NGNGエロい奴。
脱衣オセロとか。
0082デフォルトの名無しさん
NGNG技術の問題じゃない。
ヌードモデルやストリップの女性に金を払えば誰にでも可能。
0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNGアタック 25 みたいに自分がとった分だけ見えるとか。(藁
0085デフォルトの名無しさん
NGNGそんな事より>>81と>>83よ、ちょいと聞いてくれよ。スレとあんま関係ないけどさ。
昔、パソコン研究会をやってたんです。パソコン研究会。
そしたらなんか人がめちゃくちゃいっぱいで座れないんです。
で、よく見たらなんか盛り上がってて、エロゲーとか作っているんです。
もうね、アホかと。馬鹿かと。
お前らな、エロゲー如きで普段使ってないパソコンを使ってんじゃねーよ、ボケが。
エロゲーだよ、エロゲー。
なんか親子連れとかもいるし。一家4人でエロゲーか。おめでてーな。
よーしパパSM頼んじゃうぞー、とか言ってるの。もう見てらんない。
お前らな、エロゲーやるからその席空けろと。
パソコンってのはな、もっと殺伐としてるべきなんだよ。
デスクトップの隣に座った奴といつ喧嘩が始まってもおかしくない、
刺すか刺されるか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。
で、やっと座れたかと思ったら、隣の奴が、モロ出し無修正ロリゲーで、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、ロリゲーなんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、ロリゲーで、だ。
お前は本当にロリゲーを作りたいのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、ロリ絵を見たいだけちゃうんかと。
パソコン通の俺から言わせてもらえば今、パソコン通の間での最新流行はやっぱり、
特盛り計算量、これだね。
特盛り計算量AIプログラミング。これが通の使い方。
特盛り計算量ってのはアルゴリズムが多めに入ってる。そん代わりエロが少なめ。これ。
で、それにAIプログラミング(人工知能)。これ最強。
しかしこれをやると次からひろゆきにマークされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前、>>81と>>83は、エロゲーでも作ってなさいってこった。
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG>>85なんかよりも格段に面白い
0089デフォルトの名無しさん
NGNGこのオセロ2時間くらい楽しめたぞ
久々にオセロなんかしたら面白かった
ひまがあったらコードも見てみるよ
0091デフォルトの名無しさん
NGNGラウンジでC言語
http://etc3.2ch.net/test/read.cgi/entrance/1093006298/l50
0092デフォルトの名無しさん
NGNGつまらなかったらスルーすればいいのに。
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNGとりあえず、>>62よりも強いプログラムをC言語で作って見せて下さい。
アップローダー
ttp://yam-jp.com/~nanashi/uploadzx.php
009694
NGNG0097デフォルトの名無しさん
NGNG白黒の初期配置が逆じゃない?
他のプログラムとか、サイトとか見てたら逆っぽいのだけれど。
0098デフォルトの名無しさん
NGNG置くとかそれだけで済むことだ。
0099デフォルトの名無しさん
NGNG変えておきます。
0100デフォルトの名無しさん
NGNGアルファベータ法を使って読みの深さを上げました。
遅すぎるようだったら27行めの
#define DEPTH 11
のところを小さな値にして下さい。
0101デフォルトの名無しさん
NGNGもっとセンセーショナルでドマラスティックなやつがいい。
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNGαβ法よりも効率の良いプログラムとなると、いかに効率よく枝を落とすかという話になりますが、
それは殆ど人工知能に近いものになると思います。
ドマラスティックって、、、
~~~~
0104デフォルトの名無しさん
NGNGそれよりも優れた方法ってあるんでしょうか?
0105デフォルトの名無しさん
NGNGぬるぽ
0106デフォルトの名無しさん
NGNG0107 ◆R/rLuLKeEI
NGNGNull Window Search といってもその基礎になる考え方はαβじゃなかったかな。
MTD(f)も確かαβだし。
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG勝ちオセロの評価関数の符号を変えればすぐに出来ます。
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNGルール(機能)は、通常のオセロの他に、
・左端と右端はつながっている(DQやFFのワールドマップを想像してください)
・1つを除いて一列全て相手側の色の場合、その開いた一つに置くと一列取ることが出来る
・盤面をいつでも自在にシフト(ループ)させることが出来る。
というものがあります。
どなたか、ゲームとして面白いかどうか評価して頂けないでしょうか?
ソースコードは手元にあります。
0114デフォルトの名無しさん
NGNG昔、IOSっていうオセロプログラム同士を自己学習させるために自動でひたすら
戦わせるサーバがあって、WZebraはそこで鍛えられたプログラムだから
一朝一夕のものじゃないよ。
0115デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#include <conio.h>/*処理系によりconio.h→console.h*/
char*h="・○●☆\n";int p,t,a,d,c,v,i,e=10,s,o,z[255]={0},m[90]={0},r[]={-10,-
9,-8,-1,1,8,9,10};void k(){if(m[p]==0)for(i=0;i<8;i++){for(c=0,v=p+r[i];m[v]==
3-t;v+=r[i])c++;if(c&&m[v]==t){a+=c;v=p;if(d)do m[v]=t,v+=r[i];while(m[v]!=t);
}}}void b(){system("cls");for(p=9;p<82;++p)a?a:k(),printf("%.2s",&h[m[p]*2]);}
int main(){for(50[z]=80[z]=9,54[z]=77[z]=m[40]=m[50]=t=s=i=1,52[z]=75[z]=-1,56
[z]=72[z]=-9,m[41]=m[49]=2;i<e;m[i++*9]=4);for(;;a=d=0){b();if(a)for(d=a=s=p=8
;a==8;k())if(t-2){o=e[m];for(i=0,e[m]=3;i!=13;c=(i=_getch())[z]){if(c&&e+c>9&&
e+c<81)e[m]=o,o=(e+=((e+c)%9?c:c*2))[m],e[m]=3;b();}e[m]=o,i=e/9,p=e%9+i*9;}
else++p;else if(s)s=0,printf("pass");else break;t=3-t;}return 0;}
テンキーか矢印キーで石を置く位置を指定でき、リターンキーで決定します。
この入力方式でこれよりダウンサイジングはかなり高度になってくるかと思われ。
0116 ◆R/rLuLKeEI
NGNGトーラスリバーシかと思た。
Googleでざっと見たところ、類似のは見当たらなかった。
海外まで含めたらあるかも。
トーラス碁はあるのにな
0117デフォルトの名無しさん
NGNG多分、それだと思います→トーラスリバーシ
ドラクエ世界は実はドーナツ状だという話(というかネタ的解釈)があるので。
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1096414722_1/othello_text_loop.c
ソースをうpしました。
0118デフォルトの名無しさん
NGNG( 'ο') <ゥンポコー
0119デフォルトの名無しさん
NGNGcygwin の Xサーバー使ってオセロのGUIだけ作ってみました。
AIはなくって人間VS人間ならできます。
アルゴリズムなら作りたいけど、他めんどくせーという方、どうぞ。
AIの組み込みはしやすいつくりになってる・・・と思う。
ダメだしもお願いしますw
0120デフォルトの名無しさん
NGNGざっと見た感じだと、
(1)升目ごとに構造体を作るのは非常に冗長
マウス今どの升目を指しているか(あるいは盤外か)を調べるには、一字式で簡単に出来る。
升目ごとに構造体があって、さらにそれを総当りで調べるのは冗長。
(2)8方向に処理する部分は、別に関数を作った方がコンパクト
例えば、judge_setting_unit_dir という関数を作って、
引数を指定するだけで値を得られるようにすれば、コードが短くなってバグも出にくくなり、
あとで修正するときの手間が、(その部分だけ見れば)8分の1で済む。
(3)ヘッダ名と本体の名前は一致させた方が良い
global.h で宣言されている関数定義が global.c に書かれていないのを見てちょっと拍子抜けした。
大抵のプログラムでは、余程の事情がない限り、ヘッダファイルの名前と本体の名前が
一致している。
正直言って、そのソースにAIを組み込むのはちょっと辛いものがある。
0121 ◆R/rLuLKeEI
NGNGまだダウンロードしてないんで分からんけど思考部を別プロセスにしてGUI部とプロセス間通信したらどう?
思考部とGUI部で共通の通信ルーチンや盤面の更新、合法手の生成はインタフェイスを公開してリンカで繋げるだけになってたら嬉しい。
プロトコルさえしっかりしてたら言語に縛られなくて、なおいい。
などと勝手なことを書いてますが、こんなことするにはかなりの手間がかかりますね。すんません。
他人の作ったのと自分のを特定フォルダに入れとくだけでGUI部に一切変更無しで色んな組合わせの対戦が出来るなぁって思ったり。
共通ルーチンはdllにしておいたり…妄想炸裂中
0122デフォルトの名無しさん
NGNG思考ルーチンだけdllで作るってやつがあるよ。C#オンリー?だけど。
GUIを作る必要ないし、.NET Framework SDK(無料)だけでつくれるよ。
http://www.vector.co.jp/games/soft/win95/game/se301574.html
http://www.geocities.jp/team8bit/AIReversi/AIReversi_top.htm
思考ルーチン作成中なのでできたらupします。
だれか対戦する人いないかなー?
上下左右はもちろん、斜め方向にもトーラスなはずだから、
ABCDEFGH
O+++++++ 1
+++++++O 2
++++++++ 3
+++++O++ 4
++++O+++ 5
+++O++++ 6
++O+++++ 7
+O++++++ 8
みたいなときに、G3にXを置くとこの絵のOの位置は全部Xにならないといけないよね。
だからIOSがそれなんだってば。
0125 ◆R/rLuLKeEI
NGNGじゃあ、アルゴリズム実装の練習以外ではもう何も新たに作る必要ないやん。
通常のルール通りでってことであれば、そうだね。
0127 ◆R/rLuLKeEI
NGNG通常のルールは分離されてないの?
n人非零和協力非確定非ターン制…までなんでもあり…スレ違いだな
0128122
NGNGhttp://www.geocities.jp/team8bit/AIReversi/ai_place.htm
EasyAI
AIリバーシ
リバーシ(オセロ)のフレームワーク。
UI等やルール等のプログラミングを必要なくして、
オセロの人工知能の作成ができます。作成した人工知能で
コンピュータ同士の対戦や人間との対戦ができます。
http://www.geocities.jp/team8bit/
0130122
NGNG0132デフォルトの名無しさん
NGNG┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │○│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│○│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0133デフォルトの名無しさん
NGNG┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │○│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│○│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │●│┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0134デフォルトの名無しさん
NGNG┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │○│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│○│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │●│○
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0135デフォルトの名無しさん
NGNG┏━━━━━━━━━━━━━━━━━┓
┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │○│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│○│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤|(●), 、(●)、.:|
┃│ │ │ │ │ │ │ │●│○
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0136デフォルトの名無しさん
NGNG┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │○│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│○│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃ ○
┃├─┼─┼─┼─┼─┼─┼─┼─┤|(○), 、(●)、.:|
┃│ │ │ │ │ │ │ │●│○
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0137デフォルトの名無しさん
NGNG┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│●│●│●│●│●│●│●│●│┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│●│●│●│●│●│●│●│●│┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│●│●│●│●│●│●│●│●│┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│●│●│●│●│●│●│●│●│┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│●│●│●│●│●│●│●│●│┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│●│●│●│●│●│●│●│●│┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│●│●│●│●│●│●│●│●│┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│●│●│●│●│●│●│●│●│┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0138デフォルトの名無しさん
NGNG┃┌─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │○│●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │●│●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━┛
0139デフォルトの名無しさん
NGNG┏━━━━━━━━━━━━━┓
┃┌─┬─┬─┬─┬─┬─┐┃
┃│ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │●│●│●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │●│●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━┛
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNG作れば?
0142デフォルトの名無しさん
NGNG┃┌─┬─┬─┬─┬─┬─┐┃
┃│○│ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │●│●│●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │●│●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━┛
0143デフォルトの名無しさん
NGNG┃●─┬─┬─┬─┬─┬─┐┃
┃│●│ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │●│●│●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │●│●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━┛
0144デフォルトの名無しさん
NGNG┃●─┬─┬─┬─┬─┬─┐┃
┃│●│ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │●│●│●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │●│●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━┛
0145デフォルトの名無しさん
NGNG●━━━━━━━━━━━━━┓
┃●─┬─┬─┬─┬─┬─┐┃
┃│●│ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │●│●│●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │●│●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │●│ │ │┃
┃├─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━┛
0146デフォルトの名無しさん
NGNG┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
●│ │ │ │ │ │ │ │ │┃
┃●─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│●│ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │●│ │ │ │○│ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │●│●│○│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │○│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │○│ │●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0147デフォルトの名無しさん
NGNG┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
●│ │ │ │ │ │ │ │ │┃
┃●─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│●│ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │●│ │○│ │○│ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │●│○│○│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │○│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │○│ │●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNG┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
●│ │ │ │ │ │ │ │ │┃
┃●─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│●│ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │●│ │○│ │○│ │ │┃
┃├─┼─●─┼─┼─┼─┼─┼─┤┃
┃│ │ │●│○│○│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │○│●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │○│ │●│ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│ │ │ │ │ │ │ │ │┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
0152デフォルトの名無しさん
NGNG(●)(●)(●)(●)(●)(●)(●)(○)(●)(●)(●)(●)(○)(●)
(●)(●)(○)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●) (●)(●)(●)(●) (●)(●)
(●)(●)(●)(●)(●)(○)(●)(●)(●)(●)(○)(●)(●)(●)(●)
(●)( )(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(○)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(○)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(○)
(●)(●)(○)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(●)(●)(○)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(○)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(○)(●)(●)(●)(●)(●)(●)(○)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(●) (●)(○)(●)(●)(●)
(●)( )(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
0153デフォルトの名無しさん
NGNG(●)(●)(●)(●)(●)(●)(●)(○)(●)(●)(●)(●)(○)(●)
(●)(●)(○)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●) (●)(●)(●)(●) (●)(●)
(●)(●)(●)(●)(●)(○)(●)(●)(●)(●)(○)(●)(●)(●)(●)
(●)( )(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(○)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(○)(●)(●)(★)
(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(○)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(●)(●)(○)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(○)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(○)(●)(●)(●)(●)(●)(●)(○)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
(●)(●)(●)(●)(●)(●)(●)(●) (●)(○)(●)(●)(●)
(●)( )(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)(●)
0154デフォルトの名無しさん
NGNG4スミは黒ならひっくり返せるというルールを適応した。
そんなルール効いたこと無いんだが、どこのローカルルールなんだ?
0155デフォルトの名無しさん
NGNG●○○○●○●○
○●●○●○●○
●○○○○●○○
●●●○●○●○
○●○●○●○●
●●●○○●●○
○●○○○○●○
○○○○○○○○
○○●●●●○○
○○○○○●○○
○○○○●○○○
○○○○●○○○
○○○○●○○○
○○○○●○○○
○○○●●○○○
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGここはオセロスレ。囲碁は囲碁の専用のスレをたててやってください。
0159デフォルトの名無しさん
NGNGやってみたいのでもう一回ソースでいいのでアップしてくれませんか?
0160デフォルトの名無しさん
NGNG自作プログラム改良の参考にしようと買ってみた。
添付プログラムと対戦させたら、20石以上差をつけて俺のが勝った。
K成→T大というエリートコースまっしぐらの人の書いた本が、
こんなレベルが低いなんて信じられない。
0161デフォルトの名無しさん
NGNGEasyAI vs 俺の・・・7-57
俺の vs EasyAI・・・50-14
評価関数が良いけど探索が遅い、ってのよりは、
評価関数が悪くても探索が速いほうが、強いことが多い気がします。
0162デフォルトの名無しさん
NGNG本ってのは、対象読者のレベルに合わせて書かれるものだ。
0163122
NGNG対戦見てみたいのでUpしてくれませんか。
0165デフォルトの名無しさん
05/01/19 10:12:08>21をやってみた。
#getch()はcygwinで見つからなかったので。
○○○○○○○○
○●○○○○○○
○●○○○○○○
○●●○○○●○
○●●●○○●○
○○○○○○●○
●●●●●●●○
○○○○○○●○
単純な割りに、それなりに打ってくるから楽しい。
#逆ルールリバーシは前に作ったがn88basic@pc98だ。
ttp://www.geocities.co.jp/SiliconValley-Bay/4543/Osero/
0167デフォルトの名無しさん
05/01/28 19:49:33O+++++++ 1
+++++++O 2
++++++++ 3
+++++O++ 4
++++O+++ 5
+++O++++ 6
++O+++++ 7
+O++++++ 8
みたいなときに、
G3にXを置くとこの絵のOの位置は
全部Xにならないといけないよね。
0168デフォルトの名無しさん
05/02/19 16:43:490169デフォルトの名無しさん
05/02/20 02:04:330170デフォルトの名無しさん
05/02/20 04:50:58生きている間に計算おわるかはわからないが。
0171デフォルトの名無しさん
05/02/20 07:44:130172デフォルトの名無しさん
05/02/26 15:26:110173デフォルトの名無しさん
05/02/27 00:54:58回転したパターンを省くと1/4になるよ。
でも最初の4駒も後から反転することを考えると ×2^4。
0174デフォルトの名無しさん
05/02/27 01:00:120175デフォルトの名無しさん
05/03/05 02:34:090176デフォルトの名無しさん
05/03/13 01:25:000177デフォルトの名無しさん
2005/04/09(土) 15:16:0117−8万手/毎秒くらいしか読めない。
評価関数は駒数と打てる箇所の数しか調べてないのに。
やはりJAVAでは無理があるのか。。
0178デフォルトの名無しさん
2005/04/11(月) 13:12:170179デフォルトの名無しさん
2005/05/04(水) 03:02:185行半で力尽きた、やるせない思い出が…
0180デフォルトの名無しさん
2005/05/18(水) 17:36:19┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃
┃│★│#│☆│ │ │☆│#│★│┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│#│#│ │ │ │ │#│#│┃
┃├─┼─┏━━━━━━━┓─┼─┤┃
┃│☆│ ┃☆│ │ │☆┃ │☆│┃
┃├─┼─┃─┼─┼─┼─┃─┼─┤┃
┃│ │ ┃ │■│■│ ┃ │ │┃
┃├─┼─┃─┼─┼─┼─┃─┼─┤┃
┃│ │ ┃ │■│■│ ┃ │ │┃
┃├─┼─┃─┼─┼─┼─┃─┼─┤┃
┃│☆│ ┃☆│ │ │☆┃ │☆│┃
┃├─┼─┗━━━━━━━┛─┼─┤┃
┃│#│#│ │ │ │ │#│#│┃
┃├─┼─┼─┼─┼─┼─┼─┼─┤┃
┃│★│#│☆│ │ │☆│#│★│┃
┃└─┴─┴─┴─┴─┴─┴─┴─┘┃
┗━━━━━━━━━━━━━━━━━┛
★>☆>無印>#の順に(優先的に置く、自分の色に変える)
0181デフォルトの名無しさん
2005/05/18(水) 17:43:33その後候補がいくつか挙がったら初めて自分の色をより多く増やせる場所を選ばせるとか
01822chに囲碁・オセロ板が出来ました
2005/05/21(土) 21:57:15まだ人口が少なくあまり盛り上がってないので、みんな キテ━━━(゚∀゚)V━━━ !!
囲碁・オセロ
http://game9.2ch.net/gamestones/
オセロ 雑談・雑学・質問総合スレッド 第8局
http://game9.2ch.net/test/read.cgi/gamestones/1111765962/
0183デフォルトの名無しさん
2005/07/01(金) 21:07:100184デフォルトの名無しさん
2005/07/03(日) 22:29:29とりあえず作ってみた
暇な人誰か対戦しようよ
0185デフォルトの名無しさん
2005/07/06(水) 18:21:43ようやくdllが作れるよーになったトコ。
あと10日強で完成するんかなぁ・・・
0186デフォルトの名無しさん
2005/07/06(水) 23:34:370187デフォルトの名無しさん
2005/07/07(木) 08:42:54うん、外部から読めるようにするとなお( ´・ω・`)
0188デフォルトの名無しさん
2005/07/07(木) 19:18:11いや、定石なんて「固定観念」にとらわれたプログラムじゃだめ。
人間でもそうだけど、前例にとらわれず自分で考えて考え抜くプログラムが結局強いんだよ。
0189デフォルトの名無しさん
2005/07/08(金) 01:13:24ド素人にもそれ>>180さえ尊守させれば、かなりなれた人間でもじゃんけん勝負で黒が勝つ程度になるくらい。
たまたま知らなかったのは仕方ないとして、プログラムで全てが解決するわけじゃないって事。
多少なりとも知識は必要なのだよ、ライブラリだと思えば素直に使えるだろう?
0190デフォルトの名無しさん
2005/07/08(金) 01:14:38○ かなりなれた人間相手でも
ちなみにかなりなれた人間というのはクラスで最強程度、プロはの思考ルーチンはおそらくそれを発展させたもの
0191デフォルトの名無しさん
2005/07/08(金) 02:17:200192デフォルトの名無しさん
2005/07/08(金) 07:27:06自分で作ったプログラムに誤りがなければ、9手+パス2回で11手(?)だった。
f5,f4,c3,c6,c5,d6,f3,c4,c7,PASS,PASS
0193デフォルトの名無しさん
2005/07/08(金) 10:39:05#無印ってことなんかな?
0194デフォルトの名無しさん
2005/07/08(金) 10:45:05石の上から石を強制的に置けるプログラムにしてしまった場合全てのバランスが変わっちゃうし
0195デフォルトの名無しさん
2005/07/08(金) 10:58:08「自分の色に変える」は?
0196デフォルトの名無しさん
2005/07/08(金) 11:05:03>>180
うわのびてますね!
補足すると
太線の━の内側にいる場合:太線の外側の無印が#、#に関してはさらに絶対においてはいけない、■は無印 等
かき損ねた事もありました
実際オセロはあまりやった事がないいい加減な持論なのです
僕のレスを引用してくれた人が肯定してくれたのはうれしいのですが、あまりじしんがありません
0197デフォルトの名無しさん
2005/07/08(金) 11:06:160198デフォルトの名無しさん
2005/07/08(金) 11:06:510199デフォルトの名無しさん
2005/07/08(金) 11:09:18スマソ、馬鹿だ
0200193=195
2005/07/08(金) 11:42:19納得。ほぼ同意。
私の自論だと、
--
・枠内(>180の┏内)におけるときは外はほぼ無視
・コーナーは取られないように死守
・自分が取るときは罠に填まらないように注意(特に最終局面は駒数次第)
・エッジは諸刃の剣(エッジで取り合いは避けたい)
・エッジの内側は安全地帯
・自分が偏らないよう相手を分断したい(手詰まり防止)
--
てな感じなんですが、さてどうプログラムに反映させたもんか…
#と思いつつ十数年も放置しているのは内緒。
0201デフォルトの名無しさん
2005/07/09(土) 05:45:30簡単に、四隅取らせてくれるよ。でも勝てない。
四隅とっても意味なくされる。むしろ、わざと取らせているかのよう。
どういう評価法をつかってるんだろと思う
0202デフォルトの名無しさん
2005/07/09(土) 06:14:53確か、壁際に4つ同じ並びになるのは全く構わないが
□□????□□
□□○○○○□□
――――――――
5つ並び、かつ、はみ出してない側の壁から2つめが同色となる形は愚形となる
□□???○□□
□○○○○○□□
――――――――
なぜなら、この形で右下を取ると、すぐに割り込まれて
下の壁側全部と共に、左下を取られてしまうから
□□???○□□ □□???○●□ □□???○○□ □□???○●□ □□????●□
□○○○○○□□ □○○○○○□□ □○○○○○□○ □○○○○○●○ ●●●●●●●○
―――――――― ―――――――― ―――――――― ―――――――― ――――――――
この形に名前が付いている程で、強い人の間では常識なはず。
だから、他に取る場所がなくなった時に、渋々壁の5つ目を取らせるように
□□●??○□□
□□○○○○□□
――――――――
この形を相手に作らせるようにしているはず。
評価法は知らんけどね。
0203デフォルトの名無しさん
2005/07/09(土) 06:19:49http://www.google.co.jp/search?hl=ja&q=%E3%82%AA%E3%82%BB%E3%83%AD+%E6%82%AA%E5%BD%A2&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0204193=195
2005/07/09(土) 09:10:19そうそう、それ。
某オセロゲームにその手でよく嵌められて悔しいからこそのこの辺。
>・自分が取るときは罠に填まらないように注意(特に最終局面は駒数次第)
>・エッジは諸刃の剣(エッジで取り合いは避けたい)
うーむ、せめてそのリンク先のサイトくらいは読まないと強いオセロにならなさそうだなぁ。
0205193=195
2005/07/09(土) 11:03:59>202のサイトの基礎のまとめを実装するだけで、そこそこ強い気がするので引用してみる。
--
隅をとることは重要
確定石を増やすことは重要
考え無しに X 打ちをしない
単独 C 打ちは危険
打てる箇所が多くなるようにする
自分の石が内側に固まるよう努める
--
1、4は簡単として、2、5がちょっと厄介か。3は曖昧だし、6となるとどう評価関数を作るか…
0206デフォルトの名無しさん
2005/07/10(日) 01:38:42辺(というのかフチのところ)用の評価をする。
マス1つ1つの値を返すんじゃなくてマス8つの状態から1つの値を返すわけだ。
3の8乗だったらテーブル化も出来るだろう。
0207デフォルトの名無しさん
2005/07/10(日) 11:33:44でやってみたら何故か弱かった
後半は多く取った方がいいのかな
0208デフォルトの名無しさん
2005/07/24(日) 17:28:500209デフォルトの名無しさん
NGNG評価関数の精度も抜群で、実質的にはもう完全解析に近い。
今さら研究対象にはならんよなぁ。
0210デフォルトの名無しさん
2005/08/29(月) 13:12:33実現は無理だろうけど大いに参考にはなるはず
0211デフォルトの名無しさん
2005/08/29(月) 13:52:10ハァ?
ゼブラなんて穴突けば楽勝なんだが。
0212デフォルトの名無しさん
2005/08/31(水) 12:21:07・Edax
・Saio
・Ntest
・Herakles
・Pirate
あたりだと思います。
ってmixiのコミュには書いてあった
0213デフォルトの名無しさん
2005/08/31(水) 21:51:010214デフォルトの名無しさん
2005/09/05(月) 20:13:190215デフォルトの名無しさん
2005/09/09(金) 17:13:00試しにオセロゲーム作ってみました。
敵の思考は、単なる乱数なのでとことんアホですが
最低限、ルールを忠実に守るレベルに達しただけで満足してしまいました。
みなさん凄いですね
0216デフォルトの名無しさん
2005/09/10(土) 03:11:260217デフォルトの名無しさん
2005/09/10(土) 04:44:30ん? >>215さんは、「C言語の本」を1冊半読んだのであって、オセロの思考ルーチンや
ツリーの探索の方法については、まだまだ初心者以前なんじゃないの?
つまんない煽りはやめたほうがいい。
0218デフォルトの名無しさん
2005/09/10(土) 05:13:05次はアルゴリズムの本にチャレンジ。
0219216
2005/09/10(土) 12:52:140220デフォルトの名無しさん
2005/10/13(木) 05:51:320221デフォルトの名無しさん
2005/11/24(木) 16:47:07Logisthello
0222ハーピィ
2005/12/05(月) 02:44:100223デフォルトの名無しさん
2005/12/06(火) 16:21:300224デフォルトの名無しさん
2005/12/06(火) 20:44:22普通に遊んでて真っ白だか真っ黒だかしたこと何回かあるけど
0225デフォルトの名無しさん
2005/12/06(火) 20:56:130226223
2005/12/06(火) 21:05:33白をとらないような戦略をとれば容易にできた。サンクス。
0227デフォルトの名無しさん
2005/12/06(火) 21:35:15それで
61個とかだともっと何回もある
0228デフォルトの名無しさん
2005/12/11(日) 05:04:010229デフォルトの名無しさん
2005/12/11(日) 05:04:320230デフォルトの名無しさん
2005/12/13(火) 01:16:46手を打つリバーシを作りたい。複数の手がある場合は適当に
選択。そこからだんだんと改良したい。
どんな感じでプログラムを組めばいいのか誰か解説頼む。
0231デフォルトの名無しさん
2005/12/13(火) 01:44:480232デフォルトの名無しさん
2005/12/13(火) 14:59:11白を取れるときは取るのがルール。
取れなければそこで試合終了です代。
0233デフォルトの名無しさん
2005/12/13(火) 18:58:23黒が白を取れなくても試合終了にはならない。
両者がどこにも置けなくなった時点で試合終了。
0234デフォルトの名無しさん
2005/12/13(火) 20:30:450235デフォルトの名無しさん
2005/12/13(火) 20:54:35ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1280.cpp
0236デフォルトの名無しさん
2005/12/15(木) 20:25:11> ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1253.cpp
うほっいいソースコード…
盤面はこれを使わせてもらおう
0237デフォルトの名無しさん
2006/02/05(日) 02:04:110238デフォルトの名無しさん
2006/04/02(日) 23:01:11プログラムは、Bookにでているような最善手には強い。
ちょっとはずしたところが弱い。
Bookからちょっとはずしたところで逆転して勝つというプログラムを作ればよい。
石差の評価関数が偶数でなく、奇数になるくらいのところ。
Zebraはかなりこの辺が弱い。
0239デフォルトの名無しさん
2006/04/03(月) 22:59:59オセロ作ってみました。アルゴリズムは適当。
変なとこあったら指摘お願いします。
0240デフォルトの名無しさん
2006/04/04(火) 17:51:42流れた・・・
再うpおねがいします
0241239
2006/04/04(火) 21:44:50再うpしました。
0242デフォルトの名無しさん
2006/04/13(木) 07:45:50ZEBRAなんかのBOOKは正確じゃないところがあり、もっといいBOOKを使用すれば強くなる。
0243デフォルトの名無しさん
2006/04/15(土) 23:22:05自分も多少Cの知識がありますが、どこでどの関数を使ったり、なぜifだの
do whileだの使ったりするのかが分かりません
0244デフォルトの名無しさん
2006/04/16(日) 01:14:08>どこでどの関数を使ったり、なぜifだの do whileだの使ったりするのかが分かりません
のレベルでは
>自分も多少Cの知識がありますが、
こんなこと言うのは烏滸がましい。
0245デフォルトの名無しさん
2006/05/13(土) 22:10:19他のコミュニティもあるし今更2chでやることもないのか。
0246デフォルトの名無しさん
2006/07/14(金) 12:57:01オセロの部分は他のソフトから持ってくるけど
0247デフォルトの名無しさん
2006/07/15(土) 10:58:12main thread ウィンドウの処理
port thread 接続待機スレッド
access thread 一時アクセス用スレッド
battle thread 対戦中に通信するスレッド
こんな感じでいいのかな?スレッドも初めて使うけどw
0248デフォルトの名無しさん
2006/07/15(土) 13:10:51パイレーツもかわいかったよね
0249デフォルトの名無しさん
2006/07/18(火) 14:18:410250デフォルトの名無しさん
2006/07/27(木) 14:40:000251デフォルトの名無しさん
2006/08/06(日) 23:39:280252デフォルトの名無しさん
2006/08/07(月) 12:50:41まあ、さすがに実務でオセロのエンジンを開発している人は
いないだろうけどね。っていうか、そんな仕事ないし。
> 人対人で最低限ルールを守るくらいのしか作れない
いやいや。それが一番大事な部分だよ。
プログラムが「ここはコマを次に打っていい場所」って
きちんと判断できないことには、ゲームが成立しないんだから。
打っていい場所を判別できるプログラムがあるなら、たとえ弱くても
人間相手に対戦できるプログラムを作るのは簡単だよね。極端な
話、盤の端から調べていって、最初に見つけた「コマを置いていい場所」
にコマを打つというプログラムでも、とにかくゲームにはなる。
もちろん、そんなんじゃまるで勝負にならないけど。
次の手としてどこを選ぶのがいいか? という点については、
ネットなり書籍なりで少しずつまねていけばいいよ。
>>157 で既出だけど、こんな本がある。
リバーシのアルゴリズム C++&Java対応
―「探索アルゴリズム」「評価関数」の設計と実装
http://www.amazon.co.jp/gp/product/4875934289
0253デフォルトの名無しさん
2006/08/11(金) 23:39:58経験無くても組めると思うけど
そんな、俺はしょぼい大学生
Cの講義と、C++の本でもある程度は組めるよ
でも、239氏のとか見てると感動する
0254デフォルトの名無しさん
2006/08/20(日) 16:34:29------------------------
|リバーシ2ch _□×|
------------------------
|メニューバー |
------------------------
| |
| ●○● |
| ● |
| |
| |
| |
------------------------
| お前が弱いな(緑) |
| オマエモナー(赤) |
------------------------
| 送信するメッセージ |
------------------------
|対戦中 あなたの番です |
------------------------
こんな感じのリバーシ作ろう思うんだけど
まだないよね?
0255デフォルトの名無しさん
2006/08/20(日) 16:48:000256デフォルトの名無しさん
2006/08/20(日) 17:03:520257デフォルトの名無しさん
2006/08/20(日) 21:09:56>>254みたいなGUIなオセロ作るにゃ何がいるんだ?
0258254
2006/08/21(月) 08:23:25pass 2ch
http://japanese-truth.hp.infoseek.co.jp/cgi-bin/upload.cgi?mode=dl&file=1156116104
このオセロのソースは他からの流用ね
0259254
2006/08/21(月) 08:28:45これからネットワーク部を作りたいんだけど
IPアドレスをなんかでやりとりしてそれを入力して対戦する感じに
仕様と思うんだけどどう?
0260デフォルトの名無しさん
2006/08/21(月) 12:38:470262デフォルトの名無しさん
2006/08/21(月) 13:30:08これとは違うの?
0263jyo
2006/08/21(月) 13:47:30計算トレーニングプログラムを作成したいですが?
計算は、足し算、引き算、掛け算、割り算を選択する。
桁数は1桁、2桁をはじめに選択する。
計算式の数値はランダムで表示する。
計算式及び、答えを配列に保存し、終了後に全て計算式と答えを表示する。
問題は10問とする。
そのときの点数を表示する。
結果表示の時、一緒にかかった時間も表示する
0264デフォルトの名無しさん
2006/08/21(月) 15:12:00日本語でok
0265258
2006/08/21(月) 15:34:49サーバーを用意して自動で取得するのかどっちかなんだよな
リバーシみんなオンラインもサーバーを使ってるけど
それじゃp2pの意味がない。
無料サーバー使うわけにもいかないしなw
0266デフォルトの名無しさん
2006/08/22(火) 02:42:58場合によっては、プロトコルをそのまま使えるかもよ。
0267デフォルトの名無しさん
2006/08/22(火) 10:04:41258ではないが検索しても見つからんぞ
URL教えて栗
0268266
2006/08/22(火) 23:55:19ゴメン、確かに見つからない。
漏れのディスクのバックアップ中からも見つからないからどこから入手したか判らないや。
#何度かディスクを飛ばしているから、ロストした可能性が高いと言えば高いのだが。
0269デフォルトの名無しさん
2006/11/08(水) 03:56:10・BitBoard
・MTD(f)
・Mobility
・パターン
・パリティ
・ブック
・Move Odering
・MPC
・WLD Solve
0270デフォルトの名無しさん
2006/11/09(木) 02:43:45揚げ足取りじゃないけどMove Orderingね。
読んで参考になるソース
http://www.radagast.se/othello/zebra.html
http://othellogateway.com/ntest/Ntest/index.htm
0271デフォルトの名無しさん
2006/12/15(金) 22:38:02http://pc8.2ch.net/test/read.cgi/tech/1165049332/
興味があれば是非。
0272デフォルトの名無しさん
2006/12/15(金) 23:03:330273デフォルトの名無しさん
2007/02/02(金) 20:59:240274デフォルトの名無しさん
2007/02/20(火) 01:20:51Thellの強、強+に勝てねーwwww
0275デフォルトの名無しさん
2007/02/21(水) 22:23:05開発環境はVC6。
ソース綺麗にするつもり無いです。
ここの
http://kasamatusan.sakura.ne.jp/
1MB
ichi76063.zip
zipパスは「mu」
0276デフォルトの名無しさん
2007/02/21(水) 22:33:140277デフォルトの名無しさん
2007/02/21(水) 22:35:14まじすか。打てる場所がなくなったんじゃなくて?
0278デフォルトの名無しさん
2007/02/21(水) 22:35:58○●
●○
0279デフォルトの名無しさん
2007/02/21(水) 22:37:05盤上に打てる場所のマークもある。
しかし入力を受け付けないようだ。
0280デフォルトの名無しさん
2007/02/21(水) 22:40:350281デフォルトの名無しさん
2007/02/21(水) 22:40:590282デフォルトの名無しさん
2007/02/22(木) 06:21:37ここで公開しようかなと思ったけどC言語じゃなかった。
0283デフォルトの名無しさん
2007/02/25(日) 12:35:160284デフォルトの名無しさん
2007/03/17(土) 10:04:270285デフォルトの名無しさん
2007/04/26(木) 18:26:260286デフォルトの名無しさん
2007/06/17(日) 15:10:350287デフォルトの名無しさん
2007/06/17(日) 16:45:330288デフォルトの名無しさん
2007/07/02(月) 00:46:080289デフォルトの名無しさん
2007/07/20(金) 20:24:530290デフォルトの名無しさん
2007/07/25(水) 19:18:260291名無しさん@そうだ選挙に行こう
2007/07/29(日) 18:49:340292デフォルトの名無しさん
2007/08/12(日) 01:11:550293デフォルトの名無しさん
2007/08/18(土) 15:00:330294デフォルトの名無しさん
2007/08/18(土) 17:16:410295デフォルトの名無しさん
2007/08/18(土) 17:18:280296デフォルトの名無しさん
2007/08/18(土) 17:20:480297デフォルトの名無しさん
2007/08/18(土) 17:28:16http://radagast.se/othello/zebra.tar.gz
GCCやMinGWでコンパイルできる
VC++だと少し書き換えが必要
あとzlibが必要
動かすには↓に同梱されてるbook.binとcoeffs2.binが必要
http://radagast.se/othello/wz424.exe
0298デフォルトの名無しさん
2007/08/19(日) 15:49:08gccだけでなく、gmakeも必要じゃん。
しかも「dir.hが無い」って言われた。
ANSIやISO規格にそんなん無いだろ。
もしかしてWin?
ちゃんとしたPOSIX規格の環境でmake
通るようにしる!
0299デフォルトの名無しさん
2007/09/03(月) 09:13:43ビルド環境を書いたら?
0300デフォルトの名無しさん
2007/09/17(月) 05:12:200301デフォルトの名無しさん
2007/09/17(月) 07:20:150302デフォルトの名無しさん
2007/09/17(月) 20:59:44居る
0303デフォルトの名無しさん
2007/09/18(火) 07:55:56強い?
0304デフォルトの名無しさん
2007/09/18(火) 12:54:09≒wzebra
0305デフォルトの名無しさん
2007/09/30(日) 09:43:070306デフォルトの名無しさん
2007/11/07(水) 19:48:530308デフォルトの名無しさん
2007/11/19(月) 12:46:09最強のオセロプログラムは人間では全く歯が立たないのでNO
0309デフォルトの名無しさん
2007/11/26(月) 20:12:18の改正版の再うpして頂けませんか?どなたか持っていませんかね
0310デフォルトの名無しさん
2007/11/27(火) 15:49:180312デフォルトの名無しさん
2007/11/27(火) 16:58:3964bit×2のbit boardで
0313デフォルトの名無しさん
2007/11/30(金) 05:32:0164bitのbit boardなら既にMMXで実現されてないか?
0314デフォルトの名無しさん
2007/11/30(金) 10:20:450315デフォルトの名無しさん
2007/11/30(金) 15:16:01入門書卒業の専門情報処理科だから綺麗な物は作れないけど
0316デフォルトの名無しさん
2007/11/30(金) 15:25:00最低でも人間の世界チャンピオン以上を目指すなら協力するよ
0317デフォルトの名無しさん
2007/11/30(金) 15:57:12おー、頑張れ。
0318デフォルトの名無しさん
2007/11/30(金) 16:08:03老若男女誰でも楽しめる、ほのぼのとしたオセロを作り上げてほしい
0319デフォルトの名無しさん
2007/12/01(土) 19:24:55頑張ります。中級者レベルになってみせますので僕に力を
>>317
はい
>>318
最強と最弱のLv設定を出来るようにしてみたいですね
とりあえずは先手は決まってる状態から作ってみて完成出来たら
それぞれ機能を追加して行くというのが理想です。
やってみたら難しくネット上のソース読んでるだけで一日が終わってる・・・
>>26の
┏━┯━┯━┯━┯━┯━┯━┯━┓
1┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
2┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
3┃ │ │ │ │ │ │ │ ┃
これ表示したかったけれど、盤の操作する関数が難しくなりそうなので
オレにはLvが高すぎる気がしてきた
0320デフォルトの名無しさん
2007/12/02(日) 09:03:54難しくはならないよ
まず長さ91もしくは100のint配列を用意して各マスの状態は空き:0、黒:1、白:2、壁:3で表す
この配列の表す盤面を画面にプリントする関数を作れ
0321デフォルトの名無しさん
2007/12/02(日) 18:32:47少しづつ出来てきたのでそれをうpするので、応用すれば表示出きるかYES/NOで
暇なときでいいですので答えて頂けませんか。
引き続き勉強行ってきます。
レス有難うございます
0322デフォルトの名無しさん
2007/12/03(月) 00:44:39がんばれ
0323デフォルトの名無しさん
2007/12/03(月) 02:59:21すばらしいオセロの表示
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5387.txt
0324デフォルトの名無しさん
2007/12/03(月) 04:35:27for(x=1; x < 9; x++){
state = getStone(pBoard,x,y);
switch (state) {
case NONE: stone = '.';break;
case BLACK: stone = 'B';break;
case WHITE: stone = 'W';break;
default: stone = 'E';
}
printf("%c",stone);
printf(" │");
}
↓
for(x=1; x < 9; x++){
state = getStone(pBoard,x,y);
switch (state) {
case NONE: printf(" "); break;
case BLACK: printf("●");break;
case WHITE: printf("○");break;
default: printf("変");
}
printf(" │");
}
0325デフォルトの名無しさん
2007/12/03(月) 08:15:41盤の表示だけは完成しました。あとは動きそうかな?程度に完成したあと
AI等実装していってみます。レス有難うございました。
0326デフォルトの名無しさん
2007/12/03(月) 10:34:47壁を省いた理由は何かあるの?
0327デフォルトの名無しさん
2007/12/03(月) 10:39:010328デフォルトの名無しさん
2007/12/03(月) 12:33:39気になって調べたのですが、壁があると着手状態のなんたらがやりやすい
みたいなのがあったので壁作る事にしました。
>>327
確認できた限りでは初期化の仕方間違ってる気がしたので壁ありで直しました
getStoneに関しては日本語の意味の間違いに気づき修正を
一通り出来たので次の工程にもう行くぜ!
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5389.txt
0329デフォルトの名無しさん
2007/12/03(月) 13:55:135389.txtを見ての感想
Boardの配列[10][10]という宣言では添え字は[0〜9][0〜9]を指定します。
紙に書くと判り易いと思いますが、座標ズレが発生しています。
0330デフォルトの名無しさん
2007/12/03(月) 14:09:58ばーか。
>>328
折角壁のスペースを確保しているのに、壁を無視して配置している希ガス。
0331329
2007/12/03(月) 14:22:10ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5390.txt
0332デフォルトの名無しさん
2007/12/03(月) 14:29:39ほらよ。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5391.txt
0333デフォルトの名無しさん
2007/12/03(月) 15:57:19アルファベットにするもんだよ。
0334デフォルトの名無しさん
2007/12/03(月) 16:21:130335デフォルトの名無しさん
2007/12/03(月) 17:07:43こんなにミス、無駄がある現実・・・
配列を全部書くとイメージが凄いしやすいんですね。>>331のtxt頂きました有難うございます。
>>332のstaticとか縁の無い関数でしたが今少し使い道が分かった気がしました。
配列の初期化の方法でこういう方法がありましたかw参考になりました。
指摘コメントまで有難うございました。
>>333
列をアルファベットにするのが一般的っぽいので書き直す事にします
>>334
そこも直した方がいいみたいですね。ですがBOARDSIZEにしたら逆に見た目で
判断しずらくなったので長ったらしくなるまで少しの間数字にしておこうか迷う
0336デフォルトの名無しさん
2007/12/03(月) 17:55:31オセロの派生版を作る野望がホンの微かでもないなら、8の決め打ちでもいいんじゃね?
BOARDSIZEを7にしたらどうせ同じルールじゃできなくなるわけだし。
0337デフォルトの名無しさん
2007/12/11(火) 14:49:59最近は進んでるかい?
0338デフォルトの名無しさん
2007/12/14(金) 02:48:51派生盤等は現状で自分には考えられませんので決め打ちにしてみます。
PC戻ってきてもOCN規制で2chに書き込めず携帯から2ch発見しましたw
やれなかった分追い込みます。
0339デフォルトの名無しさん
2007/12/15(土) 03:14:440340デフォルトの名無しさん
2007/12/15(土) 03:18:28協力するよ
0341339
2007/12/15(土) 08:44:36http://www.vipper.org/vip691346.txt.html
かなり時間かかった。
とりあえず寝よう。。。
0342デフォルトの名無しさん
2007/12/15(土) 09:33:490343デフォルトの名無しさん
2007/12/15(土) 10:24:16勝手にアドバイスさせてもらうと、
isPlaceable() 内のdx, dyを
dx[] = {-1, 0, 1, -1, 1, -1, 0, 1};
dy[] = {-1, -1, -1, 0, 0, 1, 1, 1};
とすると、ループで書ける(x+dx[i]*count の形で表せる)のですっきりするよ。
同様にplace() も簡潔に書けると思う。
0344339
2007/12/18(火) 00:58:47なんとかループに直すことができました。
あと、とりあえずランダムに打つAIをのっけてみました。
http://www.vipper.org/vip693247.txt.html
次は適当な評価関数を作ってMinMax法を実装してみようと思います。
0345デフォルトの名無しさん
2007/12/18(火) 01:03:45盤面はどうやって戻すつもり?
0346339
2007/12/18(火) 01:48:53差分(打った場所、引っくり返した場所)を取っておこうかと思うのですが
はたしてこのままでいけるのかどうか実はよくわかってないです・・・
0347デフォルトの名無しさん
2007/12/23(日) 14:21:20作りこんでいくと遊び感覚でプログラミングの基本が勉強できるから良い課題だと思う。
中級を目指すなら、そのうち以下くらいは挑戦してみては? (今は意味不明かもしれんが・・・)
ポインタ→各種関数へのデータの引渡し
構造体→各種状態の保存
共用体→汎用関数からのステータス
ツリー構造→着手進行から高速サーチ可能なBook
再帰呼び出し→MinMax探索(αβ探索)
線形リスト→探索関数内での空マス保持リスト
ハッシュテーブル→探索局面の置換表
ソート→Move Ordering
F/W開発するハードエンジニアには、
ビット操作(含むMMX)→ビットボードによる高速化
同時実行率の高いコードの作成→処理の高速化
CPUキャッシュヒット率の高いコードの作成→処理の高速化
なんかも面白いと思う。
モンテカルロ法とか使って囲碁のプログラム書くのも良いけど、
基本の勉強にはオセロの方が色んな意味でわかり易い。
0348デフォルトの名無しさん
2007/12/23(日) 14:31:250349デフォルトの名無しさん
2007/12/23(日) 14:39:260350デフォルトの名無しさん
2007/12/23(日) 17:29:240351デフォルトの名無しさん
2007/12/24(月) 04:18:330352デフォルトの名無しさん
2008/01/16(水) 03:59:48スタックのがいいのですかね?
0353デフォルトの名無しさん
2008/01/16(水) 04:06:500354デフォルトの名無しさん
2008/01/16(水) 05:47:39スタックを用いるといいのは盤面をintか何かの配列で表現するとき。
bit boardで表現するときは盤面全体をコピーしたほうがいいからスタックは不要。
0355デフォルトの名無しさん
2008/01/16(水) 06:04:20配列で表現してみた方が自分にはイメージしやすいので、スタックを考慮して考えてみる事にします
レスありがとうございました!
0356デフォルトの名無しさん
2008/01/20(日) 02:47:48実際に対戦してみて経験を積むようなプログラムって
どのように書けばよいのでしょうか
0357デフォルトの名無しさん
2008/01/20(日) 05:09:44強化学習が当てはまるけど
それぞれ独立した手法で通常は併用されるもの
0358デフォルトの名無しさん
2008/01/20(日) 05:40:58http://www.vector.co.jp/soft/winnt/game/se415793.html
0359デフォルトの名無しさん
2008/01/20(日) 10:03:160360デフォルトの名無しさん
2008/01/21(月) 01:25:32http://mori.eco.to/
0361デフォルトの名無しさん
2008/01/23(水) 00:02:55確かHeraklesも使ってるんだっけ
0362デフォルトの名無しさん
2008/01/27(日) 06:19:42先手、後手ともに最善の手を取った場合を数手先読みし最善の場所を
決めるのがMiniMax法ですよね?
いざ実装してみようと試みたのですが最善手を評価する際のMAXとMIN
を以下のようにしたのですが、このようなやり方はダメな例ですか?
まずBord[10][10]というメインとなるボードと、それとは別に8*8の盤面にあらかじめ
数値を入れた盤面 (この数値の差分から数手先の最善手を決める) を用意しようと
考えています。
0364デフォルトの名無しさん
2008/01/27(日) 09:43:00とりあえずMiniMax法を作る上でのコツか何かありませんか
0365デフォルトの名無しさん
2008/01/27(日) 10:44:34プログラム例が載ってる本でも買えば?
0366デフォルトの名無しさん
2008/01/27(日) 10:45:23{
for (i = 0; i < n; i++) {
move (i);
v = -minmax (-max, -min);
undo ();
if (v > max)
return v;
if (v > min)
min = v;
}
return min;
}
今30秒くらいで書いたけど基本はこれだけだと思う
0367デフォルトの名無しさん
2008/01/27(日) 11:30:57ネット上の読み物で出来たらいいんですが、買うことを考えるべきですかね・・・
>>366みてみるとundoとかいう機能を作りずらい作りになってしまっている予感です
ネット上の拾いものからその行程が出来ないか試してみます
参考例ありがとうございました
0368デフォルトの名無しさん
2008/01/27(日) 15:40:510369デフォルトの名無しさん
2008/01/27(日) 15:46:51まじで。
0370デフォルトの名無しさん
2008/01/27(日) 19:02:14#define BOARD_SIZE 8
int Board[10][10];
自作関数1: ・x と y の座標を引数に貰い、Board[x][y] ( A1と打ったならば x = A(1)、y = 1 )
について8方向を調べたあと置ける場所があるならばその場所を 返し、ひっくり返す。
・調べる方向は左上からy行x列方向に。
・手を指して次の盤面の状態にする
0371デフォルトの名無しさん
2008/01/27(日) 19:03:38>>366での
for (i = 0; i < n; i++) {
move (i);
v = -minmax (-max, -min);
undo ();
の部分だと思います
─────────────────────────────────────────
/* ネット上の拾いものの解説 */
while( 打てる手がある ){
�@手を差して次の盤面を作る;
�Aval = minimax( 盤面, depth - 1 ); 一手先を読む再帰。3手まで読んでみるつもり
�B盤面を1手戻す;
─────────────────────────────────────────
/* 上記を例に作ってみた */
blackturn( int **board , depth ) 2次元配列のポインタと、3手読みたいので3を貰う
{
int val;
if( depth == 0 ) return 評価値(盤面);
for( y=1; y<=BOARD_SIZE; y++ ) { 盤面全部を検索し置ける場所を8*8全部調べる
for( x=1; x<=BOARD_SIZE; x++ ) {
�@ if( 自作関数1 ) { board[x][y]に石が置けるならひっくり返してみる
ターンを次にする;
色を変える;
�A val = blackturn( &board , depth - 1 );
�B問題点 ここの処理がスタックを用いておらず出来ません。通常どのように行って居るのでしょうか?
長々と見ずらく申し訳ないですが伝わって頂ければ幸いです
0372デフォルトの名無しさん
2008/01/27(日) 19:56:38返した場所の代わりに方向とそれぞれの方向で返した数を記録してもいい
0373デフォルトの名無しさん
2008/01/27(日) 20:26:17ネット上からスタックの例を見て条件満たせるよう作ってみます。
レスどうもありがとうございます!
0374デフォルトの名無しさん
2008/01/27(日) 20:26:47あとは人間との対局で統計データを取りながら
自動的にぎりぎりの強さで負けるような
ナチュラルな強さ調整機能をつけてくれ。
0375デフォルトの名無しさん
2008/01/27(日) 20:28:110376デフォルトの名無しさん
2008/01/27(日) 22:15:23お前のことか?
0377デフォルトの名無しさん
2008/01/27(日) 23:05:050378デフォルトの名無しさん
2008/01/27(日) 23:56:000379デフォルトの名無しさん
2008/01/28(月) 00:25:110380デフォルトの名無しさん
2008/01/28(月) 04:15:180381デフォルトの名無しさん
2008/01/28(月) 04:33:45がんばれ
0382デフォルトの名無しさん
2008/01/28(月) 06:23:57糞コード全開だぜ・・・
0383デフォルトの名無しさん
2008/01/28(月) 06:53:01石を返す”場所”をスタックに書き込む処理というのは
Board[x][y]というBoardがあったとしますよね。
f5という入力の場所の記録を行う場合には
f5という数値を入れるのでしょうか?
スタックには
← スタックポイントがここ
方向
石の数
場所
方向
石の数
場所(F5) 1番最初のデータ
という風に入れればいいのでしょうか?
0384デフォルトの名無しさん
2008/01/28(月) 10:14:42これ無視して下さい。一から作り直すことにします
0385デフォルトの名無しさん
2008/03/06(木) 22:37:11可能です。
以上。
はい、次。
0386デフォルトの名無しさん
2008/03/06(木) 23:05:430387デフォルトの名無しさん
2008/03/07(金) 08:51:01最近の流行
0388デフォルトの名無しさん
2008/03/07(金) 09:00:180389デフォルトの名無しさん
2008/03/23(日) 01:42:360390デフォルトの名無しさん
2008/06/19(木) 01:43:370391デフォルトの名無しさん
2008/06/19(木) 01:46:010392デフォルトの名無しさん
2008/06/20(金) 10:10:580393デフォルトの名無しさん
2008/06/20(金) 10:14:200394デフォルトの名無しさん
2008/07/01(火) 20:58:300395デフォルトの名無しさん
2008/07/02(水) 13:25:00全データローカルスタックに取るわけにも行かないし
0396デフォルトの名無しさん
2008/07/02(水) 16:30:33×検索
○探索
0397デフォルトの名無しさん
2008/08/04(月) 03:03:57パターン、パリティ、クアッドパリティ、モビリティ、ポテンシャルモビリティ、他にあれば教えてください。
思いつきでもかまいませんので。
0398デフォルトの名無しさん
2008/08/05(火) 01:00:46αβ探索で深読みすると浅読みで良手だったのが悪手になったりするでしょ?
これって、その局面を進めていくとそういう局面を発見するからだって考えがちだけど、
単純に考えれば、浅読みの評価値が間違っているとも言える訳で。
評価関数が、局面の善悪を出力するのなら、1手読みで十分な筈でしょ?
俺としては、深読みが有効なのは評価値にはランダムな誤差があって、
何段ものミニマックス探索がその誤差をフィルタリングする結果、
安定度の高い(評価誤差が少ない)局面を選択できるからだと思ってるんだよね。
今はパターンの重みを決める時とかは、結果的にそのパターンが現れた時の
最終的な石差の平均値に収束するように決めてるでしょ?
でも、実際にはそのパターンが現れた時に勝つこともあれば負けることもある。
勝てる局面で下手をして負けるってこともあるけど、
実はそうではなくて、そのパターンを含む局面は本質的に不安定なのかもしれない。
と、考えてみると安定度というパラメータが見えてくる。
パターンAは50%は大負けで50%は大勝だとすると
普通に学習させるとこのパターンは勝ち負けに影響しないと判断されて重みは0になる。
10%は僅差負けで90%は大勝のパターンBと100%僅差勝ちのパターンCでは、
10%は僅差で負けるパターンBの重みの方が大きくなるのが普通だよね?
それで良いんだろうか?ってこと。
これらのパターンが選択可能な時、より確実に勝ちたかったら、パターンCを選びたいよね?
安定度っていうのはそういうこと。
今の評価関数にはこういうのが入っていないと思う。
0399デフォルトの名無しさん
2008/08/07(木) 02:53:31評価関数が正確なら1手読みで十分だけれど、
逆に、
局面が最後まで読めるのなら
評価関数は石数を数えるだけで良いと考えると
読みの深さを増やすほど強くなりそうなことがわかる
だから、評価関数を正確にすることだけではなく
計算速度が速い評価関数が使われてるんだ。
>今はパターンの重みを決める時とかは、結果的にそのパターンが現れた時の
>最終的な石差の平均値に収束するように決めてるでしょ?
評価にMinimaxが使われているのだから、
評価関数のスコアも平均値ではなくて、
自分、相手が共に評価関数の決める最善手を指したときのスコアに
近づくようになってると思う。
だから
>パターンAは50%は大負けで50%は大勝だとすると
>普通に学習させるとこのパターンは勝ち負けに影響しないと判断されて重みは0になる。
>10%は僅差負けで90%は大勝のパターンBと100%僅差勝ちのパターンCでは、
>10%は僅差で負けるパターンBの重みの方が大きくなるのが普通だよね?
こんな風に勝率で評価関数を決めていないと思うんだが。
もし、そのやり方に沿って決めるなら
Minimax法が使えなさそう。
0400デフォルトの名無しさん
2008/08/08(金) 02:15:55評価関数が局面から一定の値を導出するのであれば(極端な話、ハッシュ関数でも)
AIとしての強弱はともかくMinimax法は使える。
0401デフォルトの名無しさん
2008/08/08(金) 20:50:29はぁ?
0402デフォルトの名無しさん
2008/08/08(金) 23:45:000403デフォルトの名無しさん
2008/08/09(土) 00:13:500404デフォルトの名無しさん
2008/08/09(土) 01:26:460405デフォルトの名無しさん
2008/08/09(土) 02:06:450406デフォルトの名無しさん
2008/08/09(土) 09:09:260407デフォルトの名無しさん
2008/08/09(土) 13:31:150408デフォルトの名無しさん
2008/08/11(月) 02:16:500409デフォルトの名無しさん
2008/08/11(月) 09:37:27ワロタ
0410デフォルトの名無しさん
2008/08/12(火) 12:20:09>>366に枝狩りの処理を入れたらアルファベータ?
どうでもいいけど評価値得てないよ・・・ minとmaxをアホみたいに
引っくり返してるアホ関数だなそれはw
0411デフォルトの名無しさん
2008/10/20(月) 02:17:590412デフォルトの名無しさん
2008/12/04(木) 20:42:210413デフォルトの名無しさん
2008/12/05(金) 12:29:18優先順位に置く
完成
0414デフォルトの名無しさん
2008/12/06(土) 16:57:36>もう世界一のプロが敗北してだいぶ経つんだし強さはもういらないだろ。
勝ち切る手のDB出来ちゃったからな
>あとは人間との対局で統計データを取りながら
>自動的にぎりぎりの強さで負けるような
>ナチュラルな強さ調整機能をつけてくれ。
序盤20手:大負けしない手を打つ
中盤20手:引き分けか2手差で負けるくらいの手を打つ
終盤20手:全力で勝ちに行く
このくらいでナチュラルに強い打ち手になると思うけど
0415デフォルトの名無しさん
2008/12/06(土) 16:58:56すまんこ
0416名無し
2008/12/25(木) 01:19:00父親が森田オセロ(8bitパソコン)より強いヤツをめざして、ORや多次元尺度など色んな手法を試していたな。
0417デフォルトの名無しさん
2008/12/26(金) 15:13:510418デフォルトの名無しさん
2008/12/26(金) 22:34:130419デフォルトの名無しさん
2008/12/30(火) 23:36:120420デフォルトの名無しさん
2008/12/31(水) 01:16:31NetBSD/MIPSだが、動かないぞ。
0421デフォルトの名無しさん
2008/12/31(水) 01:35:470422デフォルトの名無しさん
2008/12/31(水) 08:00:33ないにしても、どういうテンプレートにしておけば組み込みやすいのだろうか?
データ構造とか、必要な関数とか、それらの関係性とか。
前に(学部でC++習ったときのプロジェクト)オセロ作ったことあるんだけど、
今見ると、この構成じゃ、思考ルーチンいれにくいなぁと思ったのであります。
0423デフォルトの名無しさん
2008/12/31(水) 12:13:570424デフォルトの名無しさん
2008/12/31(水) 12:42:09技術的にはそうだけど実際の強さは自分より強い物が作れるだろ
第一技術的に高度な物が強くなるとは限らないし
0425デフォルトの名無しさん
2008/12/31(水) 12:44:05プログラマがチャンピオンより強かったわけじゃないしな。
0426424
2008/12/31(水) 12:45:25そういうこと
0427デフォルトの名無しさん
2008/12/31(水) 19:22:260428デフォルトの名無しさん
2008/12/31(水) 22:56:490429デフォルトの名無しさん
2009/01/01(木) 00:34:420430デフォルトの名無しさん
2009/01/03(土) 20:27:48あらかじめ独立化することを考えておかないと、修正は難しいだろうね
どうせなら思考部分を別プロセスにすると、プログラム同士で対戦とか
簡単に出来て面白そう
Windowsだとoverhead大きいかな
0431デフォルトの名無しさん
2009/01/03(土) 21:08:140432デフォルトの名無しさん
2009/01/06(火) 15:41:18チェスのChess Engine Communication Protocolみたいに規格を決めればいいんじゃねえの。
参照:http://www.tim-mann.org/xboard/engine-intf.html
0433デフォルトの名無しさん
2009/01/06(火) 16:19:31GGSっていうサーバを介するのが一般的
0434デフォルトの名無しさん
2009/01/06(火) 16:57:040435デフォルトの名無しさん
2009/01/14(水) 20:53:49光学的なコマンドを打つ。
光学的なコマンドを打つ。
物理段差という肉体計算の処理です。
この手の光線にきづかないように。
1+x+x+1+a+x+x+a+x+x+a+a+a+a+a+a+1+a+a+a+a+a+a+a+a+a+a+a+a+a+a
+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a
+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a
+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a
+a+a+a+a+a+a+a+a+a+a+a+a+a a 1
0436デフォルトの名無しさん
2009/01/14(水) 20:54:560437デフォルトの名無しさん
2009/01/14(水) 20:56:06>>453は>>423のオセロの作者です。
0438デフォルトの名無しさん
2009/01/14(水) 20:57:09>>453は>>423のオセロの作者によるものです。
0439デフォルトの名無しさん
2009/01/14(水) 21:00:29>>453は>>422のオセロの作者によるのです。
0440デフォルトの名無しさん
2009/01/14(水) 21:01:47上記更新
0441デフォルトの名無しさん
2009/01/14(水) 21:02:370442デフォルトの名無しさん
2009/01/14(水) 22:15:20おいおい、まじかよ。冗談じゃないぜ。
0443デフォルトの名無しさん
2009/01/17(土) 23:51:52貴様は誰に者を言っているんだ?
0444デフォルトの名無しさん
2009/01/18(日) 22:02:330445デフォルトの名無しさん
2009/02/08(日) 17:45:070446デフォルトの名無しさん
2009/02/08(日) 18:03:170447デフォルトの名無しさん
2009/02/13(金) 06:22:510448デフォルトの名無しさん
2009/02/27(金) 22:21:43つーかオセロで手を戻す時に必要なのは(2次元配列で)
�@パスのフラグ
�A打った場所
�B打つ一手前がパスなのかのフラグ
ぐらいか?
0449デフォルトの名無しさん
2009/02/27(金) 23:10:180450デフォルトの名無しさん
2009/03/02(月) 06:38:17単純なスタックで済む。しかも速かったりする。
0451SimGlobe
2009/03/18(水) 01:11:17シンプルなシュミレーションソフトです。
希少鉱物の発見を追求するシュミレーションソフトです。
将棋の駒が登場します。
オセロの要素も加味されています。
ダウンロードして25ターンまで、無料で試すことができます。
それ以降は有料です。
ご購入お待ちしています。
ホームページにジャンプ。
http://members3.jcom.home.ne.jp/runsight/
0452デフォルトの名無しさん
2009/03/18(水) 01:22:070453デフォルトの名無しさん
2009/03/18(水) 10:11:310454デフォルトの名無しさん
2009/03/18(水) 10:13:190455デフォルトの名無しさん
2009/03/18(水) 20:12:290456デフォルトの名無しさん
2009/03/18(水) 22:10:470457デフォルトの名無しさん
2009/08/14(金) 06:28:570458デフォルトの名無しさん
2009/08/18(火) 13:09:42おい
0459デフォルトの名無しさん
2009/10/23(金) 20:54:35これには載ってないもので是非実装しろっていう技術ある?
あれば教えてくださ
0460デフォルトの名無しさん
2009/10/24(土) 00:29:000461デフォルトの名無しさん
2009/10/24(土) 05:17:120462デフォルトの名無しさん
2009/10/25(日) 10:52:580463デフォルトの名無しさん
2009/10/26(月) 13:29:490464デフォルトの名無しさん
2009/11/01(日) 04:28:15ビットボードとか
0465デフォルトの名無しさん
2010/07/03(土) 00:06:440466デフォルトの名無しさん
2010/07/03(土) 00:07:100467デフォルトの名無しさん
2010/07/28(水) 19:17:070468デフォルトの名無しさん
2010/09/17(金) 23:44:170469デフォルトの名無しさん
2010/09/18(土) 00:00:550470デフォルトの名無しさん
2010/10/07(木) 13:29:200471ななし。
2011/07/27(水) 19:06:50.520472デフォルトの名無しさん
2012/02/12(日) 12:37:30.170473デフォルトの名無しさん
2012/06/19(火) 15:27:49.510474デフォルトの名無しさん
2012/06/19(火) 20:31:29.650475デフォルトの名無しさん
2012/06/23(土) 17:51:04.591000 :uy ◆xVOGOO9ev6 :2012/06/23(土) 12:35:29.68
俺は動的言語の問題点をいくつあげてもwwwww
静的言語よりはマシだと確信してるわwwwwwwwwwwwwwwwww
静的言語の問題点をなぜ挙げないかって??
見放してるから、問題点を指摘さえしないってことだよwwwwwwwwwww
気づけバカwwwwwwwwwwwwwww
0476できたかな???
2012/07/21(土) 14:57:37.030477sage希望
2012/07/21(土) 14:59:57.760478デフォルトの名無しさん
2012/07/21(土) 15:49:21.23■ このスレッドは過去ログ倉庫に格納されています