検索結果 175 件

by sadora3
5年前
フォーラム: C言語何でも質問掲示板
トピック: オセロのパスの仕方がわかりません
返信数: 5
閲覧数: 1087

オセロのパスの仕方がわかりません

オセロで詰んだときのターンのスキップのさせ方が分かりません。 どうすればいいのでしょうか? OS:Windows7 コンパイラ:Visual Studio 2010 ライブラリ:DXライブラリ 言語:C C++はできないです。Cは一通り勉強済みです。 今ソースコードはこんな感じになっています。 #include"DxLib.h" #define WALL -1 #define BAN 0 #define SIRO 1 #define KURO 2 #define FLASH_SIRO 3 #define FLASH_KURO 4 #define FLASH_MIX 7 int masuX; i...
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

そうですね。分かりました。
長い間本当にありがとうございました。
また、なにかあればよろしくお願いします。
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

#include "DxLib.h" #define WALL -1 #define BAN 0 #define SIRO 1 #define KURO 2 void DrawBoard(); void MouseOperation(); int CeackLine(int, int, int, int, int, int); int PutLine(int, int, int, int, int, int); int AllWayPut(); static int Count; static int masuX; static int masuY; static int BanData[ ...
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

#include "DxLib.h" #define WALL -1 #define BAN 0 #define SIRO 1 #define KURO 2 void DrawBoard(); void DrawCount(); int CeackLine(int, int, int, int, int, int); int PutLine(int, int, int, int, int, int); int AllWayPut(); static int Count; static int BanData[ 10 ][ 10 ] = { {-1,-1,-1,-1,-1,-1,-1,-1,-...
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

なるほど。ありがとうございます。 int AllWayPut(){ int StoneCount = 0; struct AllWay{ int X; int Y; }Cheak[] = { {0, -1}, {1, -1}, {1, 0}, {1, 1 }, {0, 1}, {-1, 1}, {-1, 0}, {-1, - 1}, }; if(BanData[ masuY ][ masuX ] == BAN){ BanData[ masuY ][ masuX ] = SIRO; for(int i = 0; i < 8; i++){ StoneCount += PutLine(masuX +...
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

なんどもすみません。まだテストコードというものが理解できません。具体的な例を見せてくれませんか?

>asdさんが書いてくれたコードでメインを含めて動作確認するためのコード
メインとはメインループのことですよね?
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

static int BanData[ BAN_TATE ][ BAN_YOKO ] = {     {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1},     {-1,0,1,1,1,1,1,1,1,-1},     {-1,2,0,0,0,0,0,0,2,-1},     {-1,2,0,0,0,0,0,0,2,-1},     {-1,2,0,0,0,0,0,0,2,-1},     {-1,2,0,0,0,0,0,0,2,-1},     {-1,2,0,0,0,0,0,0,2,-1},     {-1,2,0,0,0,0,0,0,2,-1},     {-1,2,1,...
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

すみません、インデントはどこがおかしいのでしょうか?
あとテストコードとはなんでしょうか?
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

void AllWayPut(){     int StoneCount = 0;     struct AllWay{         int X;         int Y;     }Cheak[] = {         { 0 , -1 }, { 1 , -1 }, { 1 , 0 }, { 1 , 1 },         { 0 , 1 }, {-1 , 1 }, { -1 , 0 }, { -1 , - 1 },     };     if( BanData[ masuY ][ masuX ] == BAN ){         BanData[ masuY ][ masu...
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

void AllWayPut(){ int StoneCount = 0; struct AllWay{ int X; int Y; } Cheak[] = { { 0 , -1 }, { 1 , -1 }, { 1 , 0 }, { 1 , 1 }, { 0 , 1 }, {-1 , 1 }, { -1 , 0 }, { -1 , - 1 }, }; if( BanData[ masuY ][ masuX ] == BAN ){ BanData[ masuY ][ masuX ] = KURO; for(int i = 0; i < 8; i++ ){ StoneCount += PutL...
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

理解力が乏しくてすみません。
「この関数を呼び出す形で指定した場所から8方向に置く処理」とありますが、PutLine関数の中は書き換わりますか?また、「置く処理」とは、色を反転させるのですよね?
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

int PutLine( int x , int y , int Way_x , int Way_y , int Color , int count){ if( BanData[ y ][ x ] == BAN ){ return count; } else if( BanData[ y ][ x ] == Color ){ return count; } else if( BanData[ y ][ x ] == WALL ){ return count; } else if( BanData[ y ][ x ] != Color ){ BanData[ y ][ x ] = Color;...
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

if( BanData[ y ][ x ] != Color ){
これですと、もしcolorが1なら1以外という意味になってしまいますよね。
1ならば2、2ならば1という風にしなければなりませんよね。
この処理はどうすればいいのでしょうか?

ただの屍のようださんのやり方ですが、私一人だとそれでも書けない気がします・・・。
ソフト屋さんが一から教えて下さっているので、その方法でやろうと思います。
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

うーん・・・。何をすればいいのか分からなくなってきました。
「置く場所の盤の状態を見て置くかどうか決める処理」とはなんでしょうか?
この処理は何が出来るようになるのでしょうか?
asdさんのテスト用の盤面の左上からどちらも裏返せますか?

それと公開デバッグみたいになっていてすみませんでした。
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

int PutLine( int x , int y , int Way_x , int Way_y , int Color , int count){ int BackValue; if( BanData[ y ][ x ] == WALL ){ return count; } else if( BanData[ y ][ x ] != Color ){ BanData[ y ][ x ] =Color; } else if( BanData[ y ][ x ] ==Color ){ return count; } else if( BanData[ y ][ x ] == BAN ){ ...
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

分かりました。変数の名前は何か考えて変えておきます。
次は何をすればよろしいのでしょうか?
by sadora3
6年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

遅れてすみません。 int WhiteLine( int x , int y , int Way_x , int Way_y , int Color , int count){ int a; if( BanData[ y ][ x ] == WALL ){ return count; } BanData[ y ][ x ] = Color; a = WhiteLine( x + Way_x , y + Way_y , Way_x , Way_y , Color , count + 1 ); return a; } これであってますか? デバッガ使うとプログラムの流れが凄くわかりやすくなりますね...
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

うーん・・・コンパイル時、一瞬「値を返さない~」みたいなメッセージが出てきますが、その後ちゃんと実行されてました。戻り値は4行目のreturn count;があると思うのですが・・・。
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

int IshiCount = WhiteLine( 1 , 1 , 1 , 1 , SIRO, 0 ); int WhiteLine( int x , int y , int Way_x , int Way_y , int Color , int count){ if(BanData[ y ][ x ] == WALL ){ return count; } BanData[ y ][ x ] = Color; WhiteLine( x + Way_x , y + Way_y , Way_x , Way_y , Color , count + 1 ); } こうでしょうか?
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

コード:

WhiteLine( 1 , 1 , 1 , 1 , SIRO );

void WhiteLine( int x , int y , int Way_x , int Way_y , int Color ){
    if(BanData[ y ][ x ] == WALL ){ return; }
    BanData[ y ][ x ] = Color;
    WhiteLine( x + Way_x , y + Way_y , Way_x , Way_y , Color );
}
出来ました。
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

コード:

WhiteLine( 1 , 1 , SIRO );

void WhiteLine( int x , int y , int C ){
    if(BanData[ y ][ x ] == WALL ){ return; }
    BanData[ y ][ x ] = C;
    WhiteLine( y+1 , x+1 , C );
}
こうでしょうか?
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

コード:

WhiteLine( 1 , 1 , 1 );

void WhiteLine( int y , int x , int S ){
	if(BanData[ y ][ x ] == WALL ){ return; }
	BanData[ y ][ x ] = S;
	WhiteLine( y+1 , x+1 , 1 );
}
これであってますか?

追記;すみません。デバックせずに張ってました。修正しました。
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

出来ました。WALLは#defineで-1に置換しています

コード:

WhiteLine( 1 , 1 );

void WhiteLine( int y , int x ){
             if( BanData[ y ][ x ] == WALL ){ return; }
             BanData[ y ][ x ] = SIRO;
             WhiteLine( y+1 , x+1 );
}
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

コード:

WhiteLine(1);

void WhiteLine( int a ){
	if( a==9 ){ return; }
	BanData[ a ][ a ] = SIRO;
	WhiteLine( a+1 );
}
そういうことでしたかw
誤解してすみません。こうでしょうか?
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

tatuさん。たいちうさん。ありがとうございます。
tatuさんのヒントを頼りに、たいちうさんのは見ずに頑張ってみようかと思います。
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

なるほど。勉強になりました。

コード:

#include <stdio.h>
int F(int);
int main(){
        int a;
        a = F(10);
        printf("%d\n" , a);
        return 0;
}

int F(int N){
        int a;
        if( N == 1 ){ a = 1; }
        else a = N * F(N-1);
        return a;
}
10階乗はこうですね。
次はどうすればいいのでしょうか?
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

仕組み・・・は多分わからないと思います。
スタックという単語を見た覚えがあります。
10の階乗をやってみようと思ったのですが、何をどうすればいいのかさっぱり分かりませんでした。
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

struct Masu_Data{ int y; int x; }; struct Masu_Data masu = { masuY , masuX }; struct Masu_Data masu_one; struct Masu_Data masu_two; int Cheak_Stone(){ masu_one = Way_Cheak( masu , WAY ); if( BanData[ masu_one.y ][ masu_one.x ] == KURO ){ masu_two = Way_Cheak( masu_one , WAY ); if( BanData[ masu_two...
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

遅れてしまって申し訳ありません。 構造体宣言と構造体変数の定義を分けるというのはこうでしょうか? struct Masu_Data{ int y; int x; }; struct Masu_Data masu = { masuY , masuX }; 関数の引数と戻り値を構造体にするのはこれであっていますか? int Way_Cheak( struct Masu_Data W , int way ){ switch( way ){ case 1: W.y-1; break; case 2: W.y-1; W.x+1; break; case 3: W.x+1; break; case 4: ...
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

方向の座標計算をする関数はこうでしょうか? int Way_Cheak( int y , int x , int way ){ switch( way ){ case 1: y-1; break; case 2: y-1; x+1; break; case 3: x+1; break; case 4: y+1; x+1; break; case 5: y-1; break; case 6: y-1; x-1; break; case 7: x-1; break; case 8: y+1; x-1; break; } return 0; } また、構造体の方はこうでしょうか? struct Ma...
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

引数を再び勉強してきました。しかし、方向の座標計算をする関数(置いた石のマスの座標,調べる方向)の作り方がやはりわかりません。
int Way_Cheak( int masu_Y , int masu_X , int );
いまこんな感じです。
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

1つ離れたマスの座標 = 方向の座標計算をする関数(置いた石のマスの座標,調べる方向)
この「方向の座標計算をする関数」という関数の作り方がわかりません。
それと引数はよくわからなくて逃げてきました・・・。
引数はやはり大切なのでしょうか?
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

ある関数の中でその関数を使うのですね。
一様読んできました。
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

申し訳ありませんでした・・・。 こうでしょうか? 1つ離れたマスの座標 = 方向の座標計算をする関数(置いた石のマスの座標,調べる方向) if( マスの情報[ 1つ離れたマスの座標 ] == 白い石 ){ (a)なにもできない } else if( マスの情報[ 1つ離れたマスの座標 ] == 黒い石 ){ 2つ離れたマスの座標 = 方向の座標計算をする関数(1つ離れたマスの座標 , 調べる方向 ) if( マスの情報[ 2つ離れたマスの座標 ] == 白い石 ){ (b)白がおける。挟んだ黒をひっくり返す } else if( マスの情報[ 2つ離れたマスの座標 ] == 黒い石 ){ (c...
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

投稿の間がこんなに開いてすみません。
修学旅行やテストで忙しかったです。

>>今までの書き方だ分かりづらいので、擬似コードの書き方としてこうしてみてください。
この類似コードの書き方がよくわからないのですが、2つ離れたマスの条件とはどういうことでしょうか?
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

やっとできました・・・。 プログラミングの時間を確保できなくて時間がかかりすぎました。すみません。 int Draw_mouse_input(){ int mouseX=0; int mouseY=0; GetMousePoint(&mouseX,&mouseY); masuX=mouseX/BAN_SIZE; masuY=mouseY/BAN_SIZE; if( マウスの左クリックが押されたら ){ WhiteStoneFunction(); } if( マウスの右クリックが押されたら ){ BlackStoneFunction(); } return 0; } void White_Sto...
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

うーん。やはりわかりませんでした。
もう少しヒントをくれませんか?
調べる向きはベクトルではなく方位にしたいです。
ベクトルのほうが難しそうだと思ったので。
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

申し訳ありませんが、夏休みの課題を片付けなくてはならないので、プログラミングの時間がほぼなくなってしまいました。
次の送信はいつになるかわかりません。
>引数として置くマスの座標と調べる方向が欲しいですね
置くマスの座標はmasuY,masuXでよろしいですよね?
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

[どういう場合はおけるか]
1)白石の周り8マスのどれかに黒石が存在する場合で且つ、(b)であるとき。
2)白石の周り8マスのどれかに黒石が存在するが、(c)の様な条件であるならば、(b)の条件にあてはまった場合。

[どういう場合は置けないか]
(a)である場合

こうでしょうか?
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

[どういう場合はおけるか]
1)白石の周り8マスのどれかに黒石が存在する場合で且つ、(b)であるとき。
2)白石の周り8マスのどれかに黒石が存在するが、(c)の様な条件であるならば、(b)の条件にあてはまった場合。

[どういう場合は置けないか]
1)白石の周り8マスに黒が存在しないとき。
2)白石の周り8マスのどれかに黒石が存在するが、(c)であっても、(b)の条件にあてはまらないとき。

こういうことですか?
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

------------------------------------------------------------------------------------------------------------------------------------------------------------------ 自分コマ 1つ離れたマス 2つ離れたマス 処理すべき動作 ------------------------------------------------------------------------------------------------------------...
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

------------------------------------------------------------------------------------------------------------------------------------------------------------------ 自分コマ 1つ離れたマス 2つ離れたマス 処理すべき動作 ------------------------------------------------------------------------------------------------------------...
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

------------------------------------------------------------------------------------------------------------------------------------------------------------------ 自分コマ 1つ離れたマス 2つ離れたマス 処理すべき動作 ------------------------------------------------------------------------------------------------------------...
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

自分コマも白ですよね? -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 自分コマ 1つ離れたコマ               2つ離れたコマ                    処理すべき動作 -------------------------------------------------------...
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

int Check_Board( int masuY , int masuX ){ if( BanDate[ masuY ][ masuX ] == SIRO ){ return 1; }else{ return 0; } if( BanDate[ masuY ][ masuX ] == KURO ){ return 2; }else{ return 0; } } こういうことですか? オセロのコマを置くルールといえば、 ・既に置いてある自分のコマと相手のコマを挟む様にして置く ・上下左右斜めに上の状況が出来れば相手の石をひっくり返すことが出来る ぐらいではありませんか?他にはなにも出てこな...
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

コード:

int Check_Board( int masuY , int masuX ){
	if( BanDate[ masuY ][ masuX ] == SIRO ){
		return 1;
	}
	if( BanDate[ masuY ][ masuX ] == KURO ){
		return 2;
	}
}
4はわけわからなかったので、特に意味はありません。
これでどうですか?
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

コード:

int Check_up( int masuY , int masuX ){
	if( BanDate[ masuY ][ masuX ] = BAN ){
	     return 4;
	}
}
よくわかりませんが、一様書いてきました。
もしかしてこれ戻り値複数ありますか?

>>比較を書くべき所に代入をしている間違いがあります
これの意味がよくわかりません

それとmasuY+1は確かに下ですね。すみません。
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

うーん。
今コマが置かれた場所の真上に何があるか調べる関数っていうのがよくわかりません。
Stone_put関数は関係ありますか?
masuY+1は盤面の一個上です。
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

コード:

int Check_up( int masuY , int masuX ){
    int A;
    if( BanDate[ masuY ][ masuX ] = SIRO ){
        A = BanDate[ masuY + 1 ][ masuX ];
    }
    return 0;
} 
なるほど。つまりこういうことですね?
昔はこうしてましたが、今は汚い方でなれていたようです。
by sadora3
7年前
フォーラム: C言語何でも質問掲示板
トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
返信数: 125
閲覧数: 9156

Re: オセロで、石を反転する範囲の捜索の仕方がわかりません

読んで、気をつけていたつもりなのですが、何処かおかしかったでしょうか。
改行や空白を揃えればよろしいのですよね?

詳細検索ページへ移動する