04/06/23 17:34
素晴らしいものだぞ
2:デフォルトの名無しさん
04/06/23 17:36
(●3○) エェー
3:デフォルトの名無しさん
04/06/23 17:37
>>1は2進数だけで作成されたデータです。
まだ未完成なので放置してください。
4:デフォルトの名無しさん
04/06/23 17:41
中島&松島?
5:デフォルトの名無しさん
04/06/23 17:45
そういえばオセロチャンピオンがスパコンとやってまったく歯が立たなかった
ときの一言
オセロチャンピオン「神のような強さだった!」
6:デフォルトの名無しさん
04/06/23 17:45
オセロは2進数で出来ています。
●=0
○=1
7:デフォルトの名無しさん
04/06/23 17:49
>>1 がつくったらいいんじゃないか?
8:デフォルトの名無しさん
04/06/23 18:01
>>1
オリバーパーカーとオーソンウェルズのどっちに近いのをつくるのかね?
9:デフォルトの名無しさん
04/06/23 18:04
>>5
枝刈りとかケチな事言わずに
全手検索くらいしそうだもんな。
終末まで予見するのは神かも試練。
10:デフォルトの名無しさん
04/06/23 18:11
This is kusosure!!
11:デフォルトの名無しさん
04/06/23 18:36
●●○○●
●○○●●
●●○○●
○●○●○
●●○○●
12:デフォルトの名無しさん
04/06/23 19:01
>>6
まだ置いてないとこはどう表現するんだ?
13:デフォルトの名無しさん
04/06/23 19:35
11でも10101010でもすきなのをどうぞ。
>>6には1ビットとは書いてない。
14:デフォルトの名無しさん
04/06/23 20:03
オセロ板のデータ構造はどうするんだ。
状態は3つか。 白、黒、空。
15:デフォルトの名無しさん
04/06/23 20:11
>>14
もう一つ、盤面外というのもあった方がいいかも。
16:デフォルトの名無しさん
04/06/23 20:50
はみ出るの
17:デフォルトの名無しさん
04/06/23 23:03
('A`)(゚∀゚)
(゚∀゚)('A`)
----------------------------
('A`)(゚∀゚)
(゚∀゚)('A`)(゚∀゚)
----------------------------
('A`)(゚∀゚)
('A`)('A`)('A`)
18:デフォルトの名無しさん
04/06/23 23:07
>16
4444444444
4000000004
4000000004
4000000004
4000210004
4000120004
4000000004
4000000004
4000000004
4444444444
とかすると挟む判定がやりやすいのだ
19:デフォルトの名無しさん
04/06/24 00:08
>>18
その都度判断するのはめんどくさいんで、テーブルでやるのが良し。
20:デフォルトの名無しさん
04/06/28 23:53
15年ほど前、森田オセロのソースコードが書籍になったことがあったな。
21:デフォルトの名無しさん
04/06/29 17:52
URLリンク(pc.2ch.net)
337 名前:トリッキーの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などの変な入力をチェックしていないので、即クラッシュします。
両者置けなくなったらプログラム終了です。自分で数えてください。
もっとも、このコンピュータは激弱ですので負けようがないとおもいますが(笑
22:デフォルトの名無しさん
04/07/08 19:38
>>21
是非頂きたいものです。
23:デフォルトの名無しさん
04/08/14 01:23
#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";
24:続き。(勝手に整形プログラムに通してみた。)
04/08/14 01:23
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;
}
25:デフォルトの名無しさん
04/08/17 08:27
URLリンク(s03.2log.net)
26:デフォルトの名無しさん
04/08/21 12:58
URLリンク(up.isp.2ch.net)
作ってみますた。
画面イメージはこんな感じ↓
1 2 3 4 5 6 7 8
┏━┯━┯━┯━┯━┯━┯━┯━┓
1┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
2┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
3┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
4┃ │ │ │○│●│ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
5┃ │ │ │●│○│ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
6┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
7┃ │ │ │ │ │ │ │ ┃
┠─┼─┼─┼─┼─┼─┼─┼─┨
8┃ │ │ │ │ │ │ | ┃
┗━┷━┷━┷━┷━┷━┷━┷━┛
最強ではないけど、結構強い。
初心者が勝てない、中級者が苦戦するレベル