検索結果 90 件

by へろりくしょん
8年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の代入について
返信数: 5
閲覧数: 2970

Re: 配列の代入について

言語が分かりませんが、C言語なら 0x00 が入っています。

規格で定められているので、規格書で確認できますよ。
by へろりくしょん
8年前
フォーラム: C言語何でも質問掲示板
トピック: メモリを食う
返信数: 3
閲覧数: 2089

Re: メモリを食う

ハンドルを閉じてないからです。

LoadGraph()関数や、LoadSoundMem()関数は、呼ばれるたびに第一引数のファイルをメモリ上へ展開します。
不要になったらDeleteGraph()、DeleteSoundMem()等の関数を使って解放します。
by へろりくしょん
8年前
フォーラム: C言語何でも質問掲示板
トピック: Windows : プロセスとそのファイル名を列挙したい
返信数: 8
閲覧数: 5425

Re: Windows : プロセスとそのファイル名を列挙したい

ずらーっとソースを眺めただけで、コンパイルなどはしていませんが。 C言語内部で使われる呼び出し規約と、DLLで使われる呼び出し規約の違いが原因だと思いますよ。 2個目のソースの30行目。 3個目のソースの30行目をそれぞれ typedef DWORD (__stdcall *gpif_ptr)(HANDLE,char*,DWORD); typedef DWORD (__stdcall *qfpin_ptr)(HANDLE,DWORD,char*,PDWORD); とでもすればおそらく大丈夫なはずです。 gccにも、psapi.dll ・ kernel32.dll は、インポートライブラリが用意...
by へろりくしょん
9年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体内の記述について
返信数: 3
閲覧数: 1796

Re: 構造体内の記述について

Struct とは struct のタイプミスでしょうか。

Struct IntPoint のメンバ変数 x_, y_ をそれぞれコンストラクタの仮引数 x, y で初期化しています。

初期化リストと呼ばれるものです。
by へろりくしょん
9年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体について
返信数: 6
閲覧数: 2856

Re: 構造体について

どこがおかしいのか指摘をください。 アルゴリズムの意図をくみ取るならば、19行目です。 まず7行目で、struct list を 1つ data という名前で宣言・定義しています。 9行目で、data2 には data のアドレスを代入しています。 19行目で、data2 は data の次のアドレスを計算しています。 しかし、data は struct list を1つだけしか持っていませんので 次なんてありません。 次なんてありませんので、data の次のアドレスにアクセスした時点で未定義です。 提示されたコードを忠実に読み取るならば、12行目です。 変数 i は、10行目で宣言されてい...
by へろりくしょん
9年前
フォーラム: C言語何でも質問掲示板
トピック: C++でprivate内での変数の扱い
返信数: 1
閲覧数: 4232

Re: C++でprivate内での変数の扱い

アクセス修飾子の如何に関わらず、配列宣言に置ける要素数は定数式でなければなりません。

int num; が定数で表現可能ならば、マクロ定数を使うと幸いでしょう。
可変の場合は、動的確保することになるかと思います。
by へろりくしょん
9年前
フォーラム: C言語何でも質問掲示板
トピック: CreateWindowでHWNDを受け取れない&最小化状態での親ウィンドウのサイズ変更に子ウィンドウが対応しない
返信数: 5
閲覧数: 2796

Re: CreateWindowでHWNDを受け取れない&最小化状態での親ウィンドウのサイズ変更に子ウィンドウが対応しな

最小化した後に通常のサイズに戻した時に子ウィンドウが表示されない原因が分かりません。 MoveWindow() API の第6引数に、FALSE を指定しているからでは無いでしょうか。 これは再描画フラグですから、FALSE の場合は再描画されません。 また、29行目や75行目の処理でhMainWndやhCWndにウィンドウハンドルを受け取れない理由も分かりません。 hCWnd はともかく hMainWnd は受け取れないと、続く83行目で終了すると思うのですが、受け取れていないと考えた理由はなんでしょうか。 とりあえず、CreateWindow() API が失敗した場合は、GetLast...
by へろりくしょん
10年前
フォーラム: C言語何でも質問掲示板
トピック: どうしても表示できない文字がある
返信数: 12
閲覧数: 10675

Re: どうしても表示できない文字がある

初級者 さんが書きました:2バイト文字の1バイト目あるいは2バイト目に
¥n
と同じ文字コードを含んでいる(表、とか)と、
不幸せなままかもしれません。
エスケープシーケンスの事をおっしゃっているのでしょうか。
"表" に含まれるのは、'¥¥' であって、'¥n' ではありませんよ。

'¥n' のコードは 0x0A です。 これは、SJIS において、1バイト目にも2バイト目にも含まれません。
by へろりくしょん
10年前
フォーラム: C言語何でも質問掲示板
トピック: どうしても表示できない文字がある
返信数: 12
閲覧数: 10675

Re: どうしても表示できない文字がある

SJIS に於いて "法" は、0x9640 の2バイトで構成されます。

改行の印として使用している "@" は、0x40 ですので、
"法" の2バイト目が、sprintf() 関数に続く strtok() 関数にて切り分けられている為に起きているようですね。

改行の印には、素直に '\n' 辺りを使うと恐らく幸せになれるでしょう。
by へろりくしょん
10年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル名からフォルダに振り分けるソース
返信数: 6
閲覧数: 4026

Re: ファイル名からフォルダに振り分けるソース

任意のディレクトリ等からファイルを検索し、見つかったファイルのファイル名から、振り分けたい。
と言う事だと思いますが。


環境が何も書いてないので、C言語だと仮定しますが、
C言語の標準的な機能のみでは不可能です。

まずは環境を書いてください。
by へろりくしょん
10年前
フォーラム: C言語何でも質問掲示板
トピック: バイナリ形式出入力について(初心者です)
返信数: 7
閲覧数: 3334

Re: バイナリ形式出入力について(初心者です)

みけCAT さんが書きました:
スーパーコック さんが書きました:3 行目以降は、点数 1 つあたり 1 バイトの整数値としてバイナリ形式で書き込む
この条件が、ほとんどの環境で満たされていないと思います。
LSI C-86 試食版でさえ、int型は2バイトです。
使用しているコンパイラを教えてください。
コードは見づらすぎてさっぱり見てませんが。

unsigned char 型でいいのでは? 一般に1バイトで整数型です。
by へろりくしょん
10年前
フォーラム: C言語何でも質問掲示板
トピック: スマートな読み込みプログラムの書き方
返信数: 17
閲覧数: 8764

Re: スマートな読み込みプログラムの書き方

もう少し具体的に書くと ファイルを書きだす時に fopen 関数でバイナリ書き出しモードで構造体を出力する 読み込むときは fopen 関数でバイナリ読み込みモードでファイルを読み込む というだけのことです。 あまり難しく考えず 構造体を中身のデータごとそのまま書きだして、そのまま読み込む と考えてくださいね これは、少々危険な気がしますね。 例えば、ある構造体があったとして、この構造体のサイズは処理系依存です。 一般に、構造体をそのままファイルへダンプするのはあまりよろしくありません。 ですから、結局のところ何らかの形で切り分けていく必要があると思います。 #どういうわけだか、ビットマップ...
by へろりくしょん
10年前
フォーラム: C言語何でも質問掲示板
トピック: スマートな読み込みプログラムの書き方
返信数: 17
閲覧数: 8764

Re: スマートな読み込みプログラムの書き方

コードの書き方という事でしたら、若干スパゲッティ化してますので、これを解決するのが第一の目標でしょう。 不要なカウンタが多いです。 そして原則としてカウンタを減らすのは軽く禁じ手です。 とりあえず、日本語でコードを書いてみるとすっきりします。 まず、構造化を意識します。 1関数は、1機能だと心がけてください。 読み込むファイルを関数内で、決め打ちしてますが、これは引数として渡すべき物です。 また、プログラムを殺してしまう関数はあまり好ましくありません。 戻り値を利用し、失敗時にはエラーを返すようにするべきです。 また、正否の判断は、呼び出し元に責任を負わせた方がいいです。 C言語との話ですが、...
by へろりくしょん
10年前
フォーラム: C言語何でも質問掲示板
トピック: コンパイラの字句解析プログラムについて
返信数: 2
閲覧数: 2049

Re: コンパイラの字句解析プログラムについて

1)intValを計算している部分をどこなのか抜粋せよ。 2)キーワードと識別子の区別をするために用いているテーブルはどれか? また、識別する関数はどれか? この2点についてお願いします。 code タグが使われていないので、行番号が分かりませんが。 1)は、Token nextTkn(void) 関数内の、case Digit: 文の、 for (num=0; ctyp[ch]==Digit; ch=nextCh()) {   num = num*10 + (ch-'0'); } の、所です。 2)は、KeyWdTbl テーブルを用いて、Token set_kind(Token t) 関数...
by へろりくしょん
10年前
フォーラム: C言語何でも質問掲示板
トピック: バッファのクリア
返信数: 6
閲覧数: 12914

Re: バッファのクリア

#と、ここまで解説したのですが、scanf("%d",&place)ならscanf("%*[^\n]")でもバッファクリアできそうですね。 クリアされません。 依然として入力バッファには改行コードが残ります。 scanf("%d", &hoge"); というコードが実行され、 "aaa+\n" という文字列が入力された時、 "aaa+\n" は数字では無いので読み込まれません。 入力バッファには、"aaa+\n" がそのまま残ります。 続く、scanf("%*[^\n]"); というコードが実行され、 改行コード以外の、"aaa+" が読み飛ばされます。 入力バッファには、"\n" が残りま...
by へろりくしょん
10年前
フォーラム: C言語何でも質問掲示板
トピック: 電卓プログラム・十六進電卓(hex calculator)
返信数: 2
閲覧数: 2006

Re: 電卓プログラム・十六進電卓(hex calculator)

argv[1] をチェックしてみてください。 NULL になってませんか?
by へろりくしょん
10年前
フォーラム: C言語何でも質問掲示板
トピック: ダイアログボックスを常にアクティブ状態にする方法について
返信数: 5
閲覧数: 4079

Re: ダイアログボックスを常にアクティブ状態にする方法について

やりたい事がちょっと分かりません。

単純に、見た目の問題なのか。 それとも、システムモーダルなダイアログを作りたいのか。

前者の場合は、WM_NCPAINT あたりを処理すれば良いのでは。

後者の場合は、昔は SetSysModalWindow() API で出来たのですが、今時の Windows はシステムモーダルなんて根本的に存在しません。
ので、どうしてもやりたいと言うのであれば、システムフックをかけて他のアプリケーションがフォーカスを受け取れないようにする。
とか、ちょっと泥臭い事をすれば可能じゃないでしょうか。
by へろりくしょん
10年前
フォーラム: C言語何でも質問掲示板
トピック: マウス操作関連の関数について
返信数: 2
閲覧数: 2058

Re: マウス操作関連の関数について

あるアプリケーションでマウスの自動操作を行いたく、mouse_event,sendInputを試したのですができませんでした。 (他のアプリケーションでは動作確認済み) ちょっと言いたい事がわかりません。 他のアプリケーションではマウスの自動操作できたけれど、今のでは出来ない。 と言う事でしょうか。 つぎにSendMessage(HWND hWnd,WM_LBUTTONDOWN,0x0001,0x00c100c1); とそのアプリケーションに対して送ったのですが、クリックしませんでした。 普通に出来ますよ。 後、1行ながら突っ込みどころ満載のコードですが、多くは言いません。 ただ、せっかくマ...
by へろりくしょん
10年前
フォーラム: C言語何でも質問掲示板
トピック: typedefの巡回参照問題
返信数: 1
閲覧数: 1355

Re: typedefの巡回参照問題

本当にそのような構造体が必要なのか根本的なところから見直します。

仮に、A hoge; と宣言した場合、
hoge.c.b.a.c.b.a.c.b.a.c.b.a..... と延々にメンバ変数を参照できてしまいますが、
この構造体がどのようにメモリに配置されるか想像できますか。

論理的に不可能であることが分かると思います。


どうしても件のよう入れ子にしたい場合は、不完全型として宣言することは出来ますが、
不完全型のインスタンスは作れませんので、メンバ変数はポインタで宣言するしかありません。
by へろりくしょん
10年前
フォーラム: C言語何でも質問掲示板
トピック: ウインドウメッセージについて
返信数: 25
閲覧数: 8046

Re: ウインドウメッセージについて

状況がまるで不明なので、これだとは言えませんが。

コードから察するに、他プロセスのウィンドウとのやりとりをしたいのでしょうか。
もしそうであるならば、ちょっと面倒です。

Windows では、各プロセスの仮想メモリはそれぞれ独立してますから、ウィンドウプロシージャの差し替えなどは出来ません。
ですから、DLL等の共有空間を利用する事になります。

おそらく、システムフックを利用するのが、一般的なのでは無いでしょうか。
by へろりくしょん
11年前
フォーラム: C言語何でも質問掲示板
トピック: 【AOJ】入力されていないトランプのカードを出力
返信数: 3
閲覧数: 1998

Re: 【AOJ】入力されていないトランプのカードを出力

こういうのは1行1行丹念に処理を追っていくとすぐに分かります。

17行目からの switch() 文に break 文がありませんね。
ついでに26行目の for() ループの j が初期化されていません。

デバッガを使ってください。
by へろりくしょん
11年前
フォーラム: C言語何でも質問掲示板
トピック: インデントについて
返信数: 5
閲覧数: 3960

Re: インデントについて

私はケース2ですね。

ちなみに、case 文をブロックで囲む場合は

コード:

switch()
{
	case 0:{
	}break;

	case 1:{
	}break;
}
とします。


case ラベル、default ラベルは、switch() の直下のブロックの中でのみ有効ですので、switch() 文にぶら下げる形で1段掘り下げます。
また、case - break; は、基本的に対になってワンセットだと思ってますので、深さは揃えます。

VS搭載のエディタだと毎回修正が大変ですが、必ずこうします。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: switch文について質問なのですが・・・
返信数: 6
閲覧数: 3093

Re: switch文について質問なのですが・・・

へろりさんの 新しく選択されたメニュー番号 Title_menu(); void Title_syori(処理したいメニュー番号); というのは、 case 0 : //タイトル Title_menu(); Title_Draw(); Title_hitori(); Title_hutari(); Title_setsumei(); break; の()内に番号を入れればいいということではなく、考え方のことですよね? いえ、Title_syori() 関数の場合は、() 内に引数として番号を渡しましょう。 ということです。 Title_menu() 関数では、選択された番号を戻り値として返し...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: switch文について質問なのですが・・・
返信数: 6
閲覧数: 3093

Re: switch文について質問なのですが・・・

質問の内容を額面通りに受け取るならば、setjmp() longjmp() を使えば可能ですが、普通はしません。 基本的に、関数の途中から別の関数の途中に処理を移すのは、禁じ手中の禁じ手だと心得てください。 原則として、1関数は1機能、そして引数と戻り値を窓口に対話します。 関数には引数にもしもしと話しかけ、関数は戻り値でお返事します。 そんなイメージです。 もっと構造化を意識してください。 今回のコードでは、かなり最悪な形でグローバル変数が使われてます。 関数 Title_syori() の中身の行方は、グローバル変数 SeectNum の値に依存します。 その上で他の関数の途中にジャンプし...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: 綺麗なソースの書き方
返信数: 28
閲覧数: 14578

Re: 綺麗なソースの書き方

アルゴリズムについてはざっくり割愛しますが。 処理や機能としてまとめられる部分は、できるだけまとめてしまうと見やすいです。 たとえば、今回の main() 関数に関しても、55行目までを、変数の宣言・入力・初期化の3つに切り分ける事ができますね。 データの入力が行われる時には、入れ物はすべてそろっている状態。 初期化を行う時は、必要なデータはすべてそろっている状態。 これを意識するだけで、可読性はずっと上がります。 また、よりセキュアになりますし、デバッグも容易になります。 今回はそうでもありませんが、宣言・入力・初期化を各変数に対して細々とやったりすると、処理を追うのも大変なのはわかりますね...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: 書籍を購入したのですが・・・
返信数: 5
閲覧数: 2739

Re: 書籍を購入したのですが・・・

その書籍でしたらむしろシニア編から入っても大丈夫です。 平気で嘘を書き並べる、平然と禁じ手を使う、定石とも言われるルールやマナーをざっくり無視するなど、悪名高くすこぶる評判の悪い著者ですが、 文体自体は非常に丁寧で分かりやすく、基本的なところは一通り押さえていますので、プログラミング未経験者が最初に覚える言語としてC言語を選択したのなら、それ1冊で大体まかなえる内容です。 ただ、この著者は本当にすこぶる評判が悪いです。 入門者に絶対読ませたくない本を書く人とさえ言われています。 ドロイド君っぽい表紙のポインタの本の著者にも、こき下ろされてましたね。 主だった理由は上に挙げたとおりで、より可読性...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でわからない問題があります。
返信数: 2
閲覧数: 1851

Re: C言語でわからない問題があります。

暇だったのでざっくり書いてみました。 まともに書くとちょっと長くなるのでだいぶ手抜きです。 おかげでちょっと汚いです。 金額の上限が分からなかったのでとりあえず1024桁まで対応してみました。 10兆円でも高々13桁なので、1024桁もあれば金額としては十分だという判断です。 これだけあれば、地球丸ごと買えます。 多分。 関数に1次元配列を渡します。 関数は結果を返します。 条件は満たしていると思います。 #include <stdio.h> #include <string.h> #define BSIZE 1024 char* sum(char *base, char *add) { in...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: バイナリエディタで見ると見つからないdllがある
返信数: 2
閲覧数: 1363

Re: バイナリエディタで見ると見つからないdllがある

PEフォーマットについてグーグル先生に聞いてみるといいですよ。

簡単に説明すると、インポートされるDLLの関数群は、それぞれの関数へのアドレス値が埋め込まれています。
DLLの名前も、その名前のアドレス値が埋め込まれています。
shiro4ao さんが書きました:昔、WindowsVista32bitで開いたときは見えたのですが、
そういったことは関係しているのでしょうか?
まったく関係ありません。
バイナリを吐き出すのは処理系の仕事です。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: ノベルスクリプトのメッセージ表示時、改行をしたいのですが
返信数: 5
閲覧数: 1185

Re: ノベルスクリプトのメッセージ表示時、改行をしたいのですが

リンク先のサイトを見ましたが、なんというか、えらく汚いコードですね。
関数分けが苦手な人なのでしょうか。

関数の仕様といい、中身の処理といい、参考にするには大分アレな代物です。

特に難しい処理ではありませんのでとりあえず、このコードの事はざっっくりと忘れてしまって、
1つ1つどういう処理をすればいいのか、1度日本語あたりで書いてみた方が早いと思いますよ。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: すっごい初歩的なことですがデータセーブロード
返信数: 4
閲覧数: 3238

Re: すっごい初歩的なことですがデータセーブロード

fwrite() 関数があります。

#include <stdio.h>
size_t fwrite(const void *buf, size_t size, size_t n, FILE *fp);
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: switch文内のgoto文について
返信数: 5
閲覧数: 3442

Re: switch文内のgoto文について

ゲームプログラム内の処理で、switch文を使っているのですが、終了処理でメイン関数ソースコードの最後に記述した DxLib_End関数を通らせたい場合、goto文でswitch文外のDxLib_End関数直前にジャンプしてもいいものでしょうか?。 いいですよ。 自分のプログラムですから、自由気ままに書けばいいんです。 goto文はできるだけ使わないほうがいいと聞いたのですが。 「できるだけ使わない方がいい」と、「使ってはならない」は別物です。 goto 文が嫌悪される1番の理由は、処理がぶつ切りになってしまう事です。 特に、前方・後方両方への goto 文が混在する場合、処理を追うのも一苦...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: 単結合リストの修正のお願い@C++
返信数: 4
閲覧数: 2824

Re: 単結合リストの修正のお願い@C++

ケースバイケースではありますが、リスト構造は、ノード自体が再帰的に定義されるものですから、class Node を管理する class List なんて考えは、ちょっとはずれてるかと思わなくも無い気がしないでも無いです。 class List が管理する立場に立つのであれば、ノードの追加・削除・つなぎ変えは、class List の仕事ですので、Node::next は public にしてしまってもかまわないでしょう。 それをふまえた上で、 void List::AddNode(int num) { Node **finder = &head; // Node型を扱うポインタにリストの先頭ア...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: リスト・双方向リストについて
返信数: 2
閲覧数: 1746

Re: リスト・双方向リストについて

ソースコードを張る場合は、code タグを利用される事を強く切望します。
それと、どう上手く行かないのかを書いた頂けると、大変助かります。

それなりに行数があり、インデントも崩れてるとなると処理を追うのも一苦労です。
また、具体的な問題点が明示されない場合、いちいちどこが問題なのかを探す事になりますが、上記の理由によりその困難さに拍車をかけます。

最終的には、こちらで IDE を起動し、コードを整形した上にデバッガを駆使することになりますが、それは大変手間で面倒な事です。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: ダブルクリックの検出を止めるには
返信数: 5
閲覧数: 2249

Re: ダブルクリックの検出を止めるには

ダイアログプロシージャで、WM_LBUTTONDBLCLK を読み捨てるってのは無しですか?
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの入出力に関する質問
返信数: 2
閲覧数: 1106

Re: ファイルの入出力に関する質問

22行目。 fscanf() 関数における double 型の書式指定子は %lf です。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: 練習問題
返信数: 7
閲覧数: 2787

Re: 練習問題

気になる点と言えば、rand() % 100 で得た乱数が、既知のものであった場合、つまり重複した場合ですが。 無限ループに陥るような気がするのですが。 20行目で、flag = true; で、このフラグは下ろされませんので、 24行目のwhile ( flag ); は常に真ですね。 まぁ、参考までにと上げているものを重隅をつつくようで、ちょっとアレなのですが。 ここは、重複しているかチェックするより、素直にシャッフルした方が素直ではないかと。 #include <stdio.h> #include <time.h> #include <stdlib.h> int sort(const v...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム作り基本
返信数: 24
閲覧数: 5323

Re: ゲーム作り基本

struct HOGE *hoge = (struct *HOGE)malloc(sizeof(struct HOGE)); これは何をしているのでしょうか? どんな使い方をするのか教えてください 構造体 struct HOGE に必要なメモリをヒープ領域から確保しているだけです。 使い方は、普通の変数と変わりません。 ヒープ領域を利用する理由は色々とありますが、自動変数・静的変数が確保するメモリ領域にはいくつか不都合があります。 自動変数では、一般にスタックへ詰まれるため、変数の値を永続的に保持する事は出来ません。 静的変数では、その寿命はプログラムの終了までですが、逆に言えばプログラムの...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム作り基本
返信数: 24
閲覧数: 5323

Re: ゲーム作り基本

ヒープ領域ってプログラムが終わるまで消えない値でしたっけ? staticと何が違うのですか? ちょっと乱暴な言い方になりますが。 ヒープ領域というのは、OSが管理している領域です。 アプリケーションでは、malloc() 関数等を呼び出す事で、OSの持つ領域を一時的に借り受けます。 OSはアプリケーションが起動されると、アプリケーションに必要なメモリ領域(コードセグメントや、データセグメント等)を確保し、ここへアプリケーションをロードします。 これがいわゆるプロセス空間と呼ばれるものです。 原則として、アプリケーションはこのプロセス空間で作業する事になりますが、必ずしもアプリケーションが作業...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム作り基本
返信数: 24
閲覧数: 5323

Re: ゲーム作り基本

1.ロード関数を使って画像をロードするには時間がかかると聞きました プログラムは上から順に実行されると思うのですがロードしているときに 処理が止まってしまうということはないのでしょうか? 小さな画像1枚程度なら、0.1秒もかからないと思いますが、体感できるかどうかは別として、基本的にロード中は処理が止まります。 ですから、この手の処理はタイミングを見極める必要があります。 例えば、画面が暗転して新しい画面に切り替わる時。 とか。 2.当たり判定関数を作って矩形当たり判定をするときにたくさんの座標情報が必要になりますよね 引数に座標値を書きまくったらすごい数になるのですが やり方が間違ってそう...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: static変数について
返信数: 5
閲覧数: 1950

Re: static変数について

というようにstaticで変数を宣言していて、このような関数がいくつもあります。処理が重くなったのは、各ステージで宣言したstatic変数が確保しているメモリが解放されないからと考えていますがそのようなことはあるのでしょうか? 言いたい事が今ひとつ分かりません。 この疑問文の趣旨は、static 変数が原因で処理が重くなる事ってあるの? って聞いているのですか? それとも、static 変数が確保しているメモリが解放されないなんて事あるの? って聞いているのですか? 前者についてはまぁ、極めてレアケースではありますが、初期化のタイミングにおいて、若干の遅延が発生する事が、あると言えばあります...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: メニューバー
返信数: 1
閲覧数: 879

Re: メニューバー

環境が分からないので、勝手に Windows と仮定しますが。

ソースコードは書きません。
リソーススクリプトを書きます。

そして、リソースコンパイラでコンパイルした後、オブジェクトファイルとリンクさせます。

具体的なところはぐーぐる先生が詳しく知ってます。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: オセロを作っていたのですが・・
返信数: 2
閲覧数: 1203

Re: オセロを作っていたのですが・・

ざらっと見ただけですが。 言葉だけで説明するのはちょっと大変なので、結論だけざっくりいきます。 相手の石をひっくり返す処理を行った後も、延々とひっくり返しているようです。 上方向ならば、46行目の for() ループを抜けた時点で、41行目の while() ループを抜けるようにする必要があります。 というより、ひっくり返せるかチェックする処理・ひっくり返す処理は、関数化した方がいいですよ。 そうすれば、このコードもざっくりと半分以下に減らす事が出来ますし、とても見通しが良くなる上に、バグの箇所の特定も迅速に行えるようになります。 ちなみに、この手のバグはトレースすれば一発です。 Visual...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: C++ 動的配列の生成方法
返信数: 5
閲覧数: 3040

Re: C++ 動的配列の生成方法

動的である事を前提に、インスタンスの配列が欲しいのか、ポインタの配列が欲しいのか、データ構造は設計に関わります。

どちらが良くてどちらが悪いというものではありません。
必要に応じて使い分けてください。

どちらにもメリット・デメリットがあります。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: mainについて
返信数: 7
閲覧数: 2733

Re: mainについて

とありますが、どう違うのですか???またvoidをつけなければいけない時はどういう時でしょうか? 参考書に載っていなかったので質問しました。 というより、原則として付けるべき。 だと心得てください。 C言語では hoge(void) と hoge() では意味が異なります。 前者の場合は、引数を取らない事を意味します。 後者の場合は、引数のチェックを行わない事を意味します。 ですので、 void hoge(void) {   ・・・ } void foo() {   ・・・ } main() {   hoge(100);  //エラー   foo(100);   //おk } となります。 ...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: クラスを使った関数ポインタについて
返信数: 4
閲覧数: 4815

Re: クラスを使った関数ポインタについて

(this->*enemy_pattern[(*it).pattern])((*it)); とします。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: STGの敵出現タイミングをどうやってコントロールすればいいのか・・・。
返信数: 2
閲覧数: 1693

Re: STGの敵出現タイミングをどうやってコントロールすればいいのか・・・。

龍神録では確か構造体で管理していたはずですが。

struct ENEMY{
  int count;    //出現するフレーム数
  int flag;
  int pattern;
  ・・・
} enemyList[敵の数分とか];

こんな風にしておいて

if(enemyList.count == counter){
  ここで、追加
}

みたいな。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: winapi32でのJPEG画像表示切り替え 配列について
返信数: 2
閲覧数: 1198

Re: winapi32でのJPEG画像表示切り替え 配列について

引数として認識しないというのが今ひとつさっぱり分かりませんが。 とりあえず、GetHandle() 関数は、void GetHandle(char File[255],HWND hWnd,HDC hdc) となってますね。 関数の仮引数で宣言された配列型は、ポインタ型に読み替えられます。 したがって、この場合の、第一引数 File の型は char* 型です。 で、char jpeg[3][10] = { "test1.jpg", "test2.jpg", "test1.jpg" } ;の jpeg の型は char[3][10] です。 jpeg[0] の型は、char[10] です。 jp...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: クラスを使った関数ポインタについて
返信数: 4
閲覧数: 4815

Re: クラスを使った関数ポインタについて

そのまんま、エラーメッセージに従えばいいですよ。 void (ENEMY::*enemy_pattern[ENEMY_PATTERN_MAX])(Ch&) = {   &ENEMY::enemy_pattern0, &ENEMY::enemy_pattern1, &ENEMY::enemy_pattern2, &ENEMY::enemy_pattern3, &ENEMY::enemy_pattern4 }; メンバ関数は暗黙的に this ポインタが渡されます。 逆に言うと必ず渡されなければなりません。 ので、void (*enemy_pattern[ENEMY_PATTERN_MAX])(C...
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: アドレスを用いた数値の入れ替え
返信数: 8
閲覧数: 5374

Re: アドレスを用いた数値の入れ替え

tape さんが書きました:

コード:


	work = *p_a;
	p_a = *p_b;
	p_b = work;

アドレスを代入すればいいと思って上のようにしたのですが、
間接参照のレベルが int* とintで異なっています

というエラーが出ました
work の型は int* です。 p_a, p_b の型の int* です。
で、*p_a, *p_b の型は、int です。
ですから、work = *p_a; とした場合、int* と int で異なってますね。


ここは、work = p_a; とします。

というより、最初に提示されたコードではそのように書いているようですが。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: アドレスを用いた数値の入れ替え
返信数: 8
閲覧数: 5374

Re: アドレスを用いた数値の入れ替え

ぱっと見、ポインタの入れ替えの処理に問題は見あたりません。

こういう場合は、どんなエラーが出たか、エラーメッセージがあるならそれを貼り付けてくれると大変助かります。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: 二次配列用のポインタ
返信数: 6
閲覧数: 2636

Re: 二次配列用のポインタ

box さんが書きました:なお、
int **dis;
は定義です。宣言ではありません。
重隅かもしれませんが、ちょっと強く言い切ってしまってますので。

基本的に定義というのは、記憶域の確保を伴う宣言の事です。
ですので、通常、一般に変数は宣言と定義が同時に行われます。

変数に限って言えば、関数の仮引数・構造体のメンバ変数・extern register 等の記憶クラス指定子といった、定義を伴わない宣言のみ
というのはありますが、原則としてその逆はあり得ません。

ですので、ここで宣言ではありません。 と言い切ってしまうのは些か語弊があると思うのですが、どうでしょう。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: StretchBltで
返信数: 2
閲覧数: 1310

Re: StretchBltで

SetStretchBltMode() 関数の第2引数に、HALFTONE を与えてみては。

それでも満足できなければ、DIB セクションでピクセルバッファを直接操作するしかないでしょうね。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: お仕事について
返信数: 7
閲覧数: 3635

Re: お仕事について

年収500万って、手取りってわけでは無いと思いますが。

私が勤めている時がちょうど年収にして500万ありました。

で、健康保険・厚生年金・所得税が、月当たり7万円ぐらいでしょうか。
で、年2回のボーナスがそれぞれ50万ぐらいずつですので、給与のみだと、手取りで年間300万ぐらいですね。

300/12=25です。 ので、月給25万円ぐらいです。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: 大きな画像を配列にして読み込む
返信数: 2
閲覧数: 1393

Re: 大きな画像を配列にして読み込む

環境が書かれていないので、なんとも言えませんが。

DXLIB なら、LoadDivGraph() 関数を利用するようですね。

WIN32API なら、4x4 の HBITMAP の配列を作って、BitBlt() で描画する。

でしょうか。
by へろりくしょん
12年前
フォーラム: C言語何でも質問掲示板
トピック: BCCDeveloperからVisualC++に乗り換えたのですが
返信数: 9
閲覧数: 6623

Re: BCCDeveloperからVisualC++に乗り換えたのですが

えー 1コ1コ行きます。 c:\documents and settings\administrator\my documents\visual studio 2008\projects\getallfilepass\getallfilepass.cpp(14) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online h...
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: void型の引き数
返信数: 2
閲覧数: 1193

Re: void型の引き数

単純に、long long 型でも、int 型でも、short 型でも受けれるように、void* 型にしてるだけだと思いますが。
wordP に与えられる実引数のバイト長を第一引数の length に指定するのでしょう。

内部で unsigned char 型にキャストするのは、単純に、バイト単位で扱いたいから。 ではないかと。

ちなみに、wordP は、void* 型です。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: ローカル変数って何?
返信数: 14
閲覧数: 5701

Re: ローカル変数って何?

aquashooting さんが書きました:
softya(ソフト屋) さんが書きました: 例として最初におまじないのように#include<stdio.h>と書きますよね。
「<>」内でくくられているヘッダファイルは「コンパイラのおまけでついているヘッダファイル」のことなんです。

それに対し#include "booting.h"とくくってあるのは「自分で作ったヘッダファイル」
のことなのです。
だから間違って#include "stdio.h"と書いてしまうとエラーが出ることになります。(ここまで間違っていたら申し訳ありません)
使い分けとしては結果として、そのようになりますが、"" と <> の違いは、単純にパスの検索順番が違うだけです。 
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: お願いします
返信数: 9
閲覧数: 2466

Re: お願いします

10の位と1の位をループさせればいいだけでは。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: qsortの使い方
返信数: 46
閲覧数: 8790

Re: qsortの使い方

だから、y を比較すればいいだけだと思いますが。

とりあえず、比較関数の中身は

int hikaku(const void *a, const void *b)
{
return ((TEST*)a)->y - ((TEST*)b)->y;
}

とでもすればいいかと。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: そもそもC言語でゲームを作るとはどういうことなんでしょうか?
返信数: 30
閲覧数: 9401

Re: そもそもC言語でゲームを作るとはどういうことなんでしょうか?

日本語で、小説を書く事も、論文を書く事も出来ます。 どちらも同じ日本語です。 ですが、日本語を学べば、感動を与える小説が書けるかと言うとそうでもありません。 ですが、意図した通りに伝わるかどうかはともかく文章を書く事は出来ます。 C 言語も同じです。 ゲームにはゲームを上手く表現するための書き方や、お作法があります。 日本語が人間同士のコミュニケーションを行うための道具なら、C 言語は、人間とコンピュータのコミュニケーションを行うための道具です。 その用途に応じて、適した表現方法は様々です。 softya さんが紹介した書籍は、C 言語という言語を学ぶ事に主眼を置いた物ですね。 ですから、読め...
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】チーフプログラマー、気をつけることは?
返信数: 16
閲覧数: 5422

Re: 【雑談】チーフプログラマー、気をつけることは?

jay さんが書きました:constも使うとの事ですが、僕はいつも定数を宣言するときには#defineを使っているのですがconstを使った方がいいのでしょうか?
それとも何かしらの基準で使い分けた方がいいのでしょうか?
主に、関数の引数などの事だと思いますよ。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: DrawGraphで…
返信数: 2
閲覧数: 1108

Re: DrawGraphで…

ウィンドウサイズに 32bit というのがよく分かりませんが。

とりあえず、第一引数に n * size でいいんじゃないですか?
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの読み込み2
返信数: 5
閲覧数: 2594

Re: ファイルの読み込み2

これはちょっと、具体的なやり方と、どううまくいかないのか書いてくれないと返答は出来ないと思いますよ。

読み込みのやり方と言われても、fread() 関数等を利用しますとしか答えれませんし、やりかたをどう変えたらいいかと言われても、今現在どのようなやりかたをしているのかさっぱり分かりません。

文字列として取得したいということは、文面からは、unsigned char* 型のバッファにでも詰め込むという意味で解釈するのが一番しっくりきますが、これは常套手段ですのでこれでうまくいかないはずはない。 と答えるしかありません。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: サイズの違うマップをステージが変わるごとにメモリ確保したい
返信数: 13
閲覧数: 3620

Re: サイズの違うマップをステージが変わるごとにメモリ確保したい

といった、感じにしたいのですがメモリも確保しているのに、なぜアクセス違反になってしまうんでしょうか? GetHitChip() 関数をコールしている if() 文の中身についてはさっぱり分かりませんので、ざっくり無視しますが、 GetHitChip() 関数自体のコードには、特に問題は見受けられません。 アクセス違反と言う事ですから、変数 mapdata のメモリ確保に失敗しているか、map_x map_y が異常値でバッファオーバーランを起こしている。 のどちらかである可能性が高いですね。 こういう、プログラムが正しく動作していれば異常値になる事などあり得ないという状況下では、とりあえず ...
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: サイズの違うマップをステージが変わるごとにメモリ確保したい
返信数: 13
閲覧数: 3620

Re: サイズの違うマップをステージが変わるごとにメモリ確保したい

という、ご指摘をしていただきましたが、ReadFileの第3引数は読み取り対象のバイト数とあったのですが、読み取るサイズの大きさだけではなく、BYTE型としてバイト数を指定する必要があるということでしょうか? for( i=0; i<size_w; i++ ){ for( j=0; j<size_h; j++ ){ ReadFile( hFile , &mapdata[i][j] , size_w * size_h , &errchk , NULL ); } } というループで、変数 mapdata [j] の全要素に大して1つ1つ読み込んでいる訳ですから、指定するサイズは mapdata ...
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: サイズの違うマップをステージが変わるごとにメモリ確保したい
返信数: 13
閲覧数: 3620

Re: サイズの違うマップをステージが変わるごとにメモリ確保したい

この場合
ReadFile( hFile , &mapdata[j] , size_w * size_h , &errchk , NULL );

ReadFile( hFile , &mapdata[j] , sizeof(BYTE), &errchk , NULL );
ではありませんか。

それよりも
if( mapdata == NULL )

mapdata = (BYTE*)malloc(sizeof(BYTE) * size_h );
の前に行う必要があると思いますよ。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: C言語標準関数とWin32 APIの併用
返信数: 9
閲覧数: 4469

Re: C言語標準関数とWin32 APIの併用

解決した後でちょっとアレなのですが。 私は、malloc、calloc、realloc、freeを使うと問題が起こると聞いたことがある気がするのですが、 メモリハンドルを必要とする API へ malloc() 等で確保した生のポインタを渡したりするというのであれば、かなりどうかと思いますが。 malloc() 関数等を使用する事にたいして問題があるとは聞いた事はありません。 実際 MFC の内部でも結構 new してたりしますし。 <stdio.h> stdio stdout stderr を使うような関数。具体的には… printf puts putchar scanf gets getc...
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: エラーがとれません
返信数: 2
閲覧数: 1401

Re: エラーがとれません

これだけのコードでは何も言えないのですが。

とりあえず、timmer() 関数の上で定義している関数の } を閉じ忘れていませんか?
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の戻り値で指定されているreturn-1について
返信数: 6
閲覧数: 3261

Re: 関数の戻り値で指定されているreturn-1について

EXIT_SUCCESSが0 EXIT_FAILUREが0以外 だからです。 私も main() 関数の正常終了時には 0 を返しますよ。 一般的にそれがルールだからです。 ただ元来、マクロ EXIT_SUCCESS EXIT_FAILURE は、exit() 関数の実引数であり、main() 関数の戻り値に使われるマクロです。 また、規格上 exit(EXIT_SUCCESS); と exit(0); の2つのコードは等価であると規定されていますが、EXIT_SUCCESS の値にまで言及はしていません。 ですから、自作関数から EXIT_SUCCESS EXIT_FAILURE を返す。...
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の戻り値で指定されているreturn-1について
返信数: 6
閲覧数: 3261

Re: 関数の戻り値で指定されているreturn-1について

これはちょっと、非常に難しい問題です。 これと言った正解は無いと思いますよ。 エラーチェックを行いたいと言う事ですから、これは成功の可否を見た方がいいかな。 と思う関数に戻り値を与えればいいのではないかと。 DXライブラリのように、DrawLine() 関数のようなものにまで成功・失敗を問うのに、どれほどの意味があるのかと考えたらちょっと疑問ですね。 まぁ、あって困るものでもありませんし、DXライブラリのような巨大で不特定多数の人が使うようなライブラリの場合は、念のために持っておいてもいいでしょうね。 すごく乱暴ですが、ぶっちゃけ好きにしたらいいと思いますよ。 ちなみに個人的には、失敗時には0...
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: マルチスレッドでロード画面を実現【DXライブラリ】
返信数: 13
閲覧数: 10853

Re: マルチスレッドでロード画面を実現【DXライブラリ】

順番の整合性に問題無いとするとちょっと分かりませんね。

初期化が終わってフラグの変更をメインスレッドが確認した後、WaitForSingleObject() 等で、初期化スレッドの終了を待った場合はどうなりますか。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: マルチスレッドでロード画面を実現【DXライブラリ】
返信数: 13
閲覧数: 10853

Re: マルチスレッドでロード画面を実現【DXライブラリ】

普通に、レースコンディション起こしてませんか?

大きいデータということですから、全部読み込みきる前にメインスレッドが走ってるような気がするのですが。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: お願いします
返信数: 7
閲覧数: 3364

Re: お願いします

memcmp() だと、パティングされたゴミデータを正しく比較出来ないのでは?
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: windows XPの方へ
返信数: 8
閲覧数: 3860

Re: windows XPの方へ

DL しなおさない理由は何ですか。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: 画面のロック方法について
返信数: 9
閲覧数: 3472

Re: 画面のロック方法について

パスワードの入力を、モーダルダイアログで表示するだけじゃダメなんですか?
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: VCエディタでのifとかbreakとかの文字色を変えたい
返信数: 4
閲覧数: 1766

Re: VCエディタでのifとかbreakとかの文字色を変えたい

解決した後でなんですが。

#include 等はプリプロセッサキーワードでは。

それと、USERTYPE.DAT ファイルを編集する事で、色を変える語を自由に定義する事が出来ます。
これは、ユーザーキーワードの設定が反映されます。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: c言語 慣例としてi=0からはじまるのはなぜ?
返信数: 7
閲覧数: 6215

Re: c言語 慣例としてi=0からはじまるのはなぜ?

すでに、答えは出てると思いますよ。 慣例として使われているのですから、何故かと聞かれればそれが慣例となっているからです。 としか答えようが無いわけですが。 多くの場合はそれが都合がいいからでは無いでしょうか。 例えば1ですが。 0から数える事はとても重要です。 具体的には配列を扱う場合など。 hoge[5] というコードは、*(hoge + 5) と全く同じ意味です。 これは、hoge を起点とし、+5という意味ですね。 であるならば、起点が hoge[0] となる事は至極普通の事です。 西暦2000年は21世紀ですが、西暦元年を起点とし、100年ごとに1世紀と数えていくなら、西暦0年~99年...
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の問題
返信数: 2
閲覧数: 1172

Re: 配列の問題

以前のスレッドを読んでませんので何がしたいのかよくわかりません。 配列がどういう物であるかは分かっているのでしょうか。 とりあえず紙に書いてみればいいと思いますよ。 配列の要素数分の□を書いて、それから状態遷移でも図で書いてみれば一発だと思います。 ちなみに配列というのは、連続して並んだ箱です。 int hoge; は箱が1つです。 int baa[10]; は箱が10個です。 baa[3]; と言えば □□□□□□□□□□     ↑ これです。 int hoge[10], baa[10]; で hoge[baa[3]] といえば int foo = baa[3]; hoge[foo]; と...
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル、ディレクトリ操作
返信数: 3
閲覧数: 1856

Re: ファイル、ディレクトリ操作

再帰的にフォルダをたぐって行くのが一般的かと。 こんな感じ。 deleteDirectory(const char *path) { hFind = FindFirstFile(path, &fd); do { if(hFind がフォルダだったら){ deleteDirectory(hFind のパス); }else{ フォルダじゃないから普通に消す。 } } while (FindNextFile(hFind,&fd)); FindClose(hFind); RemoveDirectory(path); }
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルパスからファイル名の取り出し
返信数: 10
閲覧数: 15949

Re: ファイルパスからファイル名の取り出し

重隅だとは思いますが、日本語のファイル名は考慮しなくていいのでしょうか。

SJISにおいて、ソ、表、十、禄、等の文字には2バイト目に 0x5C が含まれます。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: ネットワークプログラミング
返信数: 6
閲覧数: 2499

Re: ネットワークプログラミング

一応ざっと考えてみたのが 1.サーバを相手に送る 2.自分のクライアントからコマンドを送る。 3.サーバが送られてきたコマンドを処理する。 という処理なのですが、コマンドはsystem関数で処理することにして、 それだとリモートで操作できる範囲が限られてくると思います。 マウスコントロールとかもしたいですよね? そのあたりどうすればいいのでしょうか? マウスコントロールは、クライアント側でマウスメッセージをフックするなり、キャプチャーするなりして、捕まえたメッセージをサーバ側に送りつける事で実装できそうです。 ただ、これって、サーバ側の画面をクライアント側に送り続けなければ使い物になりそうに...
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: 変数名を変数で
返信数: 8
閲覧数: 6334

Re: 変数名を変数で

Pure C ならば、チェインリスト等で連想配列的に扱うしか無いでしょうねぇ。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: ネットワークプログラミング
返信数: 6
閲覧数: 2499

Re: ネットワークプログラミング

そこまで作れるんでしたら、次はやっぱりリモートツールじゃないでしょうか。

私も以前作った事がありますが、たちの悪いトロイになってしまいました。
他の人が作ったのを見ると、結構便利だったりするんですよね。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: シーン管理するような書き方しかできない
返信数: 3
閲覧数: 1653

Re: シーン管理するような書き方しかできない

>各シーンごとにInit、Loop、(Draw)、Finishごとの関数を用意して
>シーンごとに差し替えている感じです。

ソースは見てないので何とも言えませんが。 差し替えているというのは関数ポインタとかでしょうか。
それとも、Init・Loop・Finish 関数をメンバに持つクラスのインスタンスを差し替えているのでしょうか。

いずれにせよ、これは普通にタスクシステムでは無いでしょうか。

結構スマートな書き方だと思いますよ。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの内容を一部書き換える
返信数: 3
閲覧数: 28434

Re: テキストファイルの内容を一部書き換える

C にはファイルの途中だけを書き換えるなんて芸当は出来ませんので、一度全部読んで、ちょこちょこっと書き換えて、で、全部書き出す。 という方法を採るのが一般的です。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: アイデア募集です!
返信数: 13
閲覧数: 5590

Re: アイデア募集です!

やっぱりパズルが一番です。

個人的にはぷよぷよが一番好きですが、Mrドリラーとか、パネルでポンとか、マジカルドロップとか。
後は面クリア型の奴、ロードランナーとか、るぷぷキューブとか。

でなければ、スリザーリンクとか、ナンプレとか、問題を自動生成出来るようにすれば、長く遊べると思います。
by へろりくしょん
13年前
フォーラム: C言語何でも質問掲示板
トピック: お試し書き込み用トピック
返信数: 56
閲覧数: 19570

Re: お試し書き込み用トピック

クイック変身してみるなう

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