検索結果 1881 件

by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語勉強中の初心者です
返信数: 11
閲覧数: 3930

Re: C言語勉強中の初心者です

「何のために」勉強されているでしょうか? っていう目的があると思うので それに必要なことをやっていけばよいのではないでしょうか. うまく言えないけど, 犬小屋を作ってみたりどこかの問題に取り組んでみたりするとしても それは目的のために必要な勉強手段として,やられた方がいいんじゃないかなー,みたいな. 「勉強することが目的」みたくなってしまわないように,「その 勉強/練習 自体の目的をしっかり決める」というか. 方向性というか習得すべき事柄的なものを定めずに練習に取り組んでも, じゃあいつまで練習してれば次に行けるの?みたいなのもはっきりしない気がするし そこらへんあやふやな状態で 目的に対して...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: ベクターがメンバにある構造体の保存について
返信数: 20
閲覧数: 12024

Re: ベクターがメンバにある構造体の保存について

というプログラムを実行すると、Data.datの中身は | 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF ---+----------------------------------------------------------------- 00 | 00 00 00 00 F8 1F 8D 00 00 20 8D 00 00 20 8D 00 ......... ... .. のようになりました。 このことから、この実装におけるvectorの中では要素を格納するバッファへのポインタがあり、 要素そのものは格納されていないと予想できます...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: ベクターがメンバにある構造体の保存について
返信数: 20
閲覧数: 12024

Re: ベクターがメンバにある構造体の保存について

ああ,失礼しました.
読み返してわかりました.

>のようになりました。
>おそらく、vectorの中では要素を格納するバッファへのポインタがあり、要素そのものは格納されていないと予想できます。

この2行は連続していない全く別の文なのですね.
で,
>のようになりました。
までの文は,単に
>とファイルに出力したとしたら、d.flameの部分はどのように出力されるのでしょうか。
という問いに対して出力例を示した,と.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: ベクターがメンバにある構造体の保存について
返信数: 20
閲覧数: 12024

Re: ベクターがメンバにある構造体の保存について

オフトピック
それは情報として何を示したいのですか?
vectorの意味(というのか)を考えればバッファのポインタを持ってる形であろうことは普通に予測できるし,
「いやいや実装依存だからそうは言い切れない」とかいう話なら,それはそれで特定の環境での実行結果を掲載しても意味無いだろうし…?
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: ビジュアルスタジオがインストールされていないパソコンでEXEファイルの実行
返信数: 3
閲覧数: 3360

Re: ビジュアルスタジオがインストールされていないパソコンでEXEファイルの実行

>MSVCP110D.dll
他のところに持ってくときにはReleaseビルドの方がいいんじゃないかと.

で,VC++関係のdllについては実行側環境に 再頒布パッケージ を入れればいいかもしれません.
あるいはスタティックリンクとかでもいけるかも.

OpenCVのdll群はexeと一緒に持っていけばなんとかなるかも.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元配列の簡単な質問
返信数: 10
閲覧数: 3745

Re: 2次元配列の簡単な質問

個人的には,mallocとかの話はとりあえず後回しにして, 最初の目標としては 現状の「sizeは10以下限定で」という条件の上での完成を 目指した方がよいと思います. //ヒント { int i; //この配列の10個の要素の値を全て 3 にするには… int Array[10]; //こうすればいけそうである. //forでうまくiを使って,Array[i]=3; が全ての要素を網羅するように書く. for( i=0; i<10; i++ ) //※i=0,1,2,...,9 について, { Array[i] = 3; } } { int row; int column; //では,この配...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: クラス内の関数ポインタ
返信数: 15
閲覧数: 4905

Re: クラス内の関数ポインタ

文法がどうなってんだ? という混乱時には, 丁寧に括弧を付けるとわかりやすいのではないでしょうか. #include <iostream> class Game { public: Game::Game(){ Scene=&Game::GameTitle; } int GameTitle(){ std::cout << "title" << std::endl; return 1; } int ( Game::*Scene )(); //メンバ関数ポインタ }; int main( int argc, char **argv ) { Game *game = new Game; //(1) g...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: サンプルプロジェクトを分割コンパイルすると正常に動作しません...
返信数: 4
閲覧数: 1900

Re: サンプルプロジェクトを分割コンパイルすると正常に動作しません...

分割コンパイルとかに挑戦する前に,
変数の寿命や通用範囲,関数間での情報の受け渡し方法等,Cの基礎的な事柄を復習されたほうが良いように見受けます.

コード:

void f( int *p ){  *p = 5;  }

int main()
{
  int a = 0;
  f( &a );
  printf( "%d", a );  //何と表示されるでしょう?
  return 0;
}
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 手書きの字のやつ
返信数: 8
閲覧数: 2919

Re: 手書きの字のやつ

検索して論文とかがでてきたらその中で
なるべく簡単なそうだと思うもの
(ざっと見てこれは数式が難しそうとか,この人の文章が読みにくいとかいう曖昧な基準で選択してしまおう)
を参考にしてやってみるというのもいいんじゃないでしょうか.

ところで,こういうのの方法論ってどうやって特許に引っかかってるかどうかを判断(判別)するんでしょう?
というのは,例えば私が文字認識するアプリを作って激しく公開したとして,そのアプリの認識結果というのが
あるアルゴリズムが使われた結果なのかどうか,外側の動作だけ見てもわかんないような気がするのです.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 手書きの字のやつ
返信数: 8
閲覧数: 2919

Re: 手書きの字のやつ

>特許も避けて貰う必要があります。

まぁ,プログラムを公開するとかじゃなく
単に「俺はこれをやってみるぜ!」という話であれば特許回避とかは考えなくてもいいかもしれません.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibで迷路ゲームを作ってみたかったのですが、、
返信数: 31
閲覧数: 9452

Re: DxLibで迷路ゲームを作ってみたかったのですが、、

>>※多分そうすると「map[][]データの外周を幅2の壁で埋める」という簡単な方法が使えなくなったりするだろうけど    最大のズームアウト時に合わせて外壁を厚くするしか自分には思い浮かびませんね笑 さすがに超厚い壁を外周に持つようにデータ用意するのはしんどいですし, 「やっぱもうちょっとだけ最大視野を広くしたいぜ!」とかなったらまたまたしんどいですw つまり, 「処理側がおかしなことにならないように,データ側に余分なデータを加えて辻褄合わせをしておく」 という方法(こういうのを番兵とか言うんでしたっけか)は,ちょっとそぐわなくなるんじゃないかと思います. なので,例えば,関数def()の...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibで迷路ゲームを作ってみたかったのですが、、
返信数: 31
閲覧数: 9452

Re: DxLibで迷路ゲームを作ってみたかったのですが、、

本題と関係ない話ですが, 5*5の表示範囲の「5」の部分をdefineか何かで変えれるようにするといいかもしれませんね. //例えばこんな感じでdefineを書いて #define VIEW_SIZE 5 //※ここの値を例えば7に書き換えれば,コード全体がそれに追従して動くようにする int chara[ VIEW_SIZE ][ VIEW_SIZE ]; //VIEW_SIZEを使って書く //他の箇所も全て VIEW_SIZE の値に即して正しく動くように改造. //※多分そうすると「map[][]データの外周を幅2の壁で埋める」という簡単な方法が使えなくなったりするだろうけど …という...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 他のソースファイルの操作関数を扱いたい
返信数: 31
閲覧数: 9549

Re: 他のソースファイルの操作関数を扱いたい

オフトピック
ところで,個人的興味ですけど
「どうして」こういう方法でデータアクセスしたいのか,というバックグラウンドというか
そこらへんの話も 差し支えなければ 知りたいところですね.
(データ種を文字列で指定したいときってどういうときなんだろう?とか.)
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 他のソースファイルの操作関数を扱いたい
返信数: 31
閲覧数: 9549

Re: 他のソースファイルの操作関数を扱いたい

引き出し元に値を返すのが usaoさんの言う 第2引数の const std::string &rDataName の部分なのですね 後はどのように返すかですね で調べてる間に返信があったので もしかして第2引数を文字列にして返すのは、後は型変換等を使えば他の型に変更できるからって事でしょうか? 違う.全然違う. No.20 にCでのコード例を書いたけど, 呼び出し側が情報受け取りにつかうのが void* 第二引数の文字列は,あなたのコードで"name"とか書いてるやつですよ. ただ,それはそれとして,「文字列で情報を返して,受け側で変換する」という方法も 浮動小数点数になってるデータへの要...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibで迷路ゲームを作ってみたかったのですが、、
返信数: 31
閲覧数: 9452

Re: DxLibで迷路ゲームを作ってみたかったのですが、、

オフトピック
>これでは動けている感がすこし欠けているので

このことについてですが,わざと極端に視界を狭く制限しているゲームなのであれば
わざとそのままにしておいた方がいい,という話もあるかもしれませんよ.
例えば,床に何の変化もなければ,
大広間みたいな箇所で,今空間のどこらへんにいるのか?といった感覚をより狂わせることができるかも.
(まぁプレイヤがキーを押した回数を数えることはできるけれども)
なので,個人的な好みで言えば,パターンを設けるのだとすれば床よりも壁側の方かな,とか.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 他のソースファイルの操作関数を扱いたい
返信数: 31
閲覧数: 9549

Re: 他のソースファイルの操作関数を扱いたい

引数は void じゃなくて void* ですよ. ↑の方の書き込みに[追記]で書きましたが,デフォルト引数値じゃなくて配列で指定しちゃえばCで書けますよね. がんばってください. //戻り値の型はどうでもいいが,まぁ{成功したら1,失敗したら0}を返すみたいな感じでintにしてみた. int Get( void *pDstData, //データを受取場所を指すポインタ. const char *pDataName, //データ名文字列 int *pIndexes //必要なindex群の配列先頭のポインタ. ) { //pDataNameの内容をみて,データの型と, //pIndexesの使...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibで迷路ゲームを作ってみたかったのですが、、
返信数: 31
閲覧数: 9452

Re: DxLibで迷路ゲームを作ってみたかったのですが、、

>要素を書き換えるのは手間がかかるので

いやいや,
そういった方法で実現するのであれば,その書き換える作業は人手でやらなくてもいいですよね.

例えば,mainの最初あたりで
map[][]の0の要素を2に書き換える処理を書けばいいのでは.

コード:

for( int y=0; y<53; y++ )
{
  for( int x=0; x<43; x++ )
  {
    if( map[y][x]==0  &&  (x+y)が偶数 )
    {  map[y][x] = 2;  }
  }
}
みたいな感じでてきとーに…
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 他のソースファイルの操作関数を扱いたい
返信数: 31
閲覧数: 9549

Re: 他のソースファイルの操作関数を扱いたい

あれ? ひょっとしてC++ではダメなのかな? >int indx1=-1 C++では引数のデフォルト値を必要なら指定しておける. 呼び出し側で末尾側の引数が省略された場合は,その指定しておいた値が省略された引数の値として用いられる. 例えば,↑のコードで Get( NULL, "hello", 5 ); とかいう呼び出しは Get( NULL, "hello", 5, -1, -1 ); と書いたのと同じことになる. >まあ、使わない事を知らせる値を入れれば問題はないと思います。 やってることの考え方はコレですね.(「使わない」ことを表す値として-1と書いてみました.) >const std:...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 他のソースファイルの操作関数を扱いたい
返信数: 31
閲覧数: 9549

Re: 他のソースファイルの操作関数を扱いたい

さて, ・問題点1 に関しては,例を見た感じだと,データ種類を指し示す文字列("name"みたいなの)以外の 「0番目」とか「0列目」とかいうデータ指定用の引数については, 個数はデータ種類に応じて変わるとしても,型は int とかに固定できそうであり, また,個数も現実にはせいぜい1個~数個 といったところではないだろうか? そういう話であれば, 例えば,データ指定用の引数が最大で3個あれば十分な場合, 関数の型は可変個の引数とかにしなくても,こんな形でいけないだろうか? ・問題点2 に関しては,まぁ,void* でどうにか… うん. bool Get( void *pDstData, co...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 他のソースファイルの操作関数を扱いたい
返信数: 31
閲覧数: 9549

Re: 他のソースファイルの操作関数を扱いたい

何がしたいのか読み取りにくいので,まとめてみました. (1)A側でデータがどういう形式で保持されているのかについて  B側では知らなくていいようにしたい (2)B側では操作したいデータの種類を文字列で指定したいのだが,  ・問題点1:その種類毎に,付随するデータ指定用の引数の数(型も?)が異なる.  ・問題点2:データ種類によって,データの型が異なる.        (B側は,各データの型が何なのかだけは知っている)  を許容できるデータ操作関数の書き方がわからない. (3)操作データ毎にそれ専用の関数を用意すれば何も悩まなくていいのだが  たくさんの関数を書かないとならないのが不便だと思う....
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibで迷路ゲームを作ってみたかったのですが、、
返信数: 31
閲覧数: 9452

Re: DxLibで迷路ゲームを作ってみたかったのですが、、

キーを押しても変化がないのであれば,疑うべき事柄は,例えば (1)そもそもキーの押下状態を判定している箇所に処理が来ているか (2) (1)がOKでも,キーの押下が正しく判定できているのか (3) (2)までOKなら押下した先の処理に問題がある といった感じでいろいろとあるハズ. 例えば,最も根本的な(1)を調べるには,キー判定処理を行っている関数の先頭あたりに  printf( "ここに処理がきたよー" ); //printf()が使えないのだとしても何らかの代替手段で. みたいなのを追加して実行してみることです. これが表示されなければそもそも処理が来ていないことがわかります. (2)であ...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibで迷路ゲームを作ってみたかったのですが、、
返信数: 31
閲覧数: 9452

Re: DxLibで迷路ゲームを作ってみたかったのですが、、

>スクロールは自分でするものですから、画面に対してマップの表示位置をずらしてやらないといけません。自キャラは表示位置は固定位置ですよね?

多分,自分の周囲の領域だけが見えてるタイプ(DQ1のたいまつ状態みたいな)で,
移動に合わせて,その見えている範囲分の地形データを毎回 chara に持ってきていて
表示は常にその chara を見て行っているのだと思いますから,
うまく動作してれば,まぁ「勝手に」スクロールする感じ,というかだと思います.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibで迷路ゲームを作ってみたかったのですが、、
返信数: 31
閲覧数: 9452

Re: DxLibで迷路ゲームを作ってみたかったのですが、、

>スクロールしてくれません もっと具体的に説明しないとわかりません.どういう状態なのでしょう. ・キー操作で何かしら動くのだけれども,明らかに意図した動作ではない(…と見えるなら,なぜそう判断できるのか,という情報もあれば) ・キーをいくら押そうが何の変化もない. ・その他 あと,うまくいかないときは自分でデバッグするべきです. 「初期状態から,あるキーを押した後では,ある変数の値はこうあるべき」 「…なんだけど,動作を見た感じではそうなってないっぽい」 みたいなことがあるでしょうから,そこらへんの動作に関係する 変数の値等をprintf()とかで表示してみて何が起こっているのかを確認するとか...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibで迷路ゲームを作ってみたかったのですが、、
返信数: 31
閲覧数: 9452

Re: DxLibで迷路ゲームを作ってみたかったのですが、、

ちらっと見た感じですが 100行目の
> *(chara+j)=map[X-i-2][Y-j-2];
が不自然に見えますね.

*(chara+j)=map[X+i-2][Y+j-2];
だったりしませんか?
オフトピック
Xが縦方向で,Yが横方向なんでしょうか.
自分がいつも使ってる方向と違うだけですごい読みにくいものですね.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: c++でゲームキャラクターのモーションの中の一部表示
返信数: 13
閲覧数: 8062

Re: c++でゲームキャラクターのモーションの中の一部表示

「アニメーション」と「モーション」という単語が使い分けられていますが, 異なるものを指しているのでしょうか? それとも >モーションが2パターンあり… というのは,「表示したいアニメーションが2種類ある」ということですか? >その中の一部 とは何のことですか? 「一部」とは,例えば ・あるアニメーション(モーション?)が{A,B,C,D,E}という5枚の画像からなるとき,{B,C,D}の部分 という意味でしょうか? それとも ・表示したい画像のサイズが200x100[pixel]であるときの,{top,left,width,height}={10,10,80,50}のような部分領域 という意味...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: (C++)直線に囲まれた矩形の座標を知りたい
返信数: 42
閲覧数: 16147

Re: (C++)直線に囲まれた矩形の座標を知りたい

>矩形とする領域の起点(左上)と対角点(右下)は、必ず、入力の線分の始点または終点または線分同士の交点となる、です。 >(それ以外の座標に点を置いてはならない) 例えば, No10で添付されている画像での Dの出力例2 の赤い矩形を見ると 左上の座標は縦の線分の途中にあって,この条件を満たしていないように見えますが,どうなのでしょう? また,矩形の4つの角のうち,残りの2点(右上と左下)に関してはこのルールから逃れられるということなのでしょうか? (おそらくそういう意味ではないのだと思いますが) 別に重箱の隅をつつきたいわけではないのですが, ここらへんのところがアバウトなままだと困るんじゃな...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: (C++)直線に囲まれた矩形の座標を知りたい
返信数: 42
閲覧数: 16147

Re: (C++)直線に囲まれた矩形の座標を知りたい

(お二人の間では共通認識が得られているようですので,わざわざ口出す必要性もないとは思うのですが…) 矩形が分割されるルールがきちんと説明されていないような気がします. 例えば,例Aでは単一の矩形を正解とされていますが,これを適当に4つとか5つとかに細切れにした結果 (細切れにされたものは全て矩形形状であって,これらを全て合わせると正解とされている1つの矩形になる場合) は,正解なのでしょうか? (→ダメだとしたら,「切っていい場合」と「切り方のルール」が存在するハズ.) もし,適当に縦横に領域を切りまくってもOKという話であるならば, 与えられた線分群を全て直線(長さ無限)に置き換えて, 場を...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: クラスについて
返信数: 3
閲覧数: 1561

Re: クラスについて

>コンストラクターを使いましょう わざわざ publicな Initialize() という関数を用意しているのだから, 現存するインスタンスを「何らかの意味で初期状態に戻す」手段が欲しいという話なのではないでしょうか. class Play { public: //(ココpublicでいいのか?という話はとりあえず置いといて) Char m_char; //変数名をこう変えたとして… pubilc: Initialize(); }; Play::Initialize() { m_char.Initialize(); //Char::Initialize()を使えばいいように思いますが,どうな...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: (C++)直線に囲まれた矩形の座標を知りたい
返信数: 42
閲覧数: 16147

Re: (C++)直線に囲まれた矩形の座標を知りたい

オフトピック
だめだ,BもDも意味がわからん……

B:3辺しかない領域×2個が矩形として扱われるというルールが不明
D:2つの矩形が重なる領域を持つ場合に何がおこるのかが不明(緑とか赤に分割される特殊ルールが謎過ぎる)
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: (C++)直線に囲まれた矩形の座標を知りたい
返信数: 42
閲覧数: 16147

Re: (C++)直線に囲まれた矩形の座標を知りたい

「囲まれた矩形」とは何なのか… 説明だけ読むと 4辺が必要に思うけど やりとりされている例を見るに,別に4辺そろってなくても矩形とみなすのですよね. どんな条件を満たしたら矩形になるのだろうか. 例えば,2辺しかなかったらどうなんだろう? (心の目で見ればこれらも矩形が見えなくもない) 2 10 10 10 100 10 100 100 100 だとか 2 10 10 10 100 50 50 50 150 とかいう場合は…? 追記: あ,でも例Dの絵で右下とか左上には矩形が無いから 「角が1個ではダメ」 というルールっぽいですね. (平行線だけがある場合は今のところ不明ですが) それはそうと...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の前方宣言
返信数: 11
閲覧数: 6204

Re: 構造体の前方宣言

>C++のカプセル化を目指してC言語で実装していると思っているんですが。

main側とかに明かしたくない,というレベルの話ではなくて
Enemy_MovePat.cppにすら構造体の詳細を明かさない ことを目指しているという話ですね.
勘違いしていたようです.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の前方宣言
返信数: 11
閲覧数: 6204

Re: 構造体の前方宣言

うーん,なぜヘッダを作るのを嫌うのでしょう? 現在Enemy.cppに書かれているstruct Enemy_tを新しいヘッダ(Enemy_t.h)に移し, Enemy.cppと,移動パターン関数を実装しているファイル(Enemy_MovePat.hって書いてあるけど.cppかな?)とで includeする形が最も素直な気がしますが… (Enemy.hに書かれている struct Enemy_t; は不要ですね.) この場合,「新しい Enemy_t.h は,Enemy.cppとEnemy_MovePat.cpp だけが使うもの」であると考えれば それ以外の外部には Enemy_t の詳細は(と...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 課題で困ってます・・・
返信数: 6
閲覧数: 2763

Re: 課題で困ってます・・・

課題の丸投げは禁止されていると思うのでフォーラムルールを読んで
それなりの質問の仕方をされるべきかと.
オフトピック
失礼ながら,
プログラミングの授業 なるものを受けていて この問題がわからない という状況の方がわからない.

仮に【あなたが授業を一度も真面目に受けてなくて,現在何一つ わからない/知らない 状況にある】のだとしても,
面倒くさがらずに教科書なり何なりを見ながらご自身でやられた方が,
掲示板でのやりとりに時間を割くよりもはるかに早く済むと思いますよ.この内容であれば.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: Androidアプリ制作の道のり
返信数: 3
閲覧数: 1495

Re: Androidアプリ制作の道のり

まず やりたいことと知りたいこと,わからないこと等を”具体的に”, 他人が読んで状況を理解できる文章で書きませんか? 例えば,(これが あなたのやっていることや状況と合っているかどうか知りませんが) 作りたいものの内容は, (1)画面をタッチすると,タッチした場所にボールが出現する (2)ボールは{時間進行と共に勝手に? あるいは何らかの操作によって?}移動する (3)ボール同士が衝突した場合,  →ボールの色が同色であれば,衝突したボール(同時に複数が衝突したら全てが?)は消滅する  →色が違う場合には,ボールの色が変化する というものであって,現在(1)と(2)までは実装できているが, (...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: mallocを使うタイミング
返信数: 19
閲覧数: 6872

Re: mallocを使うタイミング

説明されている 進行順 はそれだけ読んでも何が何だかですが,
とりあえずmallocを使うこととデータ改ざんされることとの因果関係がわからないので,
何をもってmallocの利用をためらわれているのかを説明された方がよいのではないでしょうか.

仮にメモリ確保方法によって何か改ざん難易度が変わる要素があるのだとしても
メモリ内容を書き換えるよりも
>テキストファイル等に書き込んだゲームデータ
の側を改ざんした方が手っ取り早い気がするけど……
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語初めてみたんですが、、
返信数: 3
閲覧数: 1631

Re: C言語初めてみたんですが、、

一行ずつ丁寧に追って行けばわかると思いますよ. 最初, snum = 0 succs[5] = { 不定値, 不定値, 不定値, 不定値, 不定値 } という状態. ↓ forループの中で i=0 のときの処理を考えると,入力された95は60以上なので, succs[ snum++ ] = i; →今の変数値で書けば,ここは succs[ 0 ] = 0; snum=1; //(snum++) ということですね. ↓ i=1のとき… i=2のとき… …と,見ていけば,60点以上の値が入力されたのは,i=0,2,3 のときなので, forループが終わったとき, succs[5] = { 0, 2...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの継承について
返信数: 21
閲覧数: 7426

Re: クラスの継承について

>CameraやStageクラスを何処に配置するか とりあえず 現状では, 「Gameがアクティブなシーンになっている間だけ必要なもの」 は全て Gameがメンバ変数として持つ という形を考えたら楽になりませんか?(気持ち的な意味で) >当たり判定 CBaseCharactor(の派生)同士であれば,当たり判定を行う方法が共通 とかいう状況であれば class CBaseCharactor { ... public: //CollisionCheckData は実際は何になるのかわからないけど //(例えば 矩形だとか,中心座標だとか?) とにかく当たり判定計算に必要なデータ. virtual...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの継承について
返信数: 21
閲覧数: 7426

Re: クラスの継承について

ひょっとして 仮想関数 についてちゃんと調べられると良いのかも. >CBaseCharacterをインタフェースクラスにするとメンバ変数が置けなくなるためこれでは駄目だなと 別に基底クラス側を 「純粋仮想関数しか持たないクラス」 にすることに こだわらなくてもよいのではないかと思いますが,どうなんでしょう. //やや謎な例ですが,別に仮想クラスでもメンバ変数を持ちたければ持てばいい. //武器を用いてターゲットを殴るクラス用の基底. //実際に殴りかかる人を表すクラスはこれから派生し, //オリジナリティあふれる殴り方を仮想関数Attack()に実装する. class CAttackerBas...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの継承について
返信数: 21
閲覧数: 7426

Re: クラスの継承について

やりたいことは単にこういうことなのだろうか…? class Player { public: void Init(); //何かしらPlayerに必要な初期化処理を行う }; // class Game { public: void Init() { //何かしらGameに必要な初期化処理を行う ... //その一環として,Playerの初期化処理を行う(Playerに初期化処理を行わせる) m_PlayerInst.Init(); } private: Player m_PlayerInst; //Playerインスタンス.とりあえずこの例ではGameがメンバとして保持. }; >オブジェク...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: WindowsAPI GetPixelについて
返信数: 24
閲覧数: 12952

Re: WindowsAPI GetPixelについて

オフトピック
GetDIBits()で所望の形式に変換しているということですね.わかりました.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: WindowsAPI GetPixelについて
返信数: 24
閲覧数: 12952

Re: WindowsAPI GetPixelについて

ダイアログに表示したいのなら
ダイアログのプロシージャのWM_PAINTのところに書けばよいのではないかと.

・メイン側のボタン処理 → ダイアログに再描画要求を出す → ダイアログのプロシージャで描画
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: WindowsAPI GetPixelについて
返信数: 24
閲覧数: 12952

Re: WindowsAPI GetPixelについて

>hdc2 = BeginPaint(hWnd, &ps);のハンドル(hWnd)をダイアログBOXのハンドルに変えるだけでは表示はできませんでした。

これ,ダイアログのプロシージャの方でやってるんですよね?
(メインの画面(?)という側じゃなくて)
オフトピック
GetObject()のところで,DIBSECTION構造体に情報を受けとれば
GetDIBits()とかを使わなくて済むかも.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリ3d 弾丸について
返信数: 8
閲覧数: 2990

Re: Dxライブラリ3d 弾丸について

[弾] ←弾一個分の当たり判定サイズ(従来)

弾が位置AからBまで移動したときの判定領域サイズ(提案)
[A__________________________B]

ということでは?
オフトピック
回答側がナチュラルに予想して答えてはいるけれども
>原因はわかってるのですが、
ということであれば,その「わかっている原因」を書かれた方がいいんじゃないかな
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: カプセル化について
返信数: 9
閲覧数: 2896

Re: カプセル化について

オフトピック
Sequence::Update()が内部で新しいSequenceをnewで作ってPrimariyManager側に渡す
(deleteはPrimariyManager側が請け負う)という仕組みで良いのならば
Sequence *Sequence::Update();
とかして戻り値で返すのが簡単だと思うのだけど,コールバック指定にしてるのには理由があるのだろうか?
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 画像処理
返信数: 15
閲覧数: 4864

Re: 画像処理

>この2枚の画像はテキストファイルに数値化した値をだしています。そのテキストファイルは読み込むことはできているのですが・・・・・ >ですのでこのファイルが読み込めると仮定して教えてください。 という話だったならば, "JPEGを読み込む" なんていう主題と離れたことをできるできないとかで時間を浪費するよりも さっさと本題の処理アルゴリズム内容側を検証した方が良いのではないかと思うのですが. (他力本願で出力データを入手するよりも,内容面の話をされているPocoさんの側にきちんと応答された方が有益なのでは?) 追記: ・文面から察するに,やりたいことは   符号化 : m = NOT( a X...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元配列の簡単な質問
返信数: 10
閲覧数: 3745

Re: 2次元配列の簡単な質問

例えば sizeの値が3である時を考えてみましょう. プログラムでいじくるべき配列要素は 3*3=9 個であり,それらの配列添え字は [0][0] [0][1] [0][2] [1][0] [1][1] [1][2] [2][0] [2][1] [2][2] でしょう. forを2重に使っている箇所では,iとj の組み合わせによってこれら全ての添え字を網羅するように 書きたいのだと思いますが,現状はそうなっていません. 例えば,13行目~20行目のループを全て書き下せば, i=0の回 [0][0]=0; [0][0]=0; //左側がfield [0] = 0; 右側がfield[0][j] ...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元配列の簡単な質問
返信数: 10
閲覧数: 3745

Re: 2次元配列の簡単な質問

>とりあえず上限を決めて大きな配列を準備しておいて必要なサイズだけ使うと言う方法があります。 提示コードはそれをやろうとしているように見えなくもないですね. (配列を10x10で用意していて, sizeには10以下の値を入力する,という形) 何箇所かに出てくる field [0] field[0][j] の箇所は やりたいことに対して 間違っていると思いますよ. (この書き方だと例えば,[3][3]とかにはならないですよね) 全部0で埋めた表示を行っていると 自分が意図した配列要素の値が本当に出力されているのかどうかがわかりにくいんじゃないかな?と思います. 全ての要素の値が異なる2次元配列を...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 分割コンパイルについて
返信数: 7
閲覧数: 3768

Re: 分割コンパイルについて

繰り返しになりますが,ヘッダファイルについては >H.hをA.cppとB.cppでincludeしたら, >A.cppとB.cppの #include "H.h" の箇所に,H.hの内容全てを書いたことと同じ というだけのことです. この場合,「H.hを用意してA.cppとB.cppでincludeする」という手段を取るのは A.cppとB.cppとで 同じことを2回書くのが面倒だから. (そして,将来,c.cppにも同じことが必要になったときに include と書くだけで済むように.) なので,「ヘッダに何を書ける(書いてもいいか)」という点については, 「ヘッダファイル無しで複数のcpp...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: ニュートン法で平方根の近似値を求める問題です
返信数: 3
閲覧数: 7195

Re: ニュートン法で平方根の近似値を求める問題です

問題が解決したならば 解決チェックを付けてくださいね.

どのような状態まで作ったらゴールという話かにもよりますが,

・aに負の値が入力された場合はどうする?
・for(;;)みたいな,万が一の場合に無限ループになる恐れがある記述は避けた方がいいかも

というのがちょっと気になる点かも.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: ニュートン法で平方根の近似値を求める問題です
返信数: 3
閲覧数: 7195

Re: ニュートン法で平方根の近似値を求める問題です

>printf("sqrt(a)=%lf\n", &x);

&いらないような
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: データ保存媒体について
返信数: 2
閲覧数: 1219

Re: データ保存媒体について

その用途であればUSBメモリが安くていいんじゃないでしょうか.
バックアップという意味では物理的に異なる複数の媒体に記録する方が安心でしょうから
例えばUSBメモリ×2にバックアップとるとか.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリでエフェクトを作りたいのですが...
返信数: 29
閲覧数: 12009

Re: Dxライブラリでエフェクトを作りたいのですが...

あ,わたしのは >ソースコードは削除されてしまったのでいまはないです という状況に対して代案を示したというかそういう意図だったです. (+解決がどうこうとかよりも まずもってそれ以前な応答の仕方になってないかい?全体的に… という指摘) で,本題については, >かっこいいいエフェクトの作り方を教えてください とだけ書かれると ・エフェクトの表示を実現するためのプログラミングの方法/使えるライブラリ関数とか についての話 ・エフェクトのデータそのものを用意(エディット/デザイン)する方法/技術 についての話 のどっちについて訊いているのか判断がつかなくて 答えづらい可能性があるんじゃないかな....
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のgotoについて
返信数: 8
閲覧数: 3349

Re: C言語のgotoについて

ちょっと気になって↓のコードをVS2012で試したら出力は Copy Constructor Destructor Copy Constructor Destructor Copy Constructor Destructor Copy Constructor Destructor Copy Constructor だった. 5回のループでのT2は全て別の物なのだな. class CTest { public: CTest(){} CTest( const CTest &rhs ) { std::cout << "Copy Constructor" << std::endl; } CTest ...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリでエフェクトを作りたいのですが...
返信数: 29
閲覧数: 12009

Re: Dxライブラリでエフェクトを作りたいのですが...

オフトピック
規約には
>トピックを立て、解決した場合は「解決しました」とだけ書かず、どうやって解決したか他の人に分かるように書いて  からトピックを終了して下さい。

とありますね.コードで示すのが一番手っ取り早い方法かもしれませんが,
「何がどう問題を起こしていて,それをどうしたら解決したのか」を十分に説明できるならばソースでなくてもよいのでは.
(前のトピックは まずそれ以前に まともなやりとりにすらなっていないように見受けますが.)
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: visual c++のコメントアウトについて
返信数: 4
閲覧数: 2431

Re: visual c++のコメントアウトについて

// をつかう. //←これ以降,行末までが注釈になる int MaxIterationCount = 5; //繰り返し処理の最大回数 //int a=8; //2重にコメントアウトになっててもOK // /* comment */ ←これもOK で,広範囲を//でコメントアウトするには >VisualC++ではCtrl+K, Ctrl+Cで選択範囲を一度にコメントアウトできます。 を使うのが便利. (これらはVS2012だと メニューの [編集]→[詳細]→ のところにある) ただし,選択範囲の開始位置や終了位置が行の途中だと /* */ が使われてしまうので,行単位で選択する. 逆はCt...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 分割コンパイルについて
返信数: 7
閲覧数: 3768

Re: 分割コンパイルについて

>こんな感じの認識で行っていたのですが、何か間違いはあるでしょうか。 この部分への返信が無いようなので,頑張ってみる. (誤りや補足があれば お願いします>他の方) [hr] >・プログラムの処理の順番はmain関数の頭からスタートし、main関数の最後で終了する。 変数の初期化とかいう話があるけれど,「とりあえずは」そういう認識でも良い…かな [hr] >・基本的に他のファイルの変数や構造体やdefineを参照する事は出来ないので他のファイルのデータを使いたい場合は関数に引数として渡す必要がある。 「他のファイル」というのは 異なる.cpp間でのことを言っているのかな? ・構造体の「型の宣言...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 分割コンパイルについて
返信数: 7
閲覧数: 3768

Re: 分割コンパイルについて

・Anim.cpp にある struct ObjA ・Obj.cpp にある struct Obj この2つ,名前以外は同じであるように見えるのですが (わざわざ)分けている意味は何でしょう? 仮に,両者を分ける必要がない(=同じもののつもり)のだとすれば, (1)とりあえず新しいヘッダファイルを用意 (2)struct Objの宣言を(1)のヘッダに書く. (3)Anim.cpp, Obj.cppでは struct Obj,ObjA の宣言をなくし,代わりに(1)のヘッダをincludeする形にする (4)ObjAとなっている箇所をすべてObjに変更 …とかすれば,すっきりするのではないかと...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングの館の.h記述手法で構造体を使った場合のwarning C4091について
返信数: 7
閲覧数: 6051

Re: 龍神録プログラミングの館の.h記述手法で構造体を使った場合のwarning C4091について

本題がwarningについてなので (これは解決したんですよね?) こういうことを延々と書くべきかどうか微妙な気もするけど, そのプリプロセッサを使う方法だと,変数の初期値を指定するためのうまい方法を別途考えないと, 結局使いにくくなったりしないのかなぁ,とか思ったので,一応書いておきます. (方法自体を否定するのではなく,もしデメリットがあるなら知っておいた方が良いだろう,という意味で) その方法ではヘッダに GLOBAL int img = 0; //初期値は0にしたい とか書いたら,複数個所からincludeすると多重定義でエラーになるだろうから, 結局どこかで(他所がimgにアクセスす...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングの館の.h記述手法で構造体を使った場合のwarning C4091について
返信数: 7
閲覧数: 6051

Re: 龍神録プログラミングの館の.h記述手法で構造体を使った場合のwarning C4091について

>あまり好まれないのでしょうか・・・? 好む好まないが言われるほど,そんなことが広く行われているかどうか 私は存じませんけど, 極端な例かもしれないけど, 関数の実装をあるcppに書いたけど,その関数を別のcppから使いたい →(1)関数定義と関数宣言が,ごっちゃになってどれがどれやらわからん! →(2)定義と宣言で複数回書かないとだめなのが嫌.一か所に書きたい  ↓ こう書こう!OK! みたいな雰囲気というか. //[func.h] int Add( int a, int b ) #ifdef IMPLEMENTATION //実装する箇所ではIMPLEMENTATIONをdefineして...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングの館の.h記述手法で構造体を使った場合のwarning C4091について
返信数: 7
閲覧数: 6051

Re: 龍神録プログラミングの館の.h記述手法で構造体を使った場合のwarning C4091について

参考先のやってることを真似る前に,externとは何なのか,
(externの役割は何で,どういうときに,どこに書くべきものなのか)
という点をしっかり理解された方がよいと思います.
で,その上で,「そのページのやっているようなことを真似るべきかどうか」をしっかりと判断されるのがよいかと.
オフトピック
個人的には,そのページでやってるようなことは 絶対やりたくないというか,ある種ばかばかしさすら感じる.
どうしてもexternを使いたいのだとしても,単にextern宣言だけをまとめたヘッダを用意すれば
「変数定義がどれなのか自分でもわかりませんw」なんていう謎状況は生まれないと思うのだが…?
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: メモリの節約の仕方とロード時間の短縮
返信数: 7
閲覧数: 4709

Re: メモリの節約の仕方とロード時間の短縮

(DXライブラリを使ってない話なので参考になるかわかりませんが) 私の作った小さなWin32アプリ(http://dixq.net/forum/viewtopic.php?f=78&t=14198)は タスクマネージャで見てみるとBGM無しでメモリ使用量が3.8MBなのが BGM(ファイルサイズ2.7MBのmp3ファイル,ビットレート128kbps, 曲の長さ2:55 ) をMCIで流すと7.2MBになってました. BGMだけで3.4MBほど増えてます. 再生されるBGMのファイル次第では10MBとか使うのも十分ありえるような気がします. DXライブラリ使用+BGM1曲だけで 40MB+10M...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: メモリの節約の仕方とロード時間の短縮
返信数: 7
閲覧数: 4709

Re: メモリの節約の仕方とロード時間の短縮

状況がよくわかりませんが
全てを一度にロードして保持しなければならないのでしょうか?
例えば音楽なら,今演奏するやつだけロードしてあればいい とか
何かしら「必要な時点でロードし,不要になったら捨てる(メモリを空ける)」ことが可能なデータがあるなら
そのようにすれば問題が軽減されませんか?
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の組み合わせについて
返信数: 3
閲覧数: 2945

Re: 構造体の組み合わせについて

うーん,なんかやたらめったら連投されてますが いずれかの穴埋めの一か所でもわかる箇所はないのでしょうか? 単に 【「これらの問題を解くこと」の助けをこの場で得たい】 ということであれば フォーラムルールに則った質問をされればよいかと思いますが, 掲示板のやりとりではどうしても一つ一つの問題が解決するのに数日とかかかる可能性が大きいです. >明後日が試験なので とのことですから そんな悠長なことをやっている暇はなく,根本的な理解を早急にしなければならない状況に見受けます. (私なら教科書なりなんなりを一から読んで基礎を理解することにとにかく努め,  今日の夜あたりにはこれらの問題のうちの半分くら...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: csvデータからの形の輪郭抽出
返信数: 19
閲覧数: 8633

Re: csvデータからの形の輪郭抽出

とりあえず今回のデータでは内部に空洞とかは無いみたいなので, たとえば, データ点群からランダムに2点選択し,この2点を通る無限直線からの距離が 閾値以内となる点群(=直線を軸とする円筒形領域内に存在する点群)について, 最も「端(と言えばいいのかな)」に存在する点(2点)を表面に存在する点と認定する. (閾値=円筒半径 は隣接データ点間の距離の1~数倍程度かな) …といったような簡単な処理を 気の済むまで繰り返せば表面だけの集合を得られるような気がしますね. (方法論の回答としては褒められたものではないけれど,表面点群の取得は  単なる前処理なのだから,極端な話,一晩くらい走らせておいてもい...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: mallocについて
返信数: 6
閲覧数: 2449

Re: mallocについて

これってxmaxだけでなくymaxの情報も返さないと 使う側が困るんじゃないかと思うのですがどうなんでしょう? //xmax, ymax, matrix を構造体にまとめて返すとか typedef struct SMatrix{ int xmax; int ymax; int** matrix; } SMatrix; SMatrix newspace( double xpoint[4], double ypoint[4] ) //※引数の書き方がちょっとひっかかるけどとりあえずそのまま { SMatrix M; relax( xpoint ); relax( ypoint ); M.xmax ...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 6元連立非線形方程式を解くプログラム
返信数: 2
閲覧数: 3208

Re: 6元連立非線形方程式を解くプログラム

>どうすればいいでしょうか。

「現在困っていることは何でしょう?」というのを具体的に書かれたほうが良いと思います.
オフトピック
本題じゃないけど
> x^2+y^2-2=0
> x^2-y^2-1=0
みたいな 導関数の導出が簡単な式 を扱っているのであれば
安易に数値微分とか言わずに 導関数をそのまま実装したほうが良いような.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: ナップザック問題
返信数: 9
閲覧数: 3138

Re: ナップザック問題

既に説明されているように >a[MAX] が bi() 内の自動変数であるため、bi() が呼び出されるたびに >領域が確保され、初期化が行われないため、ゴミが入っているから でしょう. bi(0) で a[0]=0 にしても bi(1)でのa[0]が0に初期化されているわけではないです. (bi(0), bi(1), bi(2), ..., bi(n-1) の全てにおいて,ローカル変数は互いに異なる変数ですよ) //f()からg()を呼ぶ例 void f() { int a = 10; g(); //ここに来たとき,aの値は10. ( g()によらない ) } void g() { int ...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: csvデータからの形の輪郭抽出
返信数: 19
閲覧数: 8633

Re: csvデータからの形の輪郭抽出

>こっちの目的がメインで提案しています。 わかりました. ただ,最初にやってみる事柄(凸包であれ,それ以外の何かであれ)を 現問題に対して使う予定がある という話の筋道みたいなのがあるならば より望ましいだろうと思ったので, >そのあたりのことはどんな感じなのでしょうか? とか訊いてみた次第です. >きっと私への質問でしょうか。 50%くらいはそうかも…? みけCAT様も データ分布形状が不明な時点で 凸包を挙げられていて,さらに >凸包を使用すると、(輪郭の定義にもよりますが)むしろ必要な点を消す可能性があるはずです。 とおっしゃっているので, 形状の凹凸を問わずうまいこと使うアイデアをお持...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXの構造体名に含まれる「DESC」って何の略でしょうか?
返信数: 4
閲覧数: 5083

Re: DirectXの構造体名に含まれる「DESC」って何の略でしょうか?

>DXGI_SWAP_CHAIN_DESC や DXGI_MODE_DESC や DXGI_SAMPLE_DESCなど、
何らかの情報を記述するための構造体だろうから
 Descriptor(記述子)  かな.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: csvデータからの形の輪郭抽出
返信数: 19
閲覧数: 8633

Re: csvデータからの形の輪郭抽出

ところで
>凸包
の話って,表面点の選別のための処理…なんですよね? (違う?)

今回のケース(データ)では凹部があるようなので
何かしらの工夫が要りそうに思うのですが,そのあたりのことはどんな感じなのでしょうか?


>完成させた時には、色々レベルアップしているはずなので、
>次の手を検討できるようになるでしょう。

実用性(?)よりもこっちの目的がメインなのであれば
まぁそこらへんはどうでもいいのですが.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 3Dゲームを作りたいのですが...
返信数: 7
閲覧数: 3058

Re: 3Dゲームを作りたいのですが...

>と待って下さい。ハルルンさんは小4ですよね。 >角度とか、sin/cosとか、プラスやマイナスとか数学的な事が理解できるのでしょうか? 少なくとも私が小4だったときのことを考えると,「無理」な予感ですが… とりあえず簡単なところからやっていくとよいのかも. たとえば, >主人公にカメラが、ついてくる というタイプ(客観視点:きゃっかんしてん)ではなくて, 主人公の見ている風景を表示するタイプ(主観視点:しゅかんしてん)で 何か動くものを作ってみるとよいのではないでしょうか. 向きの回転とか位置の移動とかの計算方法あたりから練習(=勉強?)が必要なら さいしょは2Dで何か簡単なものをつくった方...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 3Dゲームを作りたいのですが...
返信数: 7
閲覧数: 3058

Re: 3Dゲームを作りたいのですが...

問題点がよくわかりませんが,主人公の座標と向きに合わせて
カメラのそれを毎回設定してやればよいのではないでしょうか.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: csvデータからの形の輪郭抽出
返信数: 19
閲覧数: 8633

Re: csvデータからの形の輪郭抽出

>> すみません3次元データ上では処理は行わず、C言語でのプログラム作成です。 > >usaoさんもC言語で前処理をする前提だと思いますよ。 >そのプログラムをあさかぜさんは作れそうですか?という質問です。 まぁこの部分は, 「全工程を行うプログラムをCで書かないとだめ」という話でなければ Cでやろうが,何かしら別の手段でやろうがどちらでもいいのですが, 要するに,扱いの難易度が  内部点があるデータ >>> 表面点しかないデータ なんじゃないかな?ということですね. 前もって「軽いデータ」を用意しておければ,いろんな方法を試すのにも楽でしょうし. >(一番大きい、一番小さいとか?) 局所的に...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリ3Dでのカメラの向きと進む向き
返信数: 74
閲覧数: 24473

Re: DXライブラリ3Dでのカメラの向きと進む向き

たとえば方角を {北 北東 東 南東 南 南西 西 北西}の8パターンだけ考えるとして,それをプログラム上で {0,1,2,3,4,5,6,7}の数字で表すことを考える. 現在の方角を表す値を変数 CurrDir に持つとしたら, double X=0,Y=0; //キャラクタの位置 int CurrDir = 0; //キャラクタの向き.(今は0だから北向き) ... //方向転換 if( 右ボタンが押された ) { CurrDir++; if( CurrDir>=8 )CurrDir = 0; } //前進 if( 上ボタンが押された ) { switch( CurrDir ) //現在の...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリ3Dでのカメラの向きと進む向き
返信数: 74
閲覧数: 24473

Re: DXライブラリ3Dでのカメラの向きと進む向き

2次元で考えると,(3次元でも左右の旋回だけであれば2次元的) 例えば,方向は X-Y平面でのX軸からの角度θ で表すことを考えれば, 左右旋回操作のときには,このθの値を増減させればよいですよね. この場合, キャラクタの向いている方向(方角) を表す単位方向ベクトルが欲しいときは u=[ cos(θ), sin(θ) ]^T として得れば良いわけです. 上方向を押されてキャラクタが前進する際には,1回の前進距離がvであれば, キャラクタのXY座標に,(v * u)を足せば良いということになります. X,Y成分で別に書けば, Character_X += v * cos(θ) Charact...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリ3Dでのカメラの向きと進む向き
返信数: 74
閲覧数: 24473

Re: DXライブラリ3Dでのカメラの向きと進む向き

キャラクタが「現在向いている方向(前方)」が3次元空間上でどっち向きなのか を管理し,
上を押したら,「その方向へ」キャラクタを進ませればよいのではないでしょうか.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: csvデータからの形の輪郭抽出
返信数: 19
閲覧数: 8633

Re: csvデータからの形の輪郭抽出

>前処理で 内部点を除去したデータ を一旦作った方が楽かな. とりあえず現状これはできそうなのでしょうか? これができたと仮定(すなわち表面上の点だけになっていると)して… <役に立たないかもしれないけど,一応考えたこと> ある点pの座標を, その周辺の点群(当然,この集団にはpは含まれないのだけど,さらに,pに近すぎる点も含めない方が良いかな?) の座標から推定(最も簡単には,単純に点群座標の平均を取るとか)したら その推定結果座標と,本当のpの座標とのズレ量がどの程度になるか? ということを考えると, pが辺や角の上にある場合の方が,それ以外の場合よりも ズレ量が大きくなるような気がする....
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語による画像処理 画像サイズ変更
返信数: 8
閲覧数: 9327

Re: C言語による画像処理 画像サイズ変更

No4のline23:
>fread( screen, 1, X_SIZE/4 * Y_SIZE * 3, fp );

読むときはちゃんと全部読まないといかんのではないだろうか.
→ここではX_SIZE/4の/4は不要.
(あと,
 >bmpはピクセルデータの水平サイズを4の倍数にそろえる必要があります。
 これがあるので,画素データ部のサイズ計算は一般には(X_SIZE * Y_SIZE * 3)ではダメかと.
 今はたまたま #define X_SIZE 1916 なる4の倍数な横幅の画像を読んでいるためにこれでも読めるだろうけど.)
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 課題がわかりません><
返信数: 7
閲覧数: 3418

Re: 課題がわかりません><

>提出が25日なので ということは実質24日中には完成していないとダメなのかな? 頑張ってください. 取り組む時間に余裕があるなら(?),一気に全部やるよりは 主要なロジック部分をつくる→ファイル保存処理を追加 という段階を経るといいかもしれない. (1)シミュレーションロジックの部分のみをまずは動くように仕上げる  (結果はデータファイルに出力するのではなく,とりあえずprintf()などで表示する)  初期状態は自分で決めろという指定があるが,その方法は明確に定められていない(?)ので  コードにてきとーな初期値を直に書くだけでいいのかも. (2)データファイルにも結果を出力するように変...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 課題がわかりません><
返信数: 7
閲覧数: 3418

Re: 課題がわかりません><

>初期条件として、時刻t=0における質点の座標(x0, y0)と速度 (u0, v0) を自分で決める。ただし速度の大きさは1m/s程度。 >時間間隔はdt=0.1。出力データファイル名を付け、プログラムを実行し計算結果を出力する。 まぁこの文章を読んだ感じでは以下のような雰囲気じゃないかと思います. この課題やるだけならば数学の知識も物理の知識も全く関係無いし, C言語に関しては,課題として出されている以上,どうすればよいのかという最低限の情報は 与えられていると思うので,まずは手元の情報(教科書なり何なり)を一から確認されてみては? //定数 const double g = 9.8066...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 課題がわかりません><
返信数: 7
閲覧数: 3418

Re: 課題がわかりません><

具体的に何がわからないのでしょうか?
シンプルなオイラー法でしょうから

>よって差分式は、
>u^(n+1) = u^n
>x^(n+1) = x^n + Δt*u^n
>v^(n+1) = v^n − Δt*g
>y^(n+1) = y^n + Δt*v^n

で得られている4つの更新式を実装してループさせるだけだと思います.
(ループ終了条件は知りませんが)
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の二次元配列を動的に確保する方法について
返信数: 12
閲覧数: 5922

Re: 構造体の二次元配列を動的に確保する方法について

>だいぶ省略や改変をしておりますが、 これ↑の程度がすさまじすぎて, もはや貼られているコードらしきものに何の信ぴょう性も無いように見えるのですが, (これってC言語なんですよね?きっと.) とりあえず 真のコードでも fread( &user_data[0], sizeof(USER_DATA[2]), 1, file_p); のように書いているのでしょうか? 読み込んだデータを保存する場所として指定されている &user_data[0] って一体どこなんでしょう. あと,文面から察するに Init → Save の順に処理しているっぽいのですが それだとnewが2回あって,どちらもuser...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: [C++] privateのメンバ変数の値を取得したい
返信数: 7
閲覧数: 6153

Re: [C++] privateのメンバ変数の値を取得したい

オフトピック
単に
>他クラスのprivateメンバ変数の値を取得する方法はないのでしょうか?
というのが本題なんじゃないかな…とか.(件名もそんな感じだし)
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: csvデータからの形の輪郭抽出
返信数: 19
閲覧数: 8633

Re: csvデータからの形の輪郭抽出

3次元データ上で処理するなら,とりあえず内部点を除去して表面な点群だけにしたところで, (1)各データ点の法線方向を求める : あるデータ点の法線は,その近傍に存在する点群の分布から求む  ↓ (2)各データ点について,近傍のデータ点群の法線方向分布を見て,自身が法線方向の変化率が局所的に最も高い位置にいるかどうかを調べる.  それには,  (2.1)各点が,自分の近傍での方向のばらつきを求めて  (2.2)近傍のばらつき量の極大値を保持している点を見つける.ばらつき量が検出閾値以上なら,エッジ上の点だと判定. ただし,(2.2)の極大点の求め方次第では,あるエッジ上点の近傍には別の点が検出さ...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: csvデータからの形の輪郭抽出
返信数: 19
閲覧数: 8633

Re: csvデータからの形の輪郭抽出

エッジですか.なんか難しい話になってきましたね. なんかデータのエッジは曲線っぽいし. とりあえず 超てきとーな 方法案(うーん,ひどい方法だ): エッジに沿わない平面(なるべくエッジ線と直交する面,かな)でデータを切ったときの断面を考える (実際は平面までの距離が±閾値 以内となる点群を平面に投影したようなのを考えるのかな?)と, 2次元画像上での点群みたく見えると思うので,画像処理的なアプローチができるのではないかな?とか. 3次元のデータ点群を薄くスライスして,各スライス毎に考える. 点の密度がそれなりになるように前記閾値を決めたとしたら,点描した絵みたいになるので. その2次元像上でコ...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: csvデータからの形の輪郭抽出
返信数: 19
閲覧数: 8633

Re: csvデータからの形の輪郭抽出

画像を拝見してもいまいちイメージがつかめません… (削る前の鰹節にとがったしっぽがついているような感じ?) 表面形状測定みたなことで得たデータとは違って,物体内部な箇所にも密に点が存在しているのでしょうか. 「輪郭」と「表面」という2つの単語は別の概念として用いられているように見受けますが 「表面」とは要するに表面(説明になってないな…物体と大気が接する面とでも言うか)だと思いますが 「輪郭」とは何を指しますか?(「エッジ」的な意味?) 欲しいのが「表面」な点群であれば,まぁ,てきとーすぎる方法はいくらか思いつかなくもないけど, それでも点の疎密が激しいデータだと厳しい.(画像を見ると,わりと...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: csvデータからの形の輪郭抽出
返信数: 19
閲覧数: 8633

Re: csvデータからの形の輪郭抽出

可能であれば,やりたいこと,というか,実際の問題の概要というか 問題の複雑さとか要求する正確さ(?)みたいなことに関する情報みたいなのを最初に出しておいた方が 良いような気がします. ・みけCATさんが触れられているように,図形形状に何らかの仮定を設けてよいのか?  それとも入力データは完全に未知のデータとして考えなければならないのか? ・目的は点群が表現する「図形」を推定すること? or 輪郭上に存在する点群とそうではない点群とにより分けること? ・どの程度の正確さが必要なのか?みたいな事柄  (例えば 輪郭の一部にV字型の箇所があり,Vの下側が図形内部側である場合,Vの一番下の角になってる...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: [C++] privateのメンバ変数の値を取得したい
返信数: 7
閲覧数: 6153

Re: [C++] privateのメンバ変数の値を取得したい

プレイヤのx座標,y座標を取得するためのpublicなメソッド を用意する
のが 最も素直(?)な気がします.

コード:

class CPlayer
{
private:
  int m_X;  //X座標
  int m_Y;  //Y座標
public:
  int GetX() const {  return m_X;  }  //X座標を知る方法を提供
  int GetY() const {  return m_Y;  }  //Y〃
};
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: OpenCVについて
返信数: 2
閲覧数: 1485

Re: OpenCVについて

赤く塗りつぶした結果の画像を表示して目視した場合,
その箇所は赤くなってますか?
なっているなら,その位置の画素値を取得すれば当然赤を示す値が得られるハズですので

>赤く塗りつぶした個所のRGB値を調べたところ
↑この処理が何か間違っているのではないでしょうか
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 木構造的に続く計算を行いたい
返信数: 12
閲覧数: 4819

Re: 木構造的に続く計算を行いたい

データは行列なんですね.なら int にしてたDataの型を

コード:

int d[3][3];
とか
struct Mat33{  int d[3][3];  };
みたいなのに変えればよいですね.
オフトピック
あと,一応断っておくと(?),
三分木の構造を勧めているのは,
『問題が三分木な形になるのであれば それをそのまま実直に表現するのが一番わかりやすい』と思うからで,
>リスト構造を使えばいい
という助言をされた方には 別の考えがあるのかもしれません.
その辺 確認できるのであればしてみると良いかと思います.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 木構造的に続く計算を行いたい
返信数: 12
閲覧数: 4819

Re: 木構造的に続く計算を行いたい

>nonさん 「行列式」とのことだったので データはスカラーなのかな,と思い込んでいました ( [3][1] というのは要するに[3]で,この3というのは3つの分岐のことなのかなー,とか) が,あらためて >やりたいことは、三つの三行三列の行列式 A,B,C を左から別々に元となる三行一列の行列式 K にかけます >その結果現れた三つの三行一列の行列式 AK,BK,CK に、上記の計算を別々に再び行います >最終的に行列内の数値が一定の基準を超えたらプログラムをストップするというものです を読み返してみると, >三行一列の行列式 とか書かれている! ので違うのかも… (どこが「行列」でどこが「...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 木構造的に続く計算を行いたい
返信数: 12
閲覧数: 4819

Re: 木構造的に続く計算を行いたい

木のデータ構造とか操作については 「二分木 C」とかで検索すると,例えば↓のようなのが見つかるので参考にすると良いでしょう. (ここの図がわかりやすいかと思います) http://akita-nct.jp/yamamoto/lecture/2005/2E/26th/html/node2.html 3分木にするのでも話はほぼ変わらないはずです. とりあえず最初は(早期に終了基準を満たすような閾値でも設けて) あまり深くない木を作ってみて,結果を表示して確かめてみると良いかと思います. 書き方はいろいろあると思いますが, //データ値 DataValue を持つ新しいノードを作る //ノードの破棄...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 木構造的に続く計算を行いたい
返信数: 12
閲覧数: 4819

Re: 木構造的に続く計算を行いたい

提示されたコードを拝見するに,1本のリストでデータを保持しているように見受けます. 取り組んでいる問題の内容がわからないので,間違っているかもしれませんが, >{k} -> { AK, BK, CK } -> { {AAK,BAK,CAK}, {ABK,BBK,CBK}, {ACK,BCK,CCK} } -> ... >のように増えてく過程の全データを保持する必要がある ということなのでしょうか. >で,この形が三分木になる ということをやろうとしているのだと思っているのですが,まず,この解釈は合っているでしょうか? ↓あってる場合 これを素直に表現するとしたら,木構造の個々のノードは, ・デ...
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: 木構造的に続く計算を行いたい
返信数: 12
閲覧数: 4819

Re: 木構造的に続く計算を行いたい

やろうとしていることの内容はよくわかりませんが,
{k} -> { AK, BK, CK } -> { {AAK,BAK,CAK}, {ABK,BBK,CBK}, {ACK,BCK,CCK} } -> ...
のように増えてく過程の全データを保持する必要がある ということなのでしょうか.
で,この形が三分木になるということですが,
であれば三分木を実装するのではいけないのでしょうか? 何が問題なのですか?

>どうも上手くいきません
というあいまいな言い方では実情がわからないので有用な助言を得るのは難しいのではないかと思います.
何に困っているのか具体的に示すとよいのではないでしょうか.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: プロセッシングについての質問があります。
返信数: 1
閲覧数: 1368

Re: プロセッシングについての質問があります。

少なくとも画像を表示することができるのであれば
吹き出しも画像で用意してしまって表示すればどうでしょうか.
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: GetCurrentConsoleFontEx関数が常に失敗する
返信数: 7
閲覧数: 4548

Re: GetCurrentConsoleFontEx関数が常に失敗する

GetStdHandle(STD_OUTPUT_HANDLE)で現在のアクティブなスクリーンバッファへのハンドルを得ることと
CreateConsoleScreenBuffer()で新しく作るのとでは意味が違う気がするのだけど
その辺は大丈夫だったのでしょうか.
by usao
10年前
フォーラム: 作品お披露目掲示板
トピック: 玉が転がるアプリ「Win32Balls」
返信数: 20
閲覧数: 22023

Re: 玉が転がるアプリ「Win32Balls」

>弾が消える判定(弾が設置できる場所?)も一緒に回ってるんでしょうか?
>斜めにするとクリックしても弾が出せない場所があるみたいですね。

はい.
(内部事情として
 データは無回転姿勢の状態で計算→表示するのに回転して描画
 という形なので 結果そうなってます.
 あまり問題にならないと思うのでそこは仕様ということで.)


>やってみました
やりすぎですw
(ついに全面埋め尽くし達成ですね……何がみなさんをそこまで駆り立てるのか?w)
by usao
10年前
フォーラム: 作品お披露目掲示板
トピック: 玉が転がるアプリ「Win32Balls」
返信数: 20
閲覧数: 22023

Re: 玉が転がるアプリ「Win32Balls」

Oh... まさかの5桁w
by usao
10年前
フォーラム: 作品お披露目掲示板
トピック: 玉が転がるアプリ「Win32Balls」
返信数: 20
閲覧数: 22023

Re: 玉が転がるアプリ「Win32Balls」

とりあえずやっつけで表示を縮小できるようにしてみました.
あと,充填派な方々に配慮して(?) Ctrl+左クリック で玉を7個同時追加するようにしましたw
by usao
10年前
フォーラム: C言語何でも質問掲示板
トピック: GetCurrentConsoleFontEx関数が常に失敗する
返信数: 7
閲覧数: 4548

Re: GetCurrentConsoleFontEx関数が常に失敗する

http://msdn.microsoft.com/en-us/library ... 85%29.aspx

コンソールスクリーンバッファを作る際にGENERIC_READを指定しないとダメなように見えます.

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