C/C++の宿題のまとめ@Wiki

8×8オセロ

最終更新:

匿名ユーザー

- view
管理者のみ編集可
193 :デフォルトの名無しさん :2005/11/03(木) 00:44:59
[1] 応用C言語
[2] 8×8のオセロゲームを作る。1手ごとに盤面の表示を更新する。
  <条件>
  ・コマの置かれていない状態を0、黒を1、白を2で表現する。
  ・起動時に中央に交差する形で黒2個、白2個を置く
  ・黒(1)を先手とし、行と列番号(0~7)を指定する。
  ・すでにコマが置かれてる場合・挟めない位置を指定するとエラーを表示。
  ・コマを置いたら相手のコマを裏返し(数字を変更し)結果を表示。
  ・全てのコマが埋まったら結果を表示して終了。
  ・その際黒と白の個数をカウントして表示すること。
[3] 環境
 [3.1] WindowsXPがメイン、稀にLinux。
 [3.2] 自宅だとbcpad、学校はgcc。バージョンは失念。
 [3.3] C言語。
[4] 2005年11月いっぱい。
[5] 特に制限なし。自由に作ってよいとのことなので
  ここで受けたアドバイスを元にアレンジできれば効かせたい。


全部代理で受けるのは面倒かもしれません。
石を置けるかどうかの判定ルーチン、特に裏返せる位置の発見部分が
どうしても上手く行かず悩んでいます。よろしくお願いします。

194 :デフォルトの名無しさん :2005/11/03(木) 01:36:23

1ヶ月あったら、自分でやれ

195 :デフォルトの名無しさん :2005/11/03(木) 02:07:32
>>193 人間対人間?

196 :デフォルトの名無しさん :2005/11/03(木) 02:17:42
金取るよ。

197 :デフォルトの名無しさん :2005/11/03(木) 02:53:31
>>193
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1039.c

198 :デフォルトの名無しさん :2005/11/03(木) 02:57:32
>>196
大人気ないこと言うんじゃありません
>>197
音投げないことするんじゃありません

199 :デフォルトの名無しさん :2005/11/03(木) 03:13:29
>>193
うは出遅れた http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1040.c

200 :デフォルトの名無しさん :2005/11/03(木) 03:18:10
>>199 set の先頭に if (!inboard(x,y,board)) return flg; を追加

201 :デフォルトの名無しさん :2005/11/03(木) 07:33:35
>>194-200
ありがとうございました。
丸写しで提出ではなく自分なりに何か参考にしながら作ってみます。
206 :デフォルトの名無しさん :2005/11/03(木) 14:51:16
>>199
int i, j, k, dx, dy, flg;
flg = 0;
int dxtbl[] = {1, 1, 0,-1,-1,-1, 0, 1};
int dytbl[] = {0, 1, 1, 1, 0,-1,-1,-1};
こんなん出来たッけ。しばらくC離れてるから忘れたけど
int i, j, k, dx, dy, flg;
int dxtbl[] = {1, 1, 0,-1,-1,-1, 0, 1};
int dytbl[] = {0, 1, 1, 1, 0,-1,-1,-1};
flg = 0;
こうじゃ?

207 :206:2005/11/03(木) 15:13:25
>>206 そのとおりですね.すんません.コンパイラが通したので見逃してました.

208 :199:2005/11/03(木) 15:14:24
>>207 名前ミスorz......
210 :デフォルトの名無しさん :2005/11/03(木) 16:09:22
>>206
規格が変わって今はそれは許される。
まだ実装は普及してないけど。

211 :デフォルトの名無しさん :2005/11/03(木) 16:15:21
>>210
C99の実装を完全に満たしている処理系の例を挙げてください。

212 :210:2005/11/03(木) 16:21:43
>>211
俺は知らない。たぶん無いと思う

213 :デフォルトの名無しさん :2005/11/03(木) 16:23:12
ISO/IECで固まった規格なのにね。
9899:1999(´・ω・)カワイソス

214 :デフォルトの名無しさん :2005/11/03(木) 17:22:13
>>211
C99の実装を完全に満たしていなくとも 199 の通る実装はあるし、全然珍しくもない。
215 :デフォルトの名無しさん :2005/11/03(木) 18:31:20
GCC以外にあるの?

216 :デフォルトの名無しさん :2005/11/03(木) 18:34:54
Digital Marsとか

217 :デフォルトの名無しさん :2005/11/03(木) 18:36:58
>>214
C99の実装を95%とまでは言わないから、90%ほど満たしている
処理系でないと使いたくない。学校の課題ではまずC99は使われ
ないだろう。その事実を念頭に入れずに机上の空論をここで論じて
も、説得力がない。

gccですら80%弱だし。

218 :デフォルトの名無しさん :2005/11/03(木) 18:41:50
>>217
俺には>>214が「机上の空論を論じて」いるようには見えんのだが。
お前が使いたがらんのは結構だが、一体何に文句があるんだ?

ところで、「C99の実装を満たす」って表現はおかしくないか?
219 :デフォルトの名無しさん :2005/11/03(木) 18:56:29
>>218
詭弁の特徴のガイドライン

4:主観で決め付ける
14:細かい部分のミスを指摘し相手を無知と認識させる

逝ってよし。

220 :デフォルトの名無しさん :2005/11/03(木) 19:04:43
 本質的という言葉も、なかなかの曲者である。
「それはたしかに本質的な点をついている」
「それでは本質的な解決にならない」
「本質的な問題はそんなところにない」
 こういう場合での「本質的な」という言葉は、「おれがいいたい」と同じ意味ではないかと私は疑っている。

221 :デフォルトの名無しさん :2005/11/03(木) 19:09:38
依頼側の条件を満たした回答なのになんでクレームが発生してるんだ?
コンパイラまで指定されてるのに他の処理系関係ないじゃん

222 :218:2005/11/03(木) 19:12:42
>>219
それを使うときは発言のどの部分が該当するか指摘した方がいいと思うが。

>4:主観で決め付ける
俺は何かを主張したかった訳じゃなくて、>>217の真意に興味があったから
聞いたまでだ。
223 :デフォルトの名無しさん :2005/11/03(木) 19:20:43
もれ
>219は>217宛だと思ってた...

224 :206:2005/11/03(木) 19:28:45
単に実装依存な書き方はどうかな?って思い指摘しただけの事
深い意味はありませんw

225 :デフォルトの名無しさん :2005/11/03(木) 19:34:44
C99厨必死だな( ゚,_ゝ゚)

226 :デフォルトの名無しさん :2005/11/03(木) 19:35:27
おまいらスレの趣旨から逸れすぎ

227 :206:2005/11/03(木) 19:36:02
実装依存云々というかCでこんな書き方出来たッけな?ってだけです ハイ

228 :デフォルトの名無しさん :2005/11/03(木) 19:38:23
VCが対応してない書き方は存在価値がないですぅ

229 :デフォルトの名無しさん :2005/11/03(木) 19:41:01
現時点では、質問者にC99の話をしても、迷惑が掛かるだけだと思う。
そんなにC99が好きなら、別スレ立ててそこで勝手に議論してくれ。

230 :デフォルトの名無しさん :2005/11/03(木) 19:51:49
わざわざC99を推すほどメリットがある書き方だと思えない
231 :デフォルトの名無しさん :2005/11/03(木) 20:00:46
誰もC99を推してはいないし、質問者にC99の話をしてもいない。
単に>>206に指摘しただけ。
目安箱バナー