C言語のオセロのプログラム – プログラミング – Home

C言語のオセロのプログラム
 
通知
すべてクリア

C言語のオセロのプログラム


ぷよぷよ
 ぷよぷよ
(@ぷよぷよ)
ゲスト
結合: 20年前
投稿: 1
Topic starter  

オセロのプログラムを作る課題が出たんですが、全くわかりません。表示の仕方もわか
らないし、思考ルーチンもわからないんで教えてください。ずうずうしいのですが、私
は本当に何にもわかってないんで詳しくお願いしますm(--)m


引用解決済
トピックタグ
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

お前の「思考ルーチン」もわかりません
課題の丸投げ質問ではなく、

どんな実行条件に対して、自分で努力した結果、予想と反する結果が出るので
これを解決するにはどうしたらよいか

のような質問であれば、だいたいの人は協力してくれるけど
今のままだと、非難されるだけで、誰も協力してくれないよ

自分で考えられる、アルゴリズムくらいは示したらどうなの?


返信引用
瀬戸っぷ
 瀬戸っぷ
(@瀬戸っぷ)
ゲスト
結合: 22年前
投稿: 160
 

http://www.amazon.co.jp/exec/obidos/ASIN/4875934289/249-9754066-8552365

C++かJavaですが…
買って読むなりして下さい。


返信引用
KING・王
 KING・王
(@KING・王)
ゲスト
結合: 20年前
投稿: 122
 

> 表示の仕方もわからないし、

オセロ盤のマスの数をNとすると、

char Table[N][N][3] = {0x00};

で、オセロ盤の状態を格納する変数を作成し、
黒丸(●)と白丸(○)と、まだ使用されていないマス(□)を、

strcpy( Table[a][b], ● );

というような形で格納し、あとはループを使用して、

for( i = 0; i < N; i++ ){
for( j = 0; j < N; j++ ){
printf( %s, Table[i][j] );
}//for(j)
printf( \n );
}//for(i)

といようにすれば、取りあえず表示はできると思う。

> 思考ルーチンもわからないんで教えてください。

まず、プログラムにする前に、どのように考えていくかを順番に言葉で書き出してみて下さい。

例えば、単純なところで、次のような方法もあります。
(1)左上から順番に、あいているマスを探す。
(Table[x][y]の内容が□と等しいところを探す。)
(2)そこにオセロの駒(?)がおけるか確認する。
(3)置けない場合は、(1)に戻り、次のマスを探す。おける場合はそこにおく。
(4)駒(?)をおいたことによる他の駒(?)への影響(変化)をTableに反映する。
(5)Tableを再表示する。

はっきり言って、全く強くないと思いますが、一応思考ルーチンです。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

うーん。
コンソールアプリで良いのですかねぇ。
それともWin32APIでGUIをもったアプリにするのだろうか?

質問をするにしても具体的な内容が把握できるように提示しないと
話が先に進みません。

コンソールアプリなら昔ながらの方法で色々やってみるのも手なんだと思いますが。
既にコンソールの話ならKING・王さんがヒントを出しておられるようなので
それをヒントに頑張ってみるのも良いと思います。

思うんですが、
課題で出されたと言うことはそれなりの講義があったはずだと思うんですが、
何で全く解らないのでしょう?
講義を聴いていなかったのか、聞いていたけれど理解できなかったのか。
たとえ聞いた内容をつぎはぎしてプログラムが出来上がったとしても
どうしてそう動くのかが理解できていないのであれば、全く意味が無いと思うので
その辺は良く考えて行動された方がよろしいかと思います。
できれば、講義が理解できない事について、講師の先生に相談した方がいいと思います。
解らないまま終わってしまって一番損をするのは、ぷよぷよさん自身だと思いますよ。


返信引用
akey
 akey
(@akey)
ゲスト
結合: 22年前
投稿: 53

返信引用
ん
 ん
(@ん)
ゲスト
結合: 23年前
投稿: 106
 

「オセロのプログラムを作る課題」=「コンピュータの思考ルーチンも必須」なんでしょうか。

ぷよぷよさんの質問内容からは「必須」かどうかは読み取れなかったのですが。

とりあえず、先手後手ともに人間が操作するものを作ってみて、
あとは、石がおけるところに適当に石をおくっていう手で
お茶を濁すもの手かなとは思いますが。

回答になってないですが、ご参考に。


返信引用
あ
 あ
(@あ)
ゲスト
結合: 23年前
投稿: 47
 

ここの「リバーシ(オセロのことね)を作る」が参考になるかも。

http://www.sm.rim.or.jp/~shishido/gamedev.html


返信引用
てつや
 てつや
(@てつや)
ゲスト
結合: 21年前
投稿: 34
 

>お前の「思考ルーチン」もわかりません

そういう挑発的な回答はやめましょう。
黙殺するのがルールでは?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました