検索結果 175 件

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

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
閲覧数: 8976

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
閲覧数: 8976

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
閲覧数: 8976

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

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

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

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

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

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

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

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

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

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

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

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
閲覧数: 8976

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
閲覧数: 8976

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
閲覧数: 8976

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

コード:

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

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

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

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

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

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
閲覧数: 8976

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

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

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