>>h2so5さん
ありがとうございます。
早速いってきました。
>>ソフト屋さん
「カメラ位置をプレーヤーからの距離とベクトルで管理して、」とありますが、距離とベクトルって同じものかと思っていたのですが、違うのでしょうか?
また、ベクトルはVECTORで定義された変数(変数というか構造体?)ですよね。じゃあ距離は一体なんでしょうか。
あと、「毎回カメラ位置を計算する様にしないと」とありますが、一体計算はどのようにすればいいのでしょうか・・・。
検索結果 175 件
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3Dでのカメラ操作について
- 返信数: 5
- 閲覧数: 7686
3Dでのカメラ操作について
プレイヤーが前に進むとカメラも前に進み、カメラは常にプレイヤーを注視する感じのカメラ操作がしたいです。 言語:C ライブラリ:DXライブラリ コンパイラ:Microsoft Visual Studio 2010 OS:Windows7 ←(書くの忘れてました。すみません。追記しました) 現状無理やりそれっぽくしてみたのですが、正しいやり方はどうやるのでしょうか? #include "DxLib.h" #include <math.h> #define CAMERA_SPEED 10.0f VECTOR PlayerPos = VGet(1000.0f, 0.0f, 1000.0f); type...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3Dの用語が難しすぎて分かりません
- 返信数: 2
- 閲覧数: 2014
Re: 3Dの用語が難しすぎて分かりません
回答ありがとうございます。
3Dの勉強がんばろうと思います。
3Dの勉強がんばろうと思います。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3Dの用語が難しすぎて分かりません
- 返信数: 2
- 閲覧数: 2014
3Dの用語が難しすぎて分かりません
ここで質問するのは少し場違いだと思いますが、お許し下さい。 今私は、DXライブラリを用いて3Dゲームを作るために、DXライブラリの3D関数を勉強しているところです。 ですが、ライティング計算、ディフューズカラー、Zバッファ、ライトハンドル、フレーム、メッシュ、シェイプなど意味が分からない単語ばかりです。 なので、こういう3Dに関する用語が説明されているサイトなどを教えて欲しいのですが、ありませんか? 「一つ一つ分からない単語を検索しろよ」みたいに突っ込まれそうですが、検索の仕方が下手なのか見つかりません。 例えば、フレームの意味は「動画を構成する静止画1枚分」のことだと思っていたのですが、どう...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3Dでカメラが向いている方向に移動したい
- 返信数: 8
- 閲覧数: 5178
Re: 3Dでカメラが向いている方向に移動したい
>>Yunixさん
なるほどです。
ここまでしてくださって大変感謝しています。
これから行列の勉強頑張ろうと思います。
なるほどです。
ここまでしてくださって大変感謝しています。
これから行列の勉強頑張ろうと思います。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3Dでカメラが向いている方向に移動したい
- 返信数: 8
- 閲覧数: 5178
Re: 3Dでカメラが向いている方向に移動したい
皆さん回答ありがとうございます。 忙しくて中々プライベートの時間が作れずに困っています。 Yunixさんのプログラムを動かしたらまさに私がしたかったことが出来ました。 今このソースコードを理解しているところです。 そこで、すこし疑問があるのですが、 float VRotate;//カメラアングルX float HRotate;//カメラアングルY float TRotate;//カメラアングルZ と、あるのですが、VはVertical、HはHorizonですよね? ではTはなんでしょうか? あと、このソースコードを理解するには行列を勉強する必要がありますよね・・・。 行列が分かりやすくまとめら...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3Dでカメラが向いている方向に移動したい
- 返信数: 8
- 閲覧数: 5178
3Dでカメラが向いている方向に移動したい
カメラの向いている方向に移動したいのですが、出来ません。というか、一応出来るのですがY軸の移動がおかしいです。上を向くほど早くなっていきます。 原因はtanを使っていることにあるのは分かっているのですが、他にやり方がわかりません。 言語:C ライブラリ:DXライブラリ コンパイラ:VisualStudio2010 カメラの旋回はマウス、カメラの移動はキーボードのWASDキーです。 Wキーを押せばカメラの向いている方向に前進。 Sキーを押せばカメラの向いている方向から後進。 Aキーを押せばカメラの向いている方向から左に移動。 Dキーを押せばカメラの向いている方向から右に移動です。 どうすればいい...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: エンターを押すたびに次のメッセージを表示する処理
- 返信数: 6
- 閲覧数: 4704
Re: エンターを押すたびに次のメッセージを表示する処理
#include"DxLib.h" int Cnt = 0; int PutFlag = 1; void F(); int ProcessLoop(){ if(ProcessMessage() != 0){ return -1; } if(ClearDrawScreen() != 0){ return -1; } return 0; } int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){ ChangeWindowMode(TRUE); SetGraphMode(640, 480, 32); if(DxLib_Init() == -1 |...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: エンターを押すたびに次のメッセージを表示する処理
- 返信数: 6
- 閲覧数: 4704
Re: エンターを押すたびに次のメッセージを表示する処理
Tatuさんのヒントを頼りにCntの値が4以降の処理は出来ました! #include"DxLib.h" int Cnt = 0; int PutFlag = 1; void F(); int ProcessLoop(){ if(ProcessMessage() != 0){ return -1; } if(ClearDrawScreen() != 0){ return -1; } return 0; } int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){ ChangeWindowMode(TRUE); SetGraphMode(640, ...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: エンターを押すたびに次のメッセージを表示する処理
- 返信数: 6
- 閲覧数: 4704
エンターを押すたびに次のメッセージを表示する処理
エンターを押すたびに次のメッセージを表示する処理がどうしても出来ません。 最初は0が表示されていて、エンターが押されたら次はその下に1を表示したいです。 ですが、このソースコードでは0が消えて1が表示されてしまいます。 あと、 0 1 2 3 と表示された後に、エンターを押したら 1 2 3 4 という風に表示もさせたいです。以後エンターが押されたらカウントが増えていきます。 どうすればいいのでしょうか? OS:Windows7 コンパイラ:Microsoft Visual Studio 2010 ライブラリ:DXライブラリ 言語:C Cの知識はポインタ以外ならしっかり勉強してあります。 #i...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: ターン制ストラテジーゲームを作っているのですが・・・
- 返信数: 13
- 閲覧数: 7704
Re: ターン制ストラテジーゲームを作っているのですが・・・
>>ソフト屋さん
なるほどです。
コードの量が凄いことになりそうですが、頑張ろうと思います。
私を助けて下さった回答者の皆さん本当にありがとうございました。
問題は無事解決しました。
また何か問題が出てきたときは、また回答よろしくお願いします。
なるほどです。
コードの量が凄いことになりそうですが、頑張ろうと思います。
私を助けて下さった回答者の皆さん本当にありがとうございました。
問題は無事解決しました。
また何か問題が出てきたときは、また回答よろしくお願いします。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: ターン制ストラテジーゲームを作っているのですが・・・
- 返信数: 13
- 閲覧数: 7704
Re: ターン制ストラテジーゲームを作っているのですが・・・
ソフト屋さんの「4射程の範囲の攻撃範囲から3射程の攻撃範囲を取り除けば」というので出来ました! #include"DxLib.h" #define STAGE_SIZE 13 #define SIZE 32 #define SPACE 0 #define PLAYER 1 #define ATK 2 int MasuX, MasuY; int cnt = 0; int STAGE[STAGE_SIZE + 2][STAGE_SIZE + 2] = { {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}, {-1,0,0,0,0,0,0,0,0,0,0,...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: ターン制ストラテジーゲームを作っているのですが・・・
- 返信数: 13
- 閲覧数: 7704
Re: ターン制ストラテジーゲームを作っているのですが・・・
>>Tatuさん まさか移動力が6の場合に不具合が出るとは思ってもいませんでした。ご指摘ありがとうございます。 それと途中に障害物があったら正しく探索できませんでした。 以上の2つの理由から、No.3のコードに戻しました。 移動量を変数に代入する方法は途中に障害物があったら無理そうです・・・。 >>YuOさん 申し訳ありませんが、言っていることがよく分かりません・・・。移動コストとはなんでしょう? ですが、途中に障害物があれば正しく探索出来ないのはなんとか分かりました。 >>「地形の移動コストが常に1でPlayer.Moveが3の時に,「上左下」と動いて左隣のマスに移動は許可するのでしょうか。...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: ターン制ストラテジーゲームを作っているのですが・・・
- 返信数: 13
- 閲覧数: 7704
Re: ターン制ストラテジーゲームを作っているのですが・・・
呼び出し回数を減らす処理はこのように対処しました。 #include"DxLib.h" #define STAGE_SIZE 13 #define SIZE 32 #define SPACE 0 #define PLAYER 1 #define MOVE 2 int MasuX, MasuY; int cnt = 0; int STAGE[STAGE_SIZE + 2][STAGE_SIZE + 2] = { {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}, {-1,0,0,0,0,0,0,0,0,0,0,0,0,0,-1}, {-1,0,0,0,...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: ターン制ストラテジーゲームを作っているのですが・・・
- 返信数: 13
- 閲覧数: 7704
Re: ターン制ストラテジーゲームを作っているのですが・・・
出来ました! #include"DxLib.h" #define STAGE_SIZE 13 #define SIZE 32 #define SPACE 0 #define PLAYER 1 #define MOVE 2 int MasuX, MasuY; int cnt = 0; int STAGE[STAGE_SIZE + 2][STAGE_SIZE + 2] = { {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}, {-1,0,0,0,0,0,0,0,0,0,0,0,0,0,-1}, {-1,0,0,0,0,0,0,0,0,0,0,0,0,0...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: ターン制ストラテジーゲームを作っているのですが・・・
- 返信数: 13
- 閲覧数: 7704
ターン制ストラテジーゲームを作っているのですが・・・
ターン制ストラテジーゲームを作っているのですが、行き詰まってしまいました。 プレイヤーをクリックしたら移動可能範囲を表示させたいのですが、どうしても出来ません。 どうすれば上手く出来るのでしょうか? OS:Window7 コンパイラ:Microsoft Visual Studio 2010 ライブラリ:Dxライブラリ 言語:C C言語はポインタは出来ませんが、ポインタ以外はしっかり勉強してあります。 #include"DxLib.h" #define STAGE_SIZE 13 #define SIZE 32 #define SPACE 0 #define PLAYER 1 #define M...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画面のチカチカをどうにかしたい
- 返信数: 5
- 閲覧数: 2539
Re: 画面のチカチカをどうにかしたい
Win32 APIですか・・・。
私の知識では、まだその領域へ足を運ぶのは困難ですね・・・。
質問に回答していたただき、ありがとうございました。
私の知識では、まだその領域へ足を運ぶのは困難ですね・・・。
質問に回答していたただき、ありがとうございました。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画面のチカチカをどうにかしたい
- 返信数: 5
- 閲覧数: 2539
Re: 画面のチカチカをどうにかしたい
なるほどです。そんなことが可能なのですか。ということは画面の文字を全部消すという処理は不要になるのですね。
しかし、コンソールAPIで検索したところ、コンソールアプリケーションについてしか出てこなかったのですが、コンソールAPIとは一体なんでしょうか?
ライブラリですか?
しかし、コンソールAPIで検索したところ、コンソールアプリケーションについてしか出てこなかったのですが、コンソールAPIとは一体なんでしょうか?
ライブラリですか?
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画面のチカチカをどうにかしたい
- 返信数: 5
- 閲覧数: 2539
画面のチカチカをどうにかしたい
画面がチカチカするのが嫌で、これをどうにかしたいです。 C言語でコンソールアプリケーションなのですが、出来ますでしょうか? DXライブラリを使えば、SetDrawScreen関数とScreenFlip関数を使ってダブルバッファリングという方法で対処できましたよね。 このダブルバッファリングというのはコンソールアプリケーションでは出来ますでしょうか? OS:Windows7 コンパイラ:Microsoft Visual Studio 2010 #include <stdio.h> #include<stdlib.h> void DrawBox(); void main(){ while(1){ ...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロのパスの仕方がわかりません
- 返信数: 5
- 閲覧数: 3345
Re: オセロのパスの仕方がわかりません
申し訳ありません!自己解決しましたorz
貴重なお時間を奪ってしまってすみませんでした・・・。
軽率な行動をお許しください。
それとこのような丸投げに近い質問は確かによくないですよね。
今後質問をさせていただくときは、ちゃんと噛み砕いて質問します。
貴重なお時間を奪ってしまってすみませんでした・・・。
軽率な行動をお許しください。
それとこのような丸投げに近い質問は確かによくないですよね。
今後質問をさせていただくときは、ちゃんと噛み砕いて質問します。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロのパスの仕方がわかりません
- 返信数: 5
- 閲覧数: 3345
オセロのパスの仕方がわかりません
オセロで詰んだときのターンのスキップのさせ方が分かりません。 どうすればいいのでしょうか? 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...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
そうですね。分かりました。
長い間本当にありがとうございました。
また、なにかあればよろしくお願いします。
長い間本当にありがとうございました。
また、なにかあればよろしくお願いします。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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[ ...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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,-...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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 +...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
なんどもすみません。まだテストコードというものが理解できません。具体的な例を見せてくれませんか?
>asdさんが書いてくれたコードでメインを含めて動作確認するためのコード
メインとはメインループのことですよね?
>asdさんが書いてくれたコードでメインを含めて動作確認するためのコード
メインとはメインループのことですよね?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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,...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
すみません、インデントはどこがおかしいのでしょうか?
あとテストコードとはなんでしょうか?
あとテストコードとはなんでしょうか?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
理解力が乏しくてすみません。
「この関数を呼び出す形で指定した場所から8方向に置く処理」とありますが、PutLine関数の中は書き換わりますか?また、「置く処理」とは、色を反転させるのですよね?
「この関数を呼び出す形で指定した場所から8方向に置く処理」とありますが、PutLine関数の中は書き換わりますか?また、「置く処理」とは、色を反転させるのですよね?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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;...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
if( BanData[ y ][ x ] != Color ){
これですと、もしcolorが1なら1以外という意味になってしまいますよね。
1ならば2、2ならば1という風にしなければなりませんよね。
この処理はどうすればいいのでしょうか?
ただの屍のようださんのやり方ですが、私一人だとそれでも書けない気がします・・・。
ソフト屋さんが一から教えて下さっているので、その方法でやろうと思います。
これですと、もしcolorが1なら1以外という意味になってしまいますよね。
1ならば2、2ならば1という風にしなければなりませんよね。
この処理はどうすればいいのでしょうか?
ただの屍のようださんのやり方ですが、私一人だとそれでも書けない気がします・・・。
ソフト屋さんが一から教えて下さっているので、その方法でやろうと思います。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
うーん・・・。何をすればいいのか分からなくなってきました。
「置く場所の盤の状態を見て置くかどうか決める処理」とはなんでしょうか?
この処理は何が出来るようになるのでしょうか?
asdさんのテスト用の盤面の左上からどちらも裏返せますか?
それと公開デバッグみたいになっていてすみませんでした。
「置く場所の盤の状態を見て置くかどうか決める処理」とはなんでしょうか?
この処理は何が出来るようになるのでしょうか?
asdさんのテスト用の盤面の左上からどちらも裏返せますか?
それと公開デバッグみたいになっていてすみませんでした。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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 ){ ...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
分かりました。変数の名前は何か考えて変えておきます。
次は何をすればよろしいのでしょうか?
次は何をすればよろしいのでしょうか?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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; } これであってますか? デバッガ使うとプログラムの流れが凄くわかりやすくなりますね...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
うーん・・・コンパイル時、一瞬「値を返さない~」みたいなメッセージが出てきますが、その後ちゃんと実行されてました。戻り値は4行目のreturn count;があると思うのですが・・・。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
再起した時の戻り値とはなんでしょうか?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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 ); } こうでしょうか?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
全てのマスが白になればいいかと・・・。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
tatuさん。たいちうさん。ありがとうございます。
tatuさんのヒントを頼りに、たいちうさんのは見ずに頑張ってみようかと思います。
tatuさんのヒントを頼りに、たいちうさんのは見ずに頑張ってみようかと思います。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
すみません・・・。ヒント下さい・・・。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
仕組み・・・は多分わからないと思います。
スタックという単語を見た覚えがあります。
10の階乗をやってみようと思ったのですが、何をどうすればいいのかさっぱり分かりませんでした。
スタックという単語を見た覚えがあります。
10の階乗をやってみようと思ったのですが、何をどうすればいいのかさっぱり分かりませんでした。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
うーん・・・。分かりません・・・。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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: ...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
引数を再び勉強してきました。しかし、方向の座標計算をする関数(置いた石のマスの座標,調べる方向)の作り方がやはりわかりません。
int Way_Cheak( int masu_Y , int masu_X , int );
いまこんな感じです。
int Way_Cheak( int masu_Y , int masu_X , int );
いまこんな感じです。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
1つ離れたマスの座標 = 方向の座標計算をする関数(置いた石のマスの座標,調べる方向)
この「方向の座標計算をする関数」という関数の作り方がわかりません。
それと引数はよくわからなくて逃げてきました・・・。
引数はやはり大切なのでしょうか?
この「方向の座標計算をする関数」という関数の作り方がわかりません。
それと引数はよくわからなくて逃げてきました・・・。
引数はやはり大切なのでしょうか?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
ある関数の中でその関数を使うのですね。
一様読んできました。
一様読んできました。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
申し訳ありませんでした・・・。 こうでしょうか? 1つ離れたマスの座標 = 方向の座標計算をする関数(置いた石のマスの座標,調べる方向) if( マスの情報[ 1つ離れたマスの座標 ] == 白い石 ){ (a)なにもできない } else if( マスの情報[ 1つ離れたマスの座標 ] == 黒い石 ){ 2つ離れたマスの座標 = 方向の座標計算をする関数(1つ離れたマスの座標 , 調べる方向 ) if( マスの情報[ 2つ離れたマスの座標 ] == 白い石 ){ (b)白がおける。挟んだ黒をひっくり返す } else if( マスの情報[ 2つ離れたマスの座標 ] == 黒い石 ){ (c...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
投稿の間がこんなに開いてすみません。
修学旅行やテストで忙しかったです。
>>今までの書き方だ分かりづらいので、擬似コードの書き方としてこうしてみてください。
この類似コードの書き方がよくわからないのですが、2つ離れたマスの条件とはどういうことでしょうか?
修学旅行やテストで忙しかったです。
>>今までの書き方だ分かりづらいので、擬似コードの書き方としてこうしてみてください。
この類似コードの書き方がよくわからないのですが、2つ離れたマスの条件とはどういうことでしょうか?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
うーん。やはりわかりませんでした。
もう少しヒントをくれませんか?
調べる向きはベクトルではなく方位にしたいです。
ベクトルのほうが難しそうだと思ったので。
もう少しヒントをくれませんか?
調べる向きはベクトルではなく方位にしたいです。
ベクトルのほうが難しそうだと思ったので。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
申し訳ありませんが、夏休みの課題を片付けなくてはならないので、プログラミングの時間がほぼなくなってしまいました。
次の送信はいつになるかわかりません。
>引数として置くマスの座標と調べる方向が欲しいですね
置くマスの座標はmasuY,masuXでよろしいですよね?
次の送信はいつになるかわかりません。
>引数として置くマスの座標と調べる方向が欲しいですね
置くマスの座標はmasuY,masuXでよろしいですよね?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
[どういう場合はおけるか]
1)白石の周り8マスのどれかに黒石が存在する場合で且つ、(b)であるとき。
2)白石の周り8マスのどれかに黒石が存在するが、(c)の様な条件であるならば、(b)の条件にあてはまった場合。
[どういう場合は置けないか]
(a)である場合
こうでしょうか?
1)白石の周り8マスのどれかに黒石が存在する場合で且つ、(b)であるとき。
2)白石の周り8マスのどれかに黒石が存在するが、(c)の様な条件であるならば、(b)の条件にあてはまった場合。
[どういう場合は置けないか]
(a)である場合
こうでしょうか?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
[どういう場合はおけるか]
1)白石の周り8マスのどれかに黒石が存在する場合で且つ、(b)であるとき。
2)白石の周り8マスのどれかに黒石が存在するが、(c)の様な条件であるならば、(b)の条件にあてはまった場合。
[どういう場合は置けないか]
1)白石の周り8マスに黒が存在しないとき。
2)白石の周り8マスのどれかに黒石が存在するが、(c)であっても、(b)の条件にあてはまらないとき。
こういうことですか?
1)白石の周り8マスのどれかに黒石が存在する場合で且つ、(b)であるとき。
2)白石の周り8マスのどれかに黒石が存在するが、(c)の様な条件であるならば、(b)の条件にあてはまった場合。
[どういう場合は置けないか]
1)白石の周り8マスに黒が存在しないとき。
2)白石の周り8マスのどれかに黒石が存在するが、(c)であっても、(b)の条件にあてはまらないとき。
こういうことですか?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
------------------------------------------------------------------------------------------------------------------------------------------------------------------ 自分コマ 1つ離れたマス 2つ離れたマス 処理すべき動作 ------------------------------------------------------------------------------------------------------------...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
------------------------------------------------------------------------------------------------------------------------------------------------------------------ 自分コマ 1つ離れたマス 2つ離れたマス 処理すべき動作 ------------------------------------------------------------------------------------------------------------...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
------------------------------------------------------------------------------------------------------------------------------------------------------------------ 自分コマ 1つ離れたマス 2つ離れたマス 処理すべき動作 ------------------------------------------------------------------------------------------------------------...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
自分コマも白ですよね? -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 自分コマ 1つ離れたコマ 2つ離れたコマ 処理すべき動作 -------------------------------------------------------...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
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; } } こういうことですか? オセロのコマを置くルールといえば、 ・既に置いてある自分のコマと相手のコマを挟む様にして置く ・上下左右斜めに上の状況が出来れば相手の石をひっくり返すことが出来る ぐらいではありませんか?他にはなにも出てこな...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
うーん。
今コマが置かれた場所の真上に何があるか調べる関数っていうのがよくわかりません。
Stone_put関数は関係ありますか?
masuY+1は盤面の一個上です。
今コマが置かれた場所の真上に何があるか調べる関数っていうのがよくわかりません。
Stone_put関数は関係ありますか?
masuY+1は盤面の一個上です。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
読んで、気をつけていたつもりなのですが、何処かおかしかったでしょうか。
改行や空白を揃えればよろしいのですよね?
改行や空白を揃えればよろしいのですよね?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 37390
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
すみません。インデントとはなんでしょうか?