X



c言語でオセロのプログラム作りたいんやが
■ このスレッドは過去ログ倉庫に格納されています
0001風吹けば名無し
垢版 |
2022/06/23(木) 23:46:38.11ID:rcrLy44I0
白黒を入れ替える方法がどうも思いつかん
わかる人おる?
0002風吹けば名無し
垢版 |
2022/06/23(木) 23:47:46.92ID:sQrfBp1s0
エアプやがif文じゃあかんの
0003風吹けば名無し
垢版 |
2022/06/23(木) 23:47:53.99ID:IApzd7YIp
switch
0004風吹けば名無し
垢版 |
2022/06/23(木) 23:48:24.74ID:m1LVTtB20
そこ思い付かずによくオセロ作ろうと思ったな
0005風吹けば名無し
垢版 |
2022/06/23(木) 23:48:35.82ID:gSlUQUWR0
いま黒なら白にする
いま白なら黒にする 
だけやろ
0006風吹けば名無し
垢版 |
2022/06/23(木) 23:48:41.27ID:rcrLy44I0
for文で回して色を識別して
そこからまた次のマスのの色をforで識別してとかよくわからん
0007風吹けば名無し
垢版 |
2022/06/23(木) 23:48:49.65ID:+hsBiRW40
石置いた時に上下左右斜め全て探索かけて置いた色と同じ石を見つけてその間全て別の色の石が置かれてたら色反転みたいな感じやないか
0008風吹けば名無し
垢版 |
2022/06/23(木) 23:49:38.14ID:rcrLy44I0
>>3
考えてなかった、switchでいけるんかな?
0009風吹けば名無し
垢版 |
2022/06/23(木) 23:50:25.71ID:4UGm+kJh0
アホやな実際にやってみて自分の頭の中のプロセスそのままトレースするだけやろ脳みその理解しとる手順自問自答して細分化しろ
0010風吹けば名無し
垢版 |
2022/06/23(木) 23:50:39.96ID:rcrLy44I0
>>4
そこが鬼門になるのはわかってたけど
とりあえずやってみよっかーって感じで作ろうと思ったんや
そこが出来たら後いけるで
0011風吹けば名無し
垢版 |
2022/06/23(木) 23:50:54.61ID:m1LVTtB20
1方向だけで考えると
置いた色と同じ色→処理継続
違う色→今まで通ったところを反転して処理終了
空白マスもしくは端まで到達してしまった→反転せずに処理終了
でどうや?
0012風吹けば名無し
垢版 |
2022/06/23(木) 23:52:30.19ID:gSlUQUWR0
>>10
変に考えて何もやらんやつが多い中とりあえず手を動かしてて偉い あとはとりあえず色々試して所望の動作なるまで頑張るだけや 答えなんかググったらいくらでも出てくるやろ
0013風吹けば名無し
垢版 |
2022/06/23(木) 23:52:34.02ID:rcrLy44I0
>>7
ワイもイメージはそんな感じや
けどどう表したらええのかわからん
0014風吹けば名無し
垢版 |
2022/06/23(木) 23:53:59.22ID:+Ck1w3IL0
ググればいくらでも出るだろ
0015風吹けば名無し
垢版 |
2022/06/23(木) 23:54:02.80ID:rcrLy44I0
>>9
なんか引っかかって出来ないんや
0016風吹けば名無し
垢版 |
2022/06/23(木) 23:54:39.87ID:gSlUQUWR0
>>13
全マスを二次元配列とかで表してるなら置いた位置から+1/-1した場所を全部見ればいけるんちゃうこ
0017風吹けば名無し
垢版 |
2022/06/23(木) 23:54:58.60ID:rcrLy44I0
>>12
ありがとうやで、ただちょっと自分で考えたいんやで
ロジックだけ理解はしたいんや
0018風吹けば名無し
垢版 |
2022/06/23(木) 23:55:04.37ID:G8eiuvn2d
まず3かける3くらいのサイズで手でプロセスやってみたら
0019風吹けば名無し
垢版 |
2022/06/23(木) 23:57:15.46ID:4UGm+kJh0
>>15
オセロやりながら手動かして今ワイは何を基準に手動かしたんやって一個一個言語化すればええやろ
0020風吹けば名無し
垢版 |
2022/06/23(木) 23:57:30.30ID:gSlUQUWR0
>>17
気持ちはわかるわ けどようわからん!で辞めてもうたら意味ないから行き詰まったら答え見てからロジック理解するのもありやと思うで
0021風吹けば名無し
垢版 |
2022/06/23(木) 23:57:48.56ID:aZjbJVme0
オセロに勝とうとするな
オセロを引きずり下ろせ
0022風吹けば名無し
垢版 |
2022/06/23(木) 23:58:20.27ID:rcrLy44I0
>>11
ワイもその考えなんやけど
そうしたら自分の色のところに着いたときにどう処理してええのか分からなくなったんやで
処理継続やってもその時点では色変え出来へんやろ?
0023風吹けば名無し
垢版 |
2022/06/23(木) 23:59:26.19ID:rcrLy44I0
>>16
二次元配列使っとるし、斜めはそのやり方で考えてるで
0024風吹けば名無し
垢版 |
2022/06/23(木) 23:59:28.14ID:u7hQRhDX0
>>1
for(int i=0; i<10; i++){
arr[i]=0;
i=0;
0025風吹けば名無し
垢版 |
2022/06/23(木) 23:59:49.09ID:wqPIb2Ul0
最初からコード書こうとしたらアカン 紙に手順書きながら考えるんや
0027風吹けば名無し
垢版 |
2022/06/24(金) 00:00:20.52ID:hqLr/nCX0
>>22
座標も見るだけやろ
0028風吹けば名無し
垢版 |
2022/06/24(金) 00:01:13.41ID:hqLr/nCX0
>>25
いきなり計算でコード短くしようとするのもあかん 経験の上でならええけど
0029風吹けば名無し
垢版 |
2022/06/24(金) 00:01:37.46ID:ooA1yAIp0
>>1
ワイ元SEオセロ組んだことあるけど
具体的には何がどう分からんの?

「置ける場所探すロジック」とか「置いた場合にコマを裏返す(白を黒にするとか)ロジック」のこと?
0030風吹けば名無し
垢版 |
2022/06/24(金) 00:01:42.25ID:C+R1qHO/0
>>18
アドバイスありがとやで、まず簡単にしてやってロジックをつかむのもええかもな
0032風吹けば名無し
垢版 |
2022/06/24(金) 00:04:51.17ID:C+R1qHO/0
>>29
置ける場所を探すロジックは出来とるで
置いた場所に駒を裏返すロジックが出来へんのやで
0033風吹けば名無し
垢版 |
2022/06/24(金) 00:05:25.40ID:lmqgZufN0
オセロならサンプルコードあるやろ
0034風吹けば名無し
垢版 |
2022/06/24(金) 00:07:57.02ID:ooA1yAIp0
勝手に書いておくとまず二次元配列は10×10にして「盤面の外壁」まで入れておくとやりやすいかも。

ワイの場合たとえば盤面空きを0。白を1、クロを2、壁を3と仮定する

裏返すには、たとえば2,2に白を置いたときに、2,3..2,4..



すまん睡眠薬効いてきてめちゃくちゃ眠い
0035風吹けば名無し
垢版 |
2022/06/24(金) 00:08:42.95ID:Fo+Yqleg0
>>34
羊数えたみたいになってて草
0036風吹けば名無し
垢版 |
2022/06/24(金) 00:09:07.08ID:wwKNT5rQ0
java研修のときに暇だったから勝手にマインスイーパー作ったけどオセロも楽しそうやな
0037風吹けば名無し
垢版 |
2022/06/24(金) 00:09:50.89ID:C+R1qHO/0
>>26
白を'a'
黒を'b'として
この場合だと
for(i;i<8;i++){
for(j;j<8;j++){
if(koma[j+1][i+2]=='a'){

この後の処理が考えられへん
0038風吹けば名無し
垢版 |
2022/06/24(金) 00:11:37.43ID:C+R1qHO/0
>>36
ボードゲームやとオセロが一番簡単そうやしそれで選んだんやで
0039風吹けば名無し
垢版 |
2022/06/24(金) 00:12:05.35ID:C+R1qHO/0
>>33
サンプルコードはまだ見ないんやで
0041風吹けば名無し
垢版 |
2022/06/24(金) 00:15:48.43ID:mK0768R60
ワイもc言語勉強せなあかんなあ
0042風吹けば名無し
垢版 |
2022/06/24(金) 00:16:48.17ID:G9fBkq/60
>>32
違う色全部裏返して同じ色なかったら元に戻せ
0043風吹けば名無し
垢版 |
2022/06/24(金) 00:17:29.79ID:ooA1yAIp0
ほんま申し訳ないけど立ってても首がガクンとするくらい眠くてアドバイスできない

目が覚めてたらいろいろ協力したかった

ごめんなさい
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況