検索結果 181 件

by amehirune
6年前
フォーラム: C言語何でも質問掲示板
トピック: 【DXライブラリ】printfDX関数がif文に影響する?
返信数: 2
閲覧数: 2503

Re: 【DXライブラリ】printfDX関数がif文に影響する?

a5uaさん>Oh…うっかりミスしてました。修正したところ、確かに正常な動作を確認できました。ありがとうございます。
未定義動作…ということで間違いないのでしょうかね。てっきりメモリ関係がおかしいのかと思っていました。

しかし…なぜprintfDX関数がそのバグの有無に影響するのでしょうか。
たまたまってことで済ませてしまってもいいのでしょうかね。

バグは修正されたので、ひとまず解決とします。お恥ずかしい…
by amehirune
6年前
フォーラム: C言語何でも質問掲示板
トピック: 【DXライブラリ】printfDX関数がif文に影響する?
返信数: 2
閲覧数: 2503

【DXライブラリ】printfDX関数がif文に影響する?

ご無沙汰しております、アメヒルネです。 無事春休みを迎えられそうなので、こうしてまたこちらに顔を出すことができそうです。 さて、今回はDXライブラリを用いたゲーム開発の最中に発生したバグに関する質問です。 以下に簡潔に内容を示します。 [hr] 概要 ・これは、クォータービューを表示・カメラの視点を移動させるプログラムである ・外部ファイル(CSV形式)から、MAP_W×MAP_Hサイズのマップデータを読み込む  内容は、「0:移動不可能領域」「1:移動可能領域」で表す ・十字キーで縦横に視点を移動させる。Xキーを押している間は、視点を二倍速移動させる。 バグの内容 ・計算上では通るべきif文...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: 画像が出ません
返信数: 4
閲覧数: 2349

Re: 画像が出ません

ソースコードは、コードタグで囲っていただければ見やすくなり助かります。
フォーム上部のツールバーからでもOKです。

画像の位置はあっていますか?
一度画像をCドライブ直下などの単純な場所に置き、パスも変更してもう一度実行してみてください。
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: おすすめの書籍を教えてください。
返信数: 14
閲覧数: 6725

Re: おすすめの書籍を教えてください。


↑わたしの、作品制作2週間後時点での進捗状況です。こんなものが作れる、という参考になれば。
(白い四角が自機。ホバーダッシュあり)
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: おすすめの書籍を教えてください。
返信数: 14
閲覧数: 6725

Re: おすすめの書籍を教えてください。

では、初歩的な部分から実装していきましょう。

①ウィンドウを表示させる
②DrawStringを使って何らかの文字を表示させる(例:Hello,World! これはテストプログラムです)
③上下左右のキーが押されたら文字を表示させる(例:上キーが押されています)
④DrawBoxを使って四角形を描写する
⑤上下左右キーで四角形を移動させる

まずはこの5ステップが大切です。やってみましょう。

わからないことがあれば、すぐに教えてください。
ちなみにリファレンス、というところに、プログラムの解説や用例が載っています。
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: おすすめの書籍を教えてください。
返信数: 14
閲覧数: 6725

Re: おすすめの書籍を教えてください。

書籍ではありませんが… 初めまして。同じく高専生の雨昼寝と申します。 さて、今回はゲームを作ってみたいとのことですが、 (私の感覚で話しますと)vc2015expressをつかって、C++で作る、というお話だけ伺いますと、それはかなり厳しいものだと感じます。 …ここでお尋ねしますが、「ライブラリ」というものについてはご存知でしょうか? 一口に言ってしまえば、【何かを作るときに使うと便利なツールがまとめてあるもの】のことです。 おそらくですが、それを使わない限り、ゲーム制作は高専1年生には厳しいものだと思います。 先生はたぶん、CUIでの「じゃんけん」とか「ポーカー」とか、その辺を期待してたんじ...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29110

Re: スロットマシーン 作成

動作はしました。 コードはこれでいいと言われました。 うっそぉ。私の目がおかしくなったんですかね…? まず、int a,b,cの3つの変数を宣言しています。この時点で初期化はされていません。 for文でループ開始です。i=0となります。この時点でa,b,cはまだ初期化されていません。 if文で条件分岐です。if(reel[a]== …おや? 因みにコピペして実行してみましたが(環境:VC++2008EE)、 コンパイルは通ってもwarningがでるし実行してもエラーが発生するし、お話になりません。 本当にこれでいいと言われたんですね? おっかしいなぁ…私、何か見落としてるところありますかね…...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29110

Re: スロットマシーン 作成

返事遅くなりました。 #include <stdio.h> #include <stdlib.h> #include<time.h> int reel1[11]={1,2,3,4,5,6,7,8,9,1,2}; int reel2[11]={9,8,7,6,5,4,3,2,1,9,8}; int reel3[11]={1,2,3,4,5,6,7,8,9,1,2}; int main() { int a,b,c; int i; srand(time(NULL)); for (i=0; i<=100; i++){ if(reel1[a]==reel2[b]&&reel2[b]==reel3[c]...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29110

Re: スロットマシーン 作成

みけCAT さんが書きました:
オフトピック
どうしてみんな、「0~9の数字」という条件なのに乱数が9通りしか出ないプログラムの仕様をそのままにしているんだろう?
オフトピック
ああああああしまった、正しくは「a=rand()%10;」でしたね…w
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29110

Re: スロットマシーン 作成

#include<stdio.h> #include<stdlib.h> int main(){ int a,b,c; a = rand()%9; b = rand()%9; c = rand()%9; for(int i=-1;i<2;i++){ printf("[%d]",(a+10+i)%10); printf("[%d]",(b+10+i)%10); printf("[%d]\n",(c+10+i)%10); } } こういうことだろうと思い、即席で作ってみました。 尚、 仕様通りにはしていませんので、課題としてこのまま提出しないでください。 数字を配列にしていなかったり、ビンゴ判定...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29110

Re: スロットマシーン 作成

do d=rand()%9+1; while (d == a); do e=rand()%9+1; while (e == b); do f=rand()%9+1; while (f == c); do g=rand()%9+1; while (g == a || g == d); do h=rand()%9+1; while (h == b || h == e); do i=rand()%9+1; while (i == c || i == f); スロットの作成について、100個の配列のなかに0〜9の数字が 順番に格納され 、ランダムに1つ出力し、3つ連続した数字を結果として出力し、それ...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: 新ゲームプログラムの館1.4章のとこ
返信数: 9
閲覧数: 4298

Re: 新ゲームプログラムの館1.4章のとこ

なんか勝手にC++という形で話が進んでいるけど、果たしてそれでいいのだろうか? #初心者にわかるように話しているので、厳密にいえば違う部分もあります 基本的なところだけ言いますと、他の方もおっしゃっているように、 簡単なのはint型の配列を使う方法です。 int graph[7]で7枚分の画像データを保存できるようになります。 また、それらの画像に何らかの関連性がある場合、さらに省略が可能です。 ①7枚全ての画像が統合されて、1枚の画像になっているとき  この場合はLoadDivGraph関数が使えます。詳しくはググりましょう。もしくはリファレンスへ。 ②ファイル名に規則性がある場合  例え...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: 分割してよみこんだ画像(4方向に動かす)の透過ができません
返信数: 4
閲覧数: 2409

Re: 分割してよみこんだ画像(4方向に動かす)の透過ができません

今の質問内容だけですと「透過」の意味が図りかねますが…

恐らくこういうことだろうと思って投稿します。
画像の透明度を変更するプログラムです。

コード:

		SetDrawBlendMode( DX_BLENDMODE_ALPHA, 【透明度:MAX=255】 );
		DrawBox( 0, 0, WIN_X, WIN_Y, color[0], TRUE );  //←ここに透過したい画像を入れる
		SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0 );
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: 2dアクションゲームの攻撃エフェクトの表示について
返信数: 6
閲覧数: 3740

Re: 2dアクションゲームの攻撃エフェクトの表示について

すみません。書き忘れていましたがDXlibをつかってC言語で開発しています for (int i = 0; i < ah_1_size; i++) { frame = i % 6; DrawGraph(*view_charx + CHAR_SIZE_X *0.5F, *PlY - CHAR_SIZE_Y *0.5F, ah_1[frame], true); } amehirune さんが書いたコードとほぼ変わりませんがコードはこんな感じです これはいけませんね…!! 先ほども申しましたが、for文で表示させようとしても1フレーム、恐らく1/60秒ほどしか表示されません… と、いうわけで。すっ...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: 2dアクションゲームの攻撃エフェクトの表示について
返信数: 6
閲覧数: 3740

Re: 2dアクションゲームの攻撃エフェクトの表示について

開発環境やライブラリの記載がないので断定はできませんが、 LoadDivGraph関数を使って、という発言からDxLibを用いていることと仮定します。 言語は不明なので、とりあえずCで話を進めます。 えっと…まず、for文を使って出力させているのですか? もしよろしければソースコードの方を拝見させていただいてもよろしいでしょうか? 同フレーム内に、 for(int i=0;i<EFF_MAX;i++) DrawGraph( x, y,img_eff[i], TRUE ); などと記載してしまっていれば、恐らくそれは間違いでしょう。 1フレームで全てのアニメーション画像を表示してしまっていること...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: 難しい
返信数: 5
閲覧数: 3153

Re: 難しい

私は管理人などではなく、単なる一ユーザですが、この投稿に関して注意を行わせていただきます。 ここはSNSではありませんので、質問の内容、及びタイトルを推敲してから投稿しましょう。 まず、課題の丸投げは当掲示板では厳禁行為となっております。 詳しくは「 フォーラムルール 」をお読みください。 それにあたり、いくつかの質問をさせていただきます。 今後、当掲示板に質問なさる際は、必要最低限の情報としてこういうモノを記載する必要があるんだ、と 参考になさっていただければ幸いです。 ①使っている言語は何ですか?(例:C言語、Java言語、BASIC、その他) ②問題文のどこの意味が分かりませんか?もしく...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリ
返信数: 11
閲覧数: 5036

Re: DXライブラリ

横から失礼します。 ここでいうホールド機能というものは、テトリミノを1つだけ保持することができるというモノでしょうか? 私はぷよぷよテトリスでの感覚が強いので、そういった機能であるという前提で話を進めます。 提示されたサイトは見ていませんが、まず、NEXT表示があるということは、 テトリミノのタイプはIDか何かで管理されている、と考えてよろしいでしょうか? テトリミノは全部で7種類あるため、IDも0~6の7つだけふられていると仮定します。 まず最初に、ホールド用の変数を定義します。int holdNoなど、適当な変数をintで宣言してください。 この変数に入るのは、ホールドされたテトリミノのI...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: 線形リストの先頭移動
返信数: 11
閲覧数: 6637

Re: 線形リストの先頭移動

他にすべき問題があり、現状この問題には手が出せない状況なので、
ひとまず保留ということにさせていただきます。
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: 線形リストの先頭移動
返信数: 11
閲覧数: 6637

Re: 線形リストの先頭移動

>表示できていない そうでした… check!=NULLにすべきでしたね。 >多分 詳細部分を掲載します。 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> #include<math.h> #include<malloc.h> #include<conio.h> #include<windows.h> #define DrawLines() printf("---------------------------------------...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: 線形リストの先頭移動
返信数: 11
閲覧数: 6637

Re: 線形リストの先頭移動

変身が遅れました、申し訳ありません。 ひとまず、リスト表示のコードも合わせて再掲します。 #define ONCE #include "origin.h"//自作ヘッダなのであまり深く気にしないでください 前述した標準ライブラリがインクルードされています struct word_t{ char ques[64]; char ans[64]; struct word_t *next; }*head; // 領域確保 struct word_t *talloc(){ return ( struct word_t * )malloc( sizeof( struct word_t ) ); } // ...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: 線形リストの先頭移動
返信数: 11
閲覧数: 6637

Re: 線形リストの先頭移動

皆様、ご返信ありがとうございます。 > head = ( struct word_t * )realloc( head, sizeof( struct word_t ) ); realloc()に,いきなり値不定なポインタ渡してるのは危険なのではないでしょうか. (realloc()に,malloc()等で割り当てた領域を指さない(NULLでない)ポインタを渡すのはまずいのでは) みけCATさんもおっしゃっておられましたが、構文的に問題はないが「気持ち悪い書き方」ということで修正させていただきます。 ご指摘ありがとうございます。 単なる再現性の低いバグでしょう。 なぜデバッグしないのですか? ...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: 線形リストの先頭移動
返信数: 11
閲覧数: 6637

線形リストの先頭移動

こんにちは、アメヒルネというものです。 本日は、線形リスト構造に関する質問をさせていただきます。 C言語を用いて、リストを用いた英単語帳を作ろうと思い立ち、 実際に作ったモノがこちらです。 struct word_t{ char ques[64]; char ans[64]; struct word_t *next; }*head; // 領域確保 struct word_t *talloc(){ return ( struct word_t * )malloc( sizeof( struct word_t ) ); } // 領域開放 void word_free( struct word_...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: "..." の使い方
返信数: 3
閲覧数: 2397

Re: "..." の使い方

>...の呼び方

「可変長引数」だと思われます。

私はC++には詳しくありませんし、これに関しても勉強不足で、sizeofに使う方法は分かりませんので、
他のもっと詳しい方にバトンタッチします。別の解答者が現れるまで、調べてみて下さい。

(私もちょっと勉強してきます。)
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元フィールドの移動がうまくいきません(初心者)
返信数: 2
閲覧数: 1949

Re: 2次元フィールドの移動がうまくいきません(初心者)

オフトピック
おそらく質問主さんは、

コード:

lineY -= 1;
lineX += 1;
という風に描きたかったのを間違えてしまい、
それがVisualStudioの仕様で自動スペースが入ってしまったんでしょうね…
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録サンプルプログラムがわかりません
返信数: 1
閲覧数: 1264

Re: 龍神録サンプルプログラムがわかりません

「2行読み飛ばす」意味が分からないのですか?
それとも、このプログラムがどうして2行読み飛ばす動作をするのかが理解できないのですか?
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: ユーザー定義とファイルの読み込みについて
返信数: 3
閲覧数: 1765

Re: ユーザー定義とファイルの読み込みについて

質問で
あさっち さんが書きました:C言語で

a+bを返り値とするユーザー定義を作っておく。
次に別のユーザー定義であらかじめ数字が入力されているファイルを開いて、その数字をa+bを返り値とするユーザー定義に代入して表示することは出来ますか?
と書いていらっしゃいますので、
できます
とだけ言っておきます。

あと、宿題の丸投げは禁止です。
by amehirune
7年前
フォーラム: 四聖龍神録2 掲示板
トピック: 過去ログ02
返信数: 25
閲覧数: 32073

ベータテスト日程延期のご案内

皆様初めまして、四聖龍神録2プロジェクト・作曲担当のアメヒルネというものです。 ベータテスターの皆様にご連絡申し上げます。 本来予定しておりましたベータテストの日程が「7/15~」となっておりましたが、 プロジェクトメンバーの諸々の都合により、翌日よりベータテストを開始することが難しい状況となっております。 これは正式にそうと決まったわけではなく、私が勝手に書き込みをしているだけではあるので確定事項とは言えませんが、 7月29日に予定していた公開日を再度延期、それに伴いテストを行う日程も延期とさせていただきます。 詳細が決定次第、再度プロジェクトメンバーよりご連絡差し上げます。 この度は申し訳...
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル出入力について
返信数: 22
閲覧数: 9131

Re: ファイル出入力について

よく見たらC言語はすでに書かれていましたね…すみません…

で、肝心のプログラムの作り方ですが、
まずわかりやすく作るために、以下の方法を使います。
・if文
・for文
・配列
これらについては、もうお勉強の方はお済でしょうか?
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル出入力について
返信数: 22
閲覧数: 9131

Re: ファイル出入力について

了解しました。では質問に答えてください。

1.OSは何ですか?
Windows10とかWindows7とかCentOSとかLinuxとかMacOSとか…どれでしょう?

2.使っている言語は何ですか?
C言語?Java言語?どれでしょう?
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル出入力について
返信数: 22
閲覧数: 9131

Re: ファイル出入力について

間を割って失礼します。

語句に関する者は特にそうですが、人に聞く前に、まず自分で調べてみましょう。
解答者によっては「ggrks」としか思われず、結果解答者の意欲を削いでしまう結果に陥ることがあります。
検索結果:プラットフォーム【Google】
さて、「作り方が分からない」とのことでしたが、ファイルの操作の前に、以下のことはできるでしょうか?



①キーボードから、以下のデータを入力(scanfなどでOK)
15 いちご
2 にんじん
5 ゴリラ

②数字を入力させ、それに応じたデータを表示(例:5→ゴリラ)
by amehirune
7年前
フォーラム: C言語何でも質問掲示板
トピック: <DxLib>と"DxLib"の違い 
返信数: 3
閲覧数: 2448

Re: <DxLib>と"DxLib"の違い 

簡単にまとめてしまえば、
#include<標準に搭載してあるインクルードファイル>
#include"任意の場所(ファイルのある場所)に保存されているヘッダファイル"
の違いです。

DXライブラリの場合、これは標準搭載…最初からwindowsに入っているインクルードファイルではない為、
普通は""を用いるのです。
ORACLE ユーザーズガイド
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の表示ができない
返信数: 9
閲覧数: 4450

Re: 文字列の表示ができない

では、以下のようなプログラムを追加してみてはくださいませんでしょうか。

コード:

//16行目から追加・変更します
int check_error=DrawString(250, 240 - 32, "Hello C World!", Cr);
printfDx("Error Code=%d\n",check_error);
オフトピック
あれ?そういえばScreenFlip();が見当たらないぞ?
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルを読み込めません
返信数: 4
閲覧数: 1993

Re: ファイルを読み込めません

int型変数 bの値が更新(初期化もしくは代入?)されていません。
ポインタ、というものはご存知でしょうか?
スコープ、という概念はご存知でしょうか?

簡単に解決するのであれば、10行目:b=sum(b);とすればいいでしょうが、
どうしてこうすれば治るのか、なぜ前のプログラムでは動かないのかが分からないのであれば、
この際にここで勉強していきましょう。

こちらにいい感じのブログが見つかりました。
ポインタのお話~スコープって何?
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列e番目の要素のポインタを返す関数
返信数: 5
閲覧数: 2993

Re: 文字列e番目の要素のポインタを返す関数

警告>私のコードでですか?みけCAT大先輩様のコードでですか?
もし大先輩様のコードであるならば、doubleをintにキャストするときにでてくる警告と
同じようなものだと考えてもらっても全然かまいません。

というか、私のコードでも大先輩様のコードでも(私の環境ですと)そういった警告文は表示されませんでしたが…
環境が古いせいですかね?
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列e番目の要素のポインタを返す関数
返信数: 5
閲覧数: 2993

Re: 文字列e番目の要素のポインタを返す関数

const char 型変数を返したいのであれば、戻り値もconst charにすればよいと思います。 他、不具合と思われる個所が数か所見つかりましたので訂正します。 08>if(*s++ == c) 11>return s;  ここは後置インクリメントを用いた判断になっています。  たとえ指定文字が見つかったとしても、これだと「見つかった文字の次の文字のポインタ」を返してしまいます。 23>printf("c = "); scanf("%c%*c",&c);  私はこういった構文を書いたことがないのでわかりませんが、逆ではないでしょうか?  上記のプログラムですと、cには必ず(?)改行\nが...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の表示ができない
返信数: 9
閲覧数: 4450

Re: 文字列の表示ができない

こちらの環境では無事動作いたしました。
Windows10でVC++2008EEを使用しております(以前あなたが使っていた開発環境と同様のものと考えていいです)。

とりあえず、その他の環境要因を把握するため、DXライブラリのバージョンを教えてくださらないでしょうか。
こちらはv3.12cで動作しておりました。因みに最新版はv3.16bです。
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 文字入力
返信数: 3
閲覧数: 2135

Re: 文字入力

みけCAT さんが書きました:入力に含まれる改行文字を適切に処理するといいと思います。
もっと言ってしまうと、scanf("%c",&ch);の前にgetchar();と打ってみてください。
あと、コードは

コード:

タグで囲ってくださいね☆
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 単方向リストでの出力ができない。
返信数: 5
閲覧数: 2631

Re: 単方向リストでの出力ができない。

似たような記述があったので。
線形リスト|C言語入門 ~bituse~
オフトピック
そもそもリストって、(この書き方だと)配列は使わないはずでは…
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 2DCGの勉強方法
返信数: 5
閲覧数: 3523

Re: 2DCGの勉強方法

>私はとりあえず漫画の絵が書けるようになれたらいいな程度なのですが、実際に2DCGでコミック系の絵を描いている人は漫画をひたすら模写しているのでしょうか? 私は、 ・アナログで下書きをする ・スキャナーでスキャン ・線画抽出(ここら辺は自力作業・トレスでもおk) ・色をデジタルで塗って仕上げ という手順で2DCG作ってます。というかただのイラストですが。 >絵の勉強をしたことが全くないのにちょっとやってみたいなと思って何も考えず買ったのですが、勉強の仕方からしてわかりません。 >だれか勉強している。もしくはやっていたという人がいらっしゃったらこんな本で勉強したよ。とか勉強方法を教えてほしいです...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの書き方がいまいちわかりません
返信数: 5
閲覧数: 2803

Re: プログラムの書き方がいまいちわかりません

みけCAT さんが書きました:
amehirune さんが書きました:whileループの中で変数定義をしてしまうと、複数回宣言がなされてしまうことになりますよね?
宣言はプログラム上だけなので1回です。
初期化が毎ループされてしまいます。
おうふ。そうでしたか。失礼しました。
オフトピック
日ごろから勉強していないということが露呈されている…
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの書き方がいまいちわかりません
返信数: 5
閲覧数: 2803

Re: プログラムの書き方がいまいちわかりません

みけCATさんはしれっと訂正されていらっしゃいますが、変数定義の場所が間違っています。
whileループの中で変数定義をしてしまうと、複数回宣言がなされてしまうことになりますよね?
int~の部分はwhileの前に持ってきましょう。
(まぁ、これはフリーズの原因とは関係ないのですが。多分。)
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 対話型プログラムにヒストリ機能を付けたい
返信数: 4
閲覧数: 2673

Re: 対話型プログラムにヒストリ機能を付けたい

さっき検索しながら適当に作ったので、使用性に欠けますが。
要するにこういうことでしょうか?

コード:

int main(){

	char a[200];
	int n;
	
	while( true ){
		scanf( "%s", a );
		n = getch();
		if( ( ( n == 0x00 || n == 0xe0 ) ? getch(): n )==0x48 )
			printf("%s",a);
	}

}
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: ProcessMessageについてちょっとした疑問があります
返信数: 4
閲覧数: 2989

Re: ProcessMessageについてちょっとした疑問があります

面白い話だなーと思ったので実験してみました。 int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { FILE *fp; fp = fopen("Mlog.txt","w"); ChangeWindowMode(true); fprintf(fp,"起動プロセス:ウィンドウモードに変更\n"); DxLib_Init(); fprintf(fp,"起動プロセス:Dxライブラリの初期化に成功\n"); while (ProcessMessage() == 0) { } fprintf(fp,"プロセスメッセージより0以外の値が返されました\n");...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: DXlibでoggを読み込み曲を流すと詰まったような曲になる
返信数: 6
閲覧数: 4391

Re: DXlibでoggを読み込み曲を流すと詰まったような曲になる

うーん、その問題は恐らく解決しようがありません。
私の経験上ですと、MP3ファイルをoggファイルへ変換した場合、データの最後に「ぶつっ」という雑音が入ってしまいます。
1周だけする場合は全く感じませんが、ループ再生するとそれがよくわかるようになります。
詰まったような曲になるのはそのためです。
オフトピック
なんで雑音が入るのかはよく分かりませんが、EOF識別子でも読み込んじゃってるんじゃねーか程度に感じてください
で、これを無理やりにでも解決したい場合、そのoggからEOF部分を無理やり削除して上書き保存したり、
若しくは数ミリ秒前の地点になったら自動で再生位置をジャンプさせたりする、等です。
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 落ち物ブロックパズルのパネルが落ちる処理
返信数: 1
閲覧数: 1343

Re: 落ち物ブロックパズルのパネルが落ちる処理

いろいろと突っ込みどころがあるプログラムですが、これで全文ではないと信じて解答します。 (間違っているかもしれませんが)このプログラムだと、パネルは1つ下にしか落ちません。 |1|    | | | | →  |1| |_|    |_| …というように、まだ下に空きがあるにもかかわらずそれ以上落ちない、という現象が発生しているような気が。 (実際にテストはしていません) 解決するには、簡単なのは再帰構造を用いることです。C++でも再帰は使いますよね…? その「稀に」というのがどのような不具合なのかが明記されていないと、回答を得られない場合があります。 言葉で説明しにくい症例であれば、実際に実...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: エラーの原因がわかりません
返信数: 5
閲覧数: 3695

Re: エラーの原因がわかりません

オフトピック
エラー表示のところでもろに本名さらしてる気がするのですが大丈夫ですか?
因みに私はC専門なのでC++はよくわかりません\(^o^)/
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 学校で・・
返信数: 5
閲覧数: 3250

Re: 学校で・・

横から失礼します。
65行目はローカル変数hWndを宣言しているだけですので、そら当然エラーにはなりませんよね。。。
現に、そのhWndを宣言している関数でのhWnd使用によるエラーは起こってませんし。
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: " を出力したい。
返信数: 5
閲覧数: 2285

Re: " を出力したい。

先生ではありませんし、C++にはそこまで詳しくないので(っていうか知らない)勘ですが。
Cでは、"を文字列として扱いたい場合はエスケープシーケンス\を用いります。
よって、"を表示させたいときは\"と記述します。

C++だとどうなんだろう?
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 線形リストにおける自己再編成に関して
返信数: 3
閲覧数: 1837

Re: 線形リストにおける自己再編成に関して

なりました。usaoさんありがとうございます!
オフトピック
コード眺めるだけで原因が分かるってすげぇっす
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 線形リストにおける自己再編成に関して
返信数: 3
閲覧数: 1837

線形リストにおける自己再編成に関して

お久しぶりでございます。アメヒルネです。 今回は、テスト勉強を兼ねて制作した単語帳にてバグが見つかったので、 その解決方法をおたずねしたく投稿させていただきます。 まず、この単語帳のソースコードを以下に示します。 #define ONCE #include "origin.h" struct word_t{ char ques[64]; char ans[64]; struct word_t *next; }*head; // 領域確保 struct word_t *talloc(){ return ( struct word_t * )malloc( sizeof( struct word_...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 再ハッシュ法を設計時に気をつけること
返信数: 2
閲覧数: 1548

Re: 再ハッシュ法を設計時に気をつけること

うーん、多分そういうことでいいのでしょう。

例えば、いくらハッシュ値が一様になるようなハッシュ関数が設定されてたとして、
そのハッシュ値の取りうる範囲が0~100だったとしたときに、扱うデータ数が150とか1000とか、
まあハッシュ値の最大数100を超えるような量だった場合にはコリジョンは避けられませんからね。

一方でハッシュ値の取りうる範囲よりも大きいデータ格納範囲を用意してあった場合、コリジョンは避けられるはずです。
そういうことを言いたいのではないでしょうか。

間違っていたらごめんなさい。
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 演習問題
返信数: 4
閲覧数: 3051

Re: 演習問題

試行錯誤した結果、以下のようなコードになりました。 #include<stdio.h> #include<string.h> #define NUMBER 2 /*-学生の人数-*/ #define NAME_LEN 64 /*-名前の文字数-*/ /*---学生を表す構造体---*/ typedef struct{ char name[NAME_LEN]; int height; float weight; long schols; }Student; /*---xおよびyが指す学生を交換---*/ void swap_Student(Student *x, Student *y) { S...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームプログラミング当たり判定
返信数: 2
閲覧数: 5529

Re: ゲームプログラミング当たり判定

ざっと考えましたが、当たり判定云々はほぼ気にしなくていいような気がします。
(ロックマンエグゼ形式なら)

座標の配列を作り、そこに攻撃判定をぶっコメばいいのではないでしょうか。
□□□|□■□      □□□|□□□
□■□|■□□      □■■|■□□
□□□|□■□      □□□|□□□
↑プレイヤーマップ ↑アクション(攻撃)マップ
という風にし、アクションマップ[player_x][player_y]==攻撃判定
のときなら被弾、という風にすればいいでしょう。
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: おつりを出すプログラムの計算
返信数: 3
閲覧数: 6397

Re: おつりを出すプログラムの計算

言語が指定されていませんのでCで書いてみました。 但し、わざと 汚く書いた つもりです。 尚、動作確認はしておりません。バグがあれば自分で修正してください。 簡単なコメントやプログラムでしか書いていないので、 解説なんぞ要りませんよね。 void coin(){ int num[10] = {0}; // 最大10枚まで登録できるよ! int charge; // お釣り scanf( "%d",&charge ); // お釣りはいくら? num[0] = charge/50; // 50ドルは何枚? charge = charge - 50*num[0]; // 払った分だけひきましてー ...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: ■ 新年の挨拶トピック~2016~ ■ 今年の抱負 ■ [雑談]
返信数: 7
閲覧数: 9265

Re: ■ 新年の挨拶トピック~2016~ ■ 今年の抱負 ■ [雑談]

あけましておめでとうございます。陰でひっそりと活動しているアメヒルネと申します。

今年の目標は、「自らの行動に責任を持つ」です。
龍神録2プロジェクトにおいて、恐れ多くもミュージックデザイナー(っていうのかな?作曲家です)を担当させていただいてもおりますし、
部活動においてもなぜか部長に任命されてしまっています。
今まで、自分のミスは全て自分だけにしか降りかかってはおりませんでしたが、
こういった団体行動をすることになり、自分のミスが全員に被害を被らせる結果となります。
なので、…えーっと、

頑張ります。(文才の無さが悲しい)
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: メルセンヌ・ツイスタを使用した乱数をファイルに出力
返信数: 34
閲覧数: 10775

Re: メルセンヌ・ツイスタを使用した乱数をファイルに出力

オフトピック
5億となると、int型でループカウンタを宣言してたら普通にオーバーフロー起こすような…
unsigned intにしててもギリギリで足りないはずだから、ループは分けておいたほうがいいかも。

コード:

for(int i=0;i<5;i++){
          for(unsigned int j=0;j<1000000000;j++)          処理;
}
…みたいな。
思っただけなのでOffTopicで。
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語を勉強するにあたって
返信数: 6
閲覧数: 2862

Re: C言語を勉強するにあたって

とにかくプログラムを描いて、物を作っていけば覚えると思います(適当)
最初のほうは見やすさは意識しないほうがいいかもしれませんが、
ある程度ネットで調べなくても書けるようになったら、関数分けなどでレイアウトを整える、とか。
オフトピック
わからなくなったり、詰まったときはネットで調べればいいと思います
それか、ここで聞く、とか
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: タイトルバーの表示
返信数: 8
閲覧数: 4120

Re: タイトルバーの表示

もしかして、これのことでしょうか…?

コード:

SetMainWindowText( "ゲームつくるよ! v0.1a" );		// タイトルを変える
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 助けてください
返信数: 8
閲覧数: 4110

Re: 助けてください

以下のコードを見て、理解できたら教えてください。 尚、わざと汚く書いています(このまま提出したら怒られると思います) #include<stdio.h> #include<stdlib.h> #include<time.h> int main(){ int num[5]; srand((unsigned)time(NULL)); num[0] = rand()%30+1; printf("%2d ",num[0]); for(int i=1;i<5;){ if( num[i-1]+i>=30 ) goto ERROR; num[i] = rand()%30+1; if( num[i-1] < ...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: サウスさんのサウンドのベルのバグ(?)
返信数: 13
閲覧数: 6439

Re: サウスさんのサウンドのベルのバグ(?)

うーん… 時間がなくてさらっと見た限りですが、それでも良ければご参考にどうぞ。(参考になるのか?) 症状を聞く限り、原因として考えられるのは、以下の項目です。 ・fantasy_disp関数を1回読みだしたとき、最後のif文でいきなり終端判定がなされている ・それ以外の呼び出し関数で、func_stateの値を変更している可能性がある 申し訳ありませんが、一度140行目あたりに" printfDx("終了判定!\n"); "と試しに入れてみてもらえませんか? 左上にその文章が表示されていれば下の、表示されていなければ上の原因に該当している可能性があります。 このような解答しかできなくてごめんな...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: サウスさんのサウンドのベルのバグ(?)
返信数: 13
閲覧数: 6439

Re: とんとん

支館というのは、以前私が張った、あのページでしょうか?
もしかしたら、1フレーム中にすべての文章再生を終了してしまっているのかもしれません。
該当する部分のソースコードを載せていただければ、もう少しわかりやすい回答が得られるかもしれません。
オフトピック
コードを載せるときは、ちゃんとcodeタグで囲ってくださいね☆
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 会話シーンの作成
返信数: 4
閲覧数: 2381

Re: 会話シーンの作成

龍神録を参考に~とのことなので、C言語でDXライブラリを使用しているものとして答えますね。
まずは下記のサイトを参考にしてみてください。
DXライブラリ置き場 サンプルプログラム[#N20]

私は、特に別のfunc_stateのcaseを用いずに作成しています。
ゲーム部の中に直接「会話関数」をぶっこんでますね^^;
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 半角文字'%'が表示されなくなった
返信数: 7
閲覧数: 3352

Re: 半角文字'%'が表示されなくなった

みけCATさん
変数xの値と%を合わせて、「100%」というような表示を行いたいと考えておりましたので、
やはりDrawFormatStringToHandleのほうが望ましいと考えました。
sprintf_s関数を使ってもよかったのですが、そうすると文字の表示が2度手間になってしまい、
それを私は嫌っているので。
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 半角文字'%'が表示されなくなった
返信数: 7
閲覧数: 3352

Re: 半角文字'%'が表示されなくなった

ご返答ありがとうございます。
あたりめさんのおっしゃった通り、%%を%%%%へと変更してみたところ、確かに%が表示されました。
Rittai_3Dさんも、ご回答ありがとうございました。
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 半角文字'%'が表示されなくなった
返信数: 7
閲覧数: 3352

半角文字'%'が表示されなくなった

お久しぶりでございます、アメヒルネです。 本日は、最近実装が完了した「仮想フルスクリーン」が原因と思われるバグについて 投稿させていただきます。 上記システムを実装するにあたり、フルスクリーンかそうでないかによって 表示される位置及びサイズを変更する、という関数を自作し、 実際に使用したところ、'%'のみが表示されなくなってしまいました。 以下に原因と思われる部分のコードを載せます。 どうかご教授のほどをよろしくお願いします。 尚、開発環境はVC++2008EEで、DXライブラリを使用しております。 #include "../header/GV.h" //フォントデータロード int Crea...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル書き込みについて
返信数: 9
閲覧数: 3749

Re: ファイル書き込みについて

デバッグ…というか、「改行がされていない」確認は、
テキストエディタで該当ファイルを開いたものと仮定します。

私も一度やったことがあるのですが、先にboxさんが述べられています通り、
バイナリモードで書き込んでおられますので、
テキストエディタで開いてみると改行されていないように見えてしまいます。
(調べたことがないのでわかりませんが、改行の文字コード自体は保存されている…?)

ただし、読み込み(オープン)する際にもファイルをバイナリ指定すれば、
きちんと数値データを読み込むことができたはずです。
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: DrawFormatStringToHandle関数を拡張(?)したい
返信数: 8
閲覧数: 4224

Re: DrawFormatStringToHandle関数を拡張(?)したい

勉強したところ、ある程度分かった(ような気がする)ので、解決とさせていただきます。
皆様方、本当にありがとうございました
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: DrawFormatStringToHandle関数を拡張(?)したい
返信数: 8
閲覧数: 4224

Re: DrawFormatStringToHandle関数を拡張(?)したい

ご回答ありがとうございます。 分かりやすそうなサイトがありましたので、 http://wisdom.sakura.ne.jp/programming/c/c62.html ありがとうございます。早速勉強してみることにします。 だったら無意味なタイトルを付けなればいいのではないでしょうか. 本当の目的が一体何なのかが読み手にわかりにくくなるだけの効果しかないように思うのです. 結果として(私の読解力が低いだけかもしれませんけど), vprintf() とか vsprintf() あたりに可変長の部分をうまいこと処理してもらえればそれでいいのか, それとも va_arg()を自分で使って一個ずつ引...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: DrawFormatStringToHandle関数を拡張(?)したい
返信数: 8
閲覧数: 4224

Re: DrawFormatStringToHandle関数を拡張(?)したい

申し訳ございませんが、お二方の提示された解説サイトを拝見させていただきましたが、 正直なところ意味が理解できておりません。 どなたか解説を下さらないでしょうか(汗) va_listはcharのポインタをtypedefで宣言している、というところまではわかっております。 va_start、va_endはファイル入出力でいうオープン・クローズ操作のようなものだと考えております。 まずそこは間違えてはいないでしょうか? そして先に述べたマクロva_start、va_endはそれぞれ#defineで定義してあるだけのような気がしていて、 それが関数のように扱われていることがまず理解できません。 va_...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: DrawFormatStringToHandle関数を拡張(?)したい
返信数: 8
閲覧数: 4224

DrawFormatStringToHandle関数を拡張(?)したい

お久しぶりでございます、アメヒルネというものです。 本日お尋ねしたいのは、簡単に言いますと「printfを別の関数を経由して実行する」というようなものです。 わかりやすいように例を書きます(実際にわかりやすいかは知りませんが)。 int printfEx( const char *Strings, ... ){ return printf(【Stringsの内容を表示(書式付き文字列)】); } 要するに、printfを「別の関数を経由して」動作させる、というようなものです。 実際にどういった原理を用いてprintfのような処理が行われているのかが分かりませんので、 そこをできれば教えていただ...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 外部参照のエラー
返信数: 1
閲覧数: 1294

Re: 外部参照のエラー

抹茶 さんが書きました:

コード:

#include <C:\opencv2411\build\include\opencv/cv.h>
#include <C:\opencv2411\build\include\opencv/highgui.h>
#include <C:\opencv2411\build\include\opencv/ml.h>
えーっと…(汗)
ディレクトリの指定方法って、こんなんだったかな?
と、思いました。
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 1区間移動について
返信数: 9
閲覧数: 3947

Re: 1区間移動について

引き続きお世話になります。 amehirune 様 CheckStatePadなどの関数を読み出す際に適切なヘッダーファイルのディレクトリのパスをお教えいただけますでしょうか? ※検索で引っかかるブログ様などによく記載されている ../include/VG.h は試しました。 DxLibとは別のところでしょうか? ※DxLibはC直下に設置しております。 CheckStatePad関数は自作関数であり、DXライブラリに標準搭載されていないものです。 これに関してはプログラミングの館に記載されていたので説明は不要かと思い、省略させていただいておりました。 【龍神録プログラミングの館】第8章:キ...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 1区間移動について
返信数: 9
閲覧数: 3947

Re: 1区間移動について

みけCAT さんが書きました:・最初のfor分の行の最後(コメントの前)に{が抜けている気がします。
・なぜキーを押して最初の1フレームは移動処理をしない仕様にしたのですか?(これは批判ではなく疑問です)
本当ですね。抜けてました^^;
あと、2つ目に関しても私のミスです。訂正させていただきました^^;
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 1区間移動について
返信数: 9
閲覧数: 3947

Re: 1区間移動について

こういう書き方はどうでしょうか? ※重要な部分を忘れていたので追加しました for(int i=0;i<4;i++){ //4方向分のキーループ if(ch.cnt!=0) break; //キャラが移動中ならばbreak; if(GetKey[i]>0){ //上下左右の入力処理 /* ----------------------------------------    ここに適切な処理を加えてください! ---------------------------------------- */ ch.cnt = 1; //移動フラグを立てる } } //移動中ならば if(ch.cnt!=0...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: フォントデータ(.otf)をロードする方法について
返信数: 6
閲覧数: 3497

Re: フォントデータ(.otf)をロードする方法について

では、以下の点を確認してみてください。 ・DXライブラリが最新のものになっているか?  プログラムをデバッグ実行した際などにログが出力されるはずです。  もし最新のものになっていなければ、更新してみてください。 ・CreateFontToHandle関数に渡しているフォント名が適切か?  恐らくCreateFontToHandle関数を利用し、描写をしているのではないかと思います。  その時のフォント名が、本来のものと異なっている可能性があります。  注意してほしいのが、「.otfファイル名≠フォント名」ということです。  .otfファイルをダブルクリックした際に開かれるウィンドウの上のほうに...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: フォントデータ(.otf)をロードする方法について
返信数: 6
閲覧数: 3497

Re: フォントデータ(.otf)をロードする方法について

こんにちは。参考先のトピ主です。 私は未熟なので、このようなバグの原因はわかりません。ほかの方からの回答をお待ちください。 代わりにと言ったらなんですが、こちらに解決したコード(の改良版)を載せておきます。 //フォント登録 int FontSize,FontHandle; void *Buf; DWORD font_num; { //Sampleをロード font_num = 0; FontSize = FileRead_size( "dat/font/Sample.otf" ); FontHandle = FileRead_open( "dat/font/Sample.otf" ); Bu...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 大学生
返信数: 9
閲覧数: 3642

Re: 大学生

ポインタのポインタについてはよくわかりませんが、 プログラムを以下のように変更すると期待通りの結果が得られました。 int main(){ char str[]="kitty on your lap"; char *a; char **b; a = str; b = &a; printf("%s\n", str); printf("%s\n", a); printf("%s\n", *b); putchar('\n'); putchar(str[2]); putchar('\n'); //tを表示 putchar(a[2]); putchar('\n'); //tを表示 putchar(b[0...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタについての質問
返信数: 5
閲覧数: 2362

Re: ポインタについての質問

オフトピック
因みに、戻り値をポインタにしたい場合はこのように書きます。
以下、テストプログラムです。

コード:

//include省略
void* m_malloc(){
	return malloc(sizeof(int));
}

int main(){
	void *a;
	a = m_malloc();
	printf("%p",a);
}
ですがあまりお勧めは致しません。というか使う機会があるのだろうか…
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 文字の宣言はint型?
返信数: 7
閲覧数: 4462

Re: 文字の宣言はint型?

ISLe() さんが書きました:けっきょく「もう古い」の根拠は何ですかね。
なんなんでしょうね(^^;

成程、もともとはintだったんですね。
それを、解説側が初心者にとって「わかりやすいように変形させた」ってことですかねぇ。
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: なぜかメニュー画面を実施したら表示がおかしくなった
返信数: 8
閲覧数: 4875

Re: なぜかメニュー画面を実施したら表示がおかしくなった

私は3Dゲームを作ったことがないし、そもそも「 実装した部分のソースコードすら乗せられていない 」ので 何故おかしくなったのかを指摘するのは難しいです。 メニュー画面の作り方のURLから、言語はC(もしくはC++)で、DXライブラリを使っているものと断定します。 以下、これは私の考え方であり、一般世間において通用するかどうかはわからないということを念頭に入れて読んでください。 ・まず、きちんと「メニュー部」と「ゲーム部」に関数・メゾットやファイルを分けているか? 同じファイルや関数内に作ってしまうと、プログラムがいろいろと複雑になってしまい、バグの原因になります。読みにくくもなるし。 ・メニュ...
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 文字の宣言はint型?
返信数: 7
閲覧数: 4462

Re: 文字の宣言はint型?

返信遅れてしまい、申し訳ありません。
やっぱりそうだったんですね…
そのISO/IEC 9899:1990の時代というのはよくわかりませんが、たぶん最近のことだろうと思っておきます。
charをintで表すのは、簡潔にいえばエラー対策、ということだったんですね。
回答ありがとうございました。
by amehirune
8年前
フォーラム: C言語何でも質問掲示板
トピック: 文字の宣言はint型?
返信数: 7
閲覧数: 4462

文字の宣言はint型?

お久しぶりになります、アメヒルネと申します。 つい最近、友達からこんな質問を受けました。 「今ではC言語で文字型変数をintで扱うって本当?」 その時はわけもわからず、「は?」と聞き返してしまったのですが、 後にその友達からある1冊の本を渡され、そこに書いてあったのが 「文字をcharで宣言するのはもう古い」との記述でした。 私は結構古めのC言語入門本で勉強したこともあり、そのようなことは全く知らなかったのです。 その記事の内容はよく覚えてないのですが、何故文字をintで宣言する必要があるのかがわかりません。 メモリの割り当てでいろいろと面倒なことが起きるとかそういうモノなのかな、とか思いまし...
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: 2D横スクロールアクションのカメラ制御について
返信数: 1
閲覧数: 5481

Re: 2D横スクロールアクションのカメラ制御について

申し訳ありません。自己解決しました。 キャラクタ画像の横幅を2Yとしたとき、 マップのスクロール対象を左右にそれぞれYずつ拡張すればいいだけの話でした。 #define CH_X 72 //キャラクタ関連の画面上位置計算を行い、描写する関数 int DrawGraphContCameraChar(int cx,int cy,int angle,int GrHandle,int TurnsFlag){ int x; //最終決定値 int CameraX = ch.x-(WIN_X/2); //カメラのX座標 const int FlipX = MAP_X - WIN_X; //カメラと画面の最...
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: 2D横スクロールアクションのカメラ制御について
返信数: 1
閲覧数: 5481

2D横スクロールアクションのカメラ制御について

お久しぶりです、アメヒルネです。 一般的に「カメラ制御」と呼ばれているのかどうかはわかりませんが、今はここで詰まっています。 どなたかご助力いただければ幸いです。 今回やりたいと思っていたのは、ステージ上で、 自機をなるべくキャラクタを中心に描写する、というものです。 ただし、キャラクタを中心に描写することによって、ステージの「存在しない領域」まで描写領域に入っている場合、 ステージの方を優先とし、 「ステージの場外領域を描写しないようにする」 「キャラクタはそれに対応させて描写する」 という風にしたいのです。 (分かりにくくて申し訳ありません。) 後程記載するつもりですが、先にここで述べてし...
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの読み込みについて
返信数: 9
閲覧数: 3781

Re: ファイルの読み込みについて

DrawFormatString(5, 5, GetColor(255, 255, 255), "knd=%d, flag=%d, cnt=%d", humen[i].knd, humen[i].flag, humen[i].cnt); i++; if (humen[i].knd == EOF) break; } FileRead_close(fp); とりあえず気になった点を1つ。 i++;を実行した後にEOF判定を行っております。 これだと、まだhuman .kndは何も格納されておらず、中身が空(初期値は原則0だっけ?)であるはずです。 つまり、EOF判定は常に偽、無限ループに陥るわけ...
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリで変換キーの入力を取得できない
返信数: 3
閲覧数: 1987

Re: DXライブラリで変換キーの入力を取得できない

過去に似たような事例があったようです。こちらをご参考ください。
変換、無変換キーの状態が取得できない-nifty

尚、こちらの環境では、上記サイトに従ったところ、正常に実行されました。
オフトピック
開発環境:VC++ ExpressEdition 2008
DXライブラリ Ver3.12c
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: 擬似二次元配列を使ったTxtファイルからのマップチップ配列の読み込み
返信数: 13
閲覧数: 5086

Re: 擬似二次元配列を使ったTxtファイルからのマップチップ配列の読み込み

テキストファイルの、3つ目のカンマがないような気がしますが… MAP_SIZE,15,10(,)←ここ DATA,0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, DATA,0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,0, DATA,0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,0, DATA,0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,0, DATA,0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,0, DAT...
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録スコアの実装
返信数: 8
閲覧数: 4167

Re: 龍神録スコアの実装

返信が遅くなってしまい、申し訳ありません。 //アイテムとの接触 //アイテム 0:小パワー 1:小点 2:弾点 3:小金 4:大パワー 5:大金 void ch_and_item(){ for(int i=0;i<ITEM_MAX;i++){ if(item[i].flag>0){ double x=item[i].x-ch.x,y=item[i].y-ch.y; if(x*x+y*y<ITEM_HIT_BOX*ITEM_HIT_BOX){ switch(item[i].knd){ case 0: ch.power+=3; break; case 1: ch.point+=1; break;...
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録スコアの実装
返信数: 8
閲覧数: 4167

Re: 龍神録スコアの実装

そのソースコードを提示していただければ、回答しやすくて助かります。
おそらく、得点増加処理を行うコードを追加する位置が間違っているのだと思われますが…

因みに追加すべき場所はch_and_item関数だったと思います。
できるだけ考えてほしいので、明示的なソースコードは公開しません。希望があれば言ってください。
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録スコアの実装
返信数: 8
閲覧数: 4167

Re: 龍神録スコアの実装

アイテムを取得した時、
自弾が敵にヒットした時、
ボスが死んだ時
それぞれの瞬間に、ch.scoreに増加点数分だけ入れてあげればいいと思います。

龍神録の場合は、館や配布コードの方に細かくコメントが残されていますので、
初心者の方でもわりかしどれが何の関数なのかわかりやすくなってると思います。

【捕捉】
アイテムを取得した時→out.cppに
ボスが死んだ時→boss_shot.cppに
龍神録通りに作っているならば、以上のファイルに関数(的なの含む)が存在するはずです。
自弾が敵にヒットした時は、よく覚えていませんが、ダメージを与える関数あたりに入れるのもアリでしょう。
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: 【龍神録】自機ショットの威力
返信数: 5
閲覧数: 2997

Re: 【龍神録】自機ショットの威力

申し訳ありません、解決にするのを忘れていました。
管理人さんの設定をベースに、ある程度の調整を行いました。
これからいろいろいじるかもしれないので、コードは載せません。
オフトピック
たまにはログを見返すのも大切ですね…
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のプログラムです。どなたかご助力お願いいたします。
返信数: 19
閲覧数: 7623

Re: C言語のプログラムです。どなたかご助力お願いいたします。

パッと見ただけですが、totalを求める式に、 total=0.0 for(i=0;i<num;++i){ student.total.=student.eng+student.math+student.jap; } となってるのが気になります。 studentは構造体配列なのに対し、添え字(だったっけ?)がありません。 正しくは、 total=0.0 for(i=0;i<num;++i){ student[i].total.=student[i].eng+student[i].math+student[i].jap; } とすべきです。 ざっと見ただけなので、詳しいところはわかりません。ごめ...
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: ファミコンでいうところのポーズ
返信数: 4
閲覧数: 3407

Re: ファミコンでいうところのポーズ

あと、BGMを鳴らす関数がありますが ポーズして止めるとして、 曲の途中で止める、途中から開始するなんてことが 可能なのでしょうか? 可能です^^ DXライブラリのリファレンスマニュアルにある、PlaySoundMem関数の解説を見てください。 「TopPositionFlag はサウンドデータを再生する前に再生開始位置を先頭に戻すかどうかを指定します。 TRUE を渡すと先頭から再生され、FALSE を渡すと最後に StopSoundMem をした位置か、 SetSoundCurrentTime で指定した位置から再生されます。」 とあります。 (ご要望に応えられないような回答でしたら、申...
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: 【龍神録】自機ショットの威力
返信数: 5
閲覧数: 2997

Re: 【龍神録】自機ショットの威力

返信が遅れてしまい、申し訳ないです。

usaoさん≫
ご意見ありがとうございます。
他のお二方の意見も見てみましたが、確かに同じようなことをおっしゃっていますし、
そのようにするのが正解のようです。参考にしてみます。

softyaさん≫
確かにそうですね…時間が許す限り、計算しなおしてみます。

Dixqさん≫
まさか管理人さんが直々に回答をくださるなんて…。感謝の言葉を申し上げます。
ショットが打たれてからの時間を各構造体内のcnt変数に保存しておいて、それを+1した値で威力を割る…的なものでいいのでしょうか?
威力や個数等、参考にさせて頂きます!
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: 【龍神録】自機ショットの威力
返信数: 5
閲覧数: 2997

【龍神録】自機ショットの威力

お久しぶりです、アメヒルネです。 今回はちょっとプログラミングとは離れた内容になります。 私は今、弾幕作成と同時進行で自機ショットの威力の調節を行っていますが、 なかなかそれっぽい感じになりません。 そこで今までにSTGを作られた方にお尋ねしたいのですが、 ・ホーミングショット ・前方集中 の、二つの装備の、「メインショットの威力」と「オプションショットの威力」を教えて頂けないでしょうか? ※因みにメインショットの威力は、2装備共通です。※ //通常ショット登録 void ch0_shot_pattern(){ int k; int n=cshot0num[ch.power<200?0:1];...
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: C++音げー制作にあたって
返信数: 9
閲覧数: 5389

Re: C++音げー制作にあたって

cattail さんが書きました:キーが離されたら音を鳴らすようにすれば、とりあえず早く確認できると思います。
音ゲーで「離れたら鳴らす」ってのはちょっと不相応な気がします。3D_3DさんやみけCATさんのやり方がいいと思われます。
オフトピック
参考までに。
これは龍神録の応用ですが、こっちの方が、操作に必要なボタンを追加するときに実装しやすいように思えます。
①キーが押されてたら、対応している変数のカウンタ(時間)を増やす。そうでないなら、0に戻す。
②時間が「1」なら、音を鳴らす。
コードを描くのは面倒なので、この程度にしておきますね)ぉ
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 ファイル入出力について
返信数: 4
閲覧数: 3975

Re: C言語 ファイル入出力について

コードを投稿する際は、

コード:

タグで囲っていただければ見やすくなります。ご活用ください。

if( cBuf == name )だと、
nameもcBufも、文字を入れる配列であるため、上記のように書くと、
「ポインタによる、アドレスの一致判定」がなされている…と、思います。( 私自身もあいまいです。間違ってたらごめんなさい><)
このままだと、二つのアドレスが一致することはあり得ませんので、必ず偽のelseが実行されてしまいます。

文字列の一致を判定するのであれば、手っ取り早い方法として「strcmp関数」があげられるのではないでしょうか。
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: 【龍神録】オプションバグ
返信数: 6
閲覧数: 3345

Re: 【龍神録】オプションバグ

ありがとうございます。おっしゃる通り、[0]だけしか初期化できていなかったようで、
提示されたコードを使ってみたところ、バグが消えました。ありがとうございます。
by amehirune
9年前
フォーラム: C言語何でも質問掲示板
トピック: この文章の意味が分かりません
返信数: 7
閲覧数: 3538

Re: この文章の意味が分かりません

box さんが書きました:
amehirune さんが書きました:yuさんとかずまさんは同一のお方でしょうか?
まさか…。

元の投稿では
ソースコードがない状態でエラーメッセージ「だけ」提示してあったので、
超ベテランの回答者の方が
そのエラーメッセージが出るであろうコードの例を提示してくださったのです。
…お恥ずかしい限りです。申し訳ありません。
削除しようかと思いましたが、ログがかみ合わなくなりそうなので残します。
先ほどのあれは無視してください…(/ω\)ヤメテ―
オフトピック
私はあまり人の名前を覚えられない人なので、ベテランかどうかはポイントで判別しているようなものなのです…

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