トップページ⇒tech
66コメント22KB

リバーシ作成スレッド

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
リバーシ(オセロ)をみんなで設計・開発しましょう。
詳細は>2-9あたり。
0002デフォルトの名無しさんNGNG
終了
0003OOスレの981NGNG
板違い
ゲーム製作板逝け。
0004デフォルトの名無しさんNGNG
2ゲトズサ
0005デフォルトの名無しさんNGNG
類似スレありそうな予感。
00061NGNG
ソース置き場はここ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1033919632&rm=100
00071NGNG
このスレの趣旨

リバーシの作成を通して、オブジェクト指向プログラミング・設計開発のお勉強をするスレです。
なので見栄えや強さではなく、クラス構造・拡張性などについて主に議論しましょう。

ソースは原則公開で改変も自由です。
0008デフォルトの名無しさんNGNG
ゲーム製作板
http://game.2ch.net/gamedev/
0009デフォルトの名無しさんNGNG
ゲーム製作板
http://game.2ch.net/gamedev/


0010デフォルトの名無しさんNGNG
ゲーム製作板
http://game.2ch.net/gamedev/





0011デフォルトの名無しさんNGNG
ツクダオリジナル
0012デフォルトの名無しさんNGNG
ゲーム製作板
http://game.2ch.net/gamedev/







0013デフォルトの名無しさんNGNG
なんだ。↓の粘着OO厨が立てた糞スレかよ。
OOPは常識も欠落させてしまうのかい?

http://pc3.2ch.net/test/read.cgi/tech/1032985885/
0014デフォルトの名無しさんNGNG
粘着アンチかと。
0015デフォルトの名無しさんNGNG

本スレ「オブジェクト指向は戦場では〜」はこちらに移動したもよう。

http://pc.2ch.net/test/read.cgi/prog/1033919004/l50
0016プロの逝って良しの1NGNG
そいつは偽物。
だれかこっちに立てて。

オブジェクト指向は戦場では必要なしパート10

オブジェクト指向はより自然なモデルに即したものではあるが、
クラスを理解する労力が大きく、目的まで達成するのに時間がかか
る。他人のソースを見るにも複雑でときほぐしにくい。ちゃんと
整備されたドキュメントがなければ粗大ゴミソース。またオブジェ
クト指向が○○に優れているとかいう話も、あくまでちゃんと設計
され、ちゃんと実装されたクラスがあるという前提での話。実際は
世の中にはそれほど有能なSEやPGなどいません。
 よってオブジェクト指向は戦場では使いものになりません。
(byあいたたたた)

パート1 http://pc.2ch.net/test/read.cgi/tech/1011997945/
パート2 http://pc.2ch.net/test/read.cgi/tech/1013266554/
パート3 http://pc.2ch.net/test/read.cgi/tech/1013875413/
パート4 http://pc3.2ch.net/test/read.cgi/tech/1021468476/
パート5 http://pc3.2ch.net/test/read.cgi/tech/1027983898/
パート6 http://pc3.2ch.net/test/read.cgi/tech/1029297075/
パート7 http://pc3.2ch.net/test/read.cgi/tech/1030029357/
パート8 http://pc3.2ch.net/test/read.cgi/tech/1031028125/
パート9 http://pc3.2ch.net/test/read.cgi/tech/1032985885/
0017プロの逝って良しの1NGNG
せっかくOOが使えるか使えないか実証してるとこだったのに・・・。
0018デフォルトの名無しさんNGNG
>>15を使えばいいじゃん。
迷惑だなぁー
0019プロの逝って良しの1NGNG
実証されたら迷惑ということでしょうか?
0020デフォルトの名無しさんNGNG
>>19
向こうでやれってこと。問題ないっしょ。向こうのプログラまも
馬鹿ではないんだし。
0021デフォルトの名無しさんNGNG
7行オセロ

#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;}
0022プロの逝って良しの1NGNG
じゃこっちでやっても問題ないということになりますがね
0023デフォルトの名無しさんNGNG
そうだね。このスレはみ
0024デフォルトの名無しさんNGNG
じっしょう 【実証】
(名)スル

(1)事実によって証明すること。また、確実な証拠。「理論の正しいことが実験で―された」「―を重んじる研究態度」
(2)漢方で、体力が充実して疾病に対する抵抗力の強い体質をいう。または機能が亢進したり、生理的物質が過剰になった病的状態のこと。⇔虚証
0025デフォルトの名無しさんNGNG
>プロの逝って良しの1

逝って良し
0026デフォルトの名無しさんNGNG
角なしオセロまだ?
0027デフォルトの名無しさんNGNG
このタイトルで誰が来るんだよ。
0028プロの逝って良しの1NGNG
まあいいや、続けたい人が居るなら誰か代りに立てて

オブジェクト指向は戦場では必要なしパート10

オブジェクト指向はより自然なモデルに即したものではあるが、
クラスを理解する労力が大きく、目的まで達成するのに時間がかか
る。他人のソースを見るにも複雑でときほぐしにくい。ちゃんと
整備されたドキュメントがなければ粗大ゴミソース。またオブジェ
クト指向が○○に優れているとかいう話も、あくまでちゃんと設計
され、ちゃんと実装されたクラスがあるという前提での話。実際は
世の中にはそれほど有能なSEやPGなどいません。
 よってオブジェクト指向は戦場では使いものになりません。
(byあいたたたた)

パート1 http://pc.2ch.net/test/read.cgi/tech/1011997945/
パート2 http://pc.2ch.net/test/read.cgi/tech/1013266554/
パート3 http://pc.2ch.net/test/read.cgi/tech/1013875413/
パート4 http://pc3.2ch.net/test/read.cgi/tech/1021468476/
パート5 http://pc3.2ch.net/test/read.cgi/tech/1027983898/
パート6 http://pc3.2ch.net/test/read.cgi/tech/1029297075/
パート7 http://pc3.2ch.net/test/read.cgi/tech/1030029357/
パート8 http://pc3.2ch.net/test/read.cgi/tech/1031028125/
パート9 http://pc3.2ch.net/test/read.cgi/tech/1032985885/
0029デフォルトの名無しさんNGNG
結局どうすんだ?
ム板で立て直すのか?
0030デフォルトの名無しさんNGNG
このグズグズ感はまちがいなく前スレから引き継いでるものだな
0031プロの逝って良しの1 ◆MvRbZL6NeQ NGNG
俺としてはこっちで立てて欲しいなあ
板変わると参加者減るし。
俺のプロバイダでは立てられないし。
0032デフォルトの名無しさんNGNG
>>31
そうかなあ 個人的な印象としてム板は言語厨とか主に勉強中のヤシが
くるから、現場でやってる人が多そうなマ板のほうで参加者つのるのもいいと思うけど
0033プロの逝って良しの1 ◆MvRbZL6NeQ NGNG
じゃあ、参加者が集まるか、それ次第ということで。

このスレは問題外だけど。
0034デフォルトの名無しさんNGNG
リバーシをするスッドレとして再利用しよう
0035デフォルトの名無しさんNGNG
リバーシごときでスレ立てるかあ?
アフォくさ
0036デフォルトの名無しさんNGNG
>>35
オセロ祭り用だと思われ
0037デフォルトの名無しさんNGNG
"prologでオセロ"っていうスレが超面白いんですけどぉ。
0038デフォルトの名無しさんNGNG
prologdでオセロは、もっと抽象的な話だけど
あのスレはクソ
バカだらけだよ。
0039デフォルトの名無しさんNGNG
prologなんて 知らんぞ。
言語は 何を使うんだ?
基本的なことは 決めないと 誰も作れない。

せめて、画面のデータをどういう状態で保存しておくかだな。
0040デフォルトの名無しさんNGNG
delphi版作成中...
0041デフォルトの名無しさんNGNG
┌─┬─┬─┬─┬─┬─┬─┬─┐
│  │  │  │  │  │  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │●│○│  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │○│●│  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |
└─┴─┴─┴─┴─┴─┴─┴─┘

次:黒
0042デフォルトの名無しさんNGNG
┌─┬─┬─┬─┬─┬─┬─┬─┐
│  │  │  │  │  │  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │●│○│  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │●│●│  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │●│  │  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |
└─┴─┴─┴─┴─┴─┴─┴─┘
0043デフォルトの名無しさんNGNG
6四白
0044デフォルトの名無しさんNGNG
black(6,3)
0045デフォルトの名無しさんNGNG
  一 二 三  四  五  六 七  八  次 黒
┌─┬─┬─┬─┬─┬─┬─┬─┐
│  │  │  │  │  │  │  │  | 1
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  | 2
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  | 3
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │○│○│○│  │  │  | 4
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │●│●│  │  │  | 5
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │●│  │  │  │  | 6
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  | 7
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  | 8
└─┴─┴─┴─┴─┴─┴─┴─┘
0046デフォルトの名無しさんNGNG
  一 二 三  四  五  六 七  八  次 黒
┌─┬─┬─┬─┬─┬─┬─┬─┐
│  │  │  │  │  │  │  │  | 1
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  | 2
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  スパイ.  │  │  │  | 3
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │○│○│○│  │  │  | 4
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │●│●│  │  │  | 5
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │●│  │  │  │  | 6
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  | 7
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  | 8
└─┴─┴─┴─┴─┴─┴─┴─┘
0047デフォルトの名無しさんNGNG
  一 二 三  四  五  六 七  八  次 黒
┌─┬─┬─┬─┬─┬─┬─┬─┐
│  │  │  │  │  │  │  │  | 1
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  | 2
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  | 3
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │○│○│○│  │  │  | 4
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │●│●│  │  │  | 5
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │●│  │  │  │  | 6
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │歩│  │  │  │  | 7
├─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  | 8
└─┴─┴─┴─┴─┴─┴─┴─┘
0048デフォルトの名無しさんNGNG
>prologなんて 知らんぞ。
>言語は 何を使うんだ?
言語はprologだろw
0049デフォルトの名無しさんNGNG
囲碁とオセロで異種格闘技しれ
0050デフォルトの名無しさんNGNG
>>49
それは面白いかもしれないが
どうやって始めるんだ?それ。
0051デフォルトの名無しさんNGNG
どうせリバーシ作るならこれの強いやつ作ってくれ。
ルールは面白いと思うんだが、プログラムが弱くて簡単過ぎるのがいかん。

http://www3.justnet.ne.jp/~naoki-yokoyama/oserotto.htm
0052デフォルトの名無しさんNGNG
このタイトルで誰が来るんだよ。
0053デフォルトの名無しさんNGNG
>>51
ルールがわからん
教えれ
0054.NGNG
0055デフォルトの名無しさんNGNG
リバーシをするスッドレとして再利用しよう
0056デフォルトの名無しさんNGNG
ttp://www36.tok2.com/home/tok/cgi-bin/upboard/updir/reversi.lzh
勢いに任せ、それらしければそれでよいという考えで作るとどうなるかという見本。
0057デフォルトの名無しさんNGNG
角なしオセロまだ?
0058デフォルトの名無しさんNGNG
Board board = new Board(8,8);
Player player1 = PlayerFactory.getPlayer("clever");
Player player2 = PlayerFactory.getPlayer("foolish");
player1.setColor(Color.black);
player2.setColor(Color.white);
while (board.isCompleted()) {
 player1.placeStone(board);
 player2.placeStone(board);
}
System.out.println(board.getWinner()+" is winner.");
0059デフォルトの名無しさんNGNG
4 人用オセロ
それしか手が無い場合を除いて誰かを全滅にするのを禁じ手にすると面白いかも

  一  二  三  四  五  六  七  八  九  十
┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
│  │  │  │  │  │  │  │  |  │  | 1
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |  │  | 2
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |  │  | 3
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │▲│  |  │●│  │  │  | 4
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │△|○│  │  │  │  | 5
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │●|▲│  │  │  │  | 6
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │○│  |  │△│  │  │  | 7
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |  │  | 8
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |  │  | 9
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│  │  │  │  │  │  │  │  |  │  | 10
└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
0060デフォルトの名無しさんNGNG
Board board = new Board(10,10);
Player[] players = new Player [ 4 ];
players[0] = PlayerFactory.getPlayer(0,"clever");
players[1] = PlayerFactory.getPlayer(1,"foolish");
players[2] = PlayerFactory.getPlayer(2,"monar");
players[3] = PlayerFactory.getPlayer(3,"giko");
while (!board.isCompleted()) {
 for (int i = 0; i < players.length; i++) {
  players[i].placeStone(board);
 }
}
System.out.println(board.getWinner()+" is winner.");
0061デフォルトの名無しさんNGNG
>>60
47 の実装もおながいします
0062デフォルトの名無しさんNGNG
>61
>60 で対応済
006361NGNG
漏れも書いた後、そういう処理は placeStoneの中に入ってる事に気付いた。
すまそ。
0064デフォルトの名無しさんNGNG
やっぱこうすっか

Board board = BoardFactory.getBoard(Board.REVERSI,10,10);
board.add(PlayerFactory.getPlayer(Player.BLACK,"clever"));
board.add(PlayerFactory.getPlayer(Player.WHITE,"foolish"));
board.add(PlayerFactory.getPlayer(Player.BLUE,"monar"));
board.add(PlayerFactory.getPlayer(Player.RED,"giko"));
board.start();
while (!board.isCompleted()) {
 board.next();
}
Player player = board.getWinner();
System.out.println(player+" is winner.");
0065デフォルトの名無しさんNGNG
リバーシをするスッドレとして再利用しよう
0066デフォルトの名無しさんNGNG
ダマットレ
■ このスレッドは過去ログ倉庫に格納されています