検索結果 6087 件

by みけCAT
15時間前
フォーラム: C言語何でも質問掲示板
トピック: 配列の1の位置をplayerX、playerYとしたい、
返信数: 6
閲覧数: 129

Re: 配列の1の位置をplayerX、playerYとしたい、

idou[3][3]を int idou[5][5] = { {1,1,1,1,1 }, {1,0,0,0,1 }, {1,0,1,0,1 }, {1,0,0,0,1 }, {1,1,1,1,1 }, }; と書かなくても、 int idou[3][3] = { {0, 0, 0 }, {0, 1, 0 }, {0, 0, 0 } }; で9マス内での移動としてキャラを動かせるのでしょうか? はい。 移動先が範囲内かのチェックをして、範囲内の場合のみ動かすようにすればいいでしょう。 int idou[5][5]のように1で空0囲まないと9マス内の移動と出来ないのでしょうか。 いいえ。 ただし...
by みけCAT
19時間前
フォーラム: C言語何でも質問掲示板
トピック: 配列を座標として障害物かどうかなぜ判断できないのかについて
返信数: 4
閲覧数: 97

Re: 配列を座標として障害物かどうかなぜ判断できないのかについて

申し訳ありません。 #3でidouの定義を int idou[5+1][5] としていますが、この+1はテストした時の消し忘れです。 int idou[5][5] としてください。 一応修正後のコード全体を貼ります。 #include "DxLib.h" #include <set> int Key[256]; // キーが押されているフレーム数を格納する // キーの入力状態を更新する int gpUpdateKey() { char tmpKey[256]; // 現在のキーの入力状態を格納する GetHitKeyStateAll(tmpKey); // 全てのキーの入力状態を得る for...
by みけCAT
19時間前
フォーラム: C言語何でも質問掲示板
トピック: 配列を座標として障害物かどうかなぜ判断できないのかについて
返信数: 4
閲覧数: 97

Re: 配列を座標として障害物かどうかなぜ判断できないのかについて

どうか私の勘違いや間違いがなんなのか教えてください。 とりあえずわかりやすい間違いとして、 playerYについてのコメントに、「座標」のことだと考えられる「座表」という誤字がある 「座標32がキャラのいる座標」としたはずなのに、その後にいきなり謎の数字「24」がある (誤字で32のことだと考えられる) 「移動 し すると」という不自然な表現がある (「移動すると」を表す誤字と考えられる) 「出来なんでしょうか?」という不自然な表現がある (「出来な い んでしょうか?」を表す誤字と考えられる) 配列「idou」を使うはずなのに、「dou」としている誤字がある (iが変な位置にあるのが1件、...
by みけCAT
20時間前
フォーラム: C言語何でも質問掲示板
トピック: 配列の1の位置をplayerX、playerYとしたい、
返信数: 6
閲覧数: 129

Re: 配列の1の位置をplayerX、playerYとしたい、

質問1に関しては 配列idou[3][3]の1の位置をplayerX、playerYとしたいです。 playerX、playerYに1の位置を入れたい、ということでしょうか? 以下のコードは、配列から1を探し、その位置をplayerXおよびplayerYに入れます。 // 探す対象の配列 int idou[3][3] = { {0, 0, 0 }, {0, 1, 0 }, {0, 0, 0 } }; // 結果を入れる変数 int playerX = -1, playerY = -1; // 配列から1を探し、結果を入れる (1が複数ある場合、最後に見つかったものの座標が入る) for (i...
by みけCAT
2日前
フォーラム: C言語何でも質問掲示板
トピック: 原因を知りたい、バグを解決したい。
返信数: 4
閲覧数: 135

Re: 原因を知りたい、バグを解決したい。

Ouxiy さんが書きました:
2日前
えーと、右のキーを押したときのみ、反映させるように書いたのに
なぜか右のキー以外のキーを押したときも反映されているので、その理由が知りたいです。
「反映させる」「反映されている」の意味がよくわからないので、教えてください。
具体的に、「どうなると予想したのに」「どうなってしまう」のですか?
by みけCAT
2日前
フォーラム: C言語何でも質問掲示板
トピック: ロックマンエグゼのような3*3マスを移動できるようにしたい
返信数: 30
閲覧数: 642

Re: ロックマンエグゼのような3*3マスを移動できるようにしたい

かずま さんが書きました:
2日前
「バッファ」って何ですか?
「バッファ」は、https://dixq.net/g/02_09.htmlに書かれている
「char *KeyStateBuf : すべてのキーの押下状態を格納するバッファのポインタ」
のことでしょうか?
by みけCAT
2日前
フォーラム: C言語何でも質問掲示板
トピック: キーボードとキャラを動かくすための関数を深く理解したい
返信数: 7
閲覧数: 176

Re: キーボードとキャラを動かくすための関数を深く理解したい

ありがとうございます。 なるほど、では bool 右キーが押されていたか = false; ループ { if (現在右キーが押されている) { if (右キーが押されていたか) { // 右キーが押され続けている } else { // 右キーがこのフレームで押された } 右キーが押されていたか = true; } else { // 右キーが話されている 右キーが押されていたか = false; } } 256のキーすべてに対して、以上のように書いてまとめたものが int Key[256]; // キーが押されているフレーム数を格納する // キーの入力状態を更新する int gpUpda...
by みけCAT
2日前
フォーラム: C言語何でも質問掲示板
トピック: キーボードとキャラを動かくすための関数を深く理解したい
返信数: 7
閲覧数: 176

Re: キーボードとキャラを動かくすための関数を深く理解したい

Ouxiy さんが書きました:
2日前
以下はキーボードを用いてキャラクターを動かす関数のプログラムです
キーボードの状態を得る関数のプログラムはあるようですが、キャラクターを動かす関数は見当たりません。
コピペ忘れでしょうか?
by みけCAT
2日前
フォーラム: C言語何でも質問掲示板
トピック: キーボードとキャラを動かくすための関数を深く理解したい
返信数: 7
閲覧数: 176

Re: キーボードとキャラを動かくすための関数を深く理解したい

前半の質問については、一旦保留とします、 そしてもう一つ、できれば、別表現で以上のプログラムをもっと簡単に書き直せないでしょうか? というのも、正直、「 フレーム 」や「 押下状態 」などの用語の理解に努めようとしたのですが、うまくいかず、もっとめんどうで地道にあえてわかりやすく簡単に書いたら理解できるような気がしました。 どのような表現を簡単と感じるかは人によるはずなので、わかりません。 例えばloop unrollをしたら「別表現」で「簡単」になるでしょうか? というのも https://dixq.net/g/02_09.html より 私が押したいキーボードは右、左、下、上の四つのみなの...
by みけCAT
3日前
フォーラム: C言語何でも質問掲示板
トピック: 原因を知りたい、バグを解決したい。
返信数: 4
閲覧数: 135

Re: 原因を知りたい、バグを解決したい。

まず、どうして描画先を裏ページにせずにScreenFlip();を使うことに こだわる のですか? ScreenFlip関数のリファレンス を見ると、 概略  フリップ関数、画面の裏ページ(普段は表示されていない)を 表ページ(普段表示されている)に反映する 解説  裏ページの内容を表ページに反映します。 (裏ページ、表ページについては 『SetDrawScreen』関数の解説を参照してください) 注…この関数を使用した後の裏ページの内容は環境によって変わりますので、ScreenFlip 関数を使用した後は ClearDrawScreen 等を使用して裏ページを初期化して下さい となっています...
by みけCAT
4日前
フォーラム: C言語何でも質問掲示板
トピック: ロックマンエグゼのような3*3マスを移動できるようにしたい
返信数: 30
閲覧数: 642

Re: ロックマンエグゼのような3*3マスを移動できるようにしたい

[★行いたいこと] 静止状態と移動状態では常に真正面を向いていましたが、移動する一緒んだけ横向きにして、移動し終わったら真正面に戻るようにしたいと思い、みけさんの描いた後のプログラムに自分のアイディアを入れてみました。(うまく機能していないですが) 「移動する一緒ん」というのは、「移動する一瞬(1フレーム)」のことでしょうか? だとすると、例えばこのようにするとできるでしょう。 (「横向き」というのはよくわかりませんが、gh[8]の代わりにgh[2]を描画すれば「横向き」になると仮定しました) #include "DxLib.h" int Key[256]; // キーが押されているフレーム...
by みけCAT
4日前
フォーラム: C言語何でも質問掲示板
トピック: ロックマンエグゼのような3*3マスを移動できるようにしたい
返信数: 30
閲覧数: 642

Re: ロックマンエグゼのような3*3マスを移動できるようにしたい

// カーソルキーの右が押されている if (Key[KEY_INPUT_RIGHT] == 1) { // 右に動けるなら動く if (playerX + 1 < MAP_WIDTH) playerX++; // 画面に出力 ScreenFlip(); // プレイヤーの画像を描画 while(playerX++){ DrawGraph(playerX, 0, gh[11], FALSE); } } としてみたところ、キャラが消えるのはわかるのですが、ステージも消えてしまうのはなぜでしょうか。 if (playerX + 1 < MAP_WIDTH) playerX++; によってplay...
by みけCAT
6日前
フォーラム: C言語何でも質問掲示板
トピック: シューティングゲームについて
返信数: 1
閲覧数: 99

Re: シューティングゲームについて

ファイルenemydata.csvのオープンに失敗していると考えられます。
該当のファイルが正しいファイル名で適切な位置にあるか、
およびプログラム実行時のカレントディレクトリが意図通りかを確認してください。

また、ライブラリ内にチェックがあると仮定せず、
ファイルがオープンできたか(戻り値fpがNULLでないか)のチェックを明示的に行い、
オープンに失敗していた場合は先の処理に進まないようにした方が安全でしょう。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ロックマンエグゼのような3*3マスを移動できるようにしたい
返信数: 30
閲覧数: 642

Re: ロックマンエグゼのような3*3マスを移動できるようにしたい

別のバージョンも書いてみました。 #include "DxLib.h" int Key[256]; // キーが押されているフレーム数を格納する // キーの入力状態を更新する int gpUpdateKey() { char tmpKey[256]; // 現在のキーの入力状態を格納する GetHitKeyStateAll(tmpKey); // 全てのキーの入力状態を得る for (int i = 0; i < 256; i++) { if (tmpKey[i] != 0) { // i番のキーコードに対応するキーが押されていたら Key[i]++; // 加算 } else { // 押...
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ロックマンエグゼのような3*3マスを移動できるようにしたい
返信数: 30
閲覧数: 642

Re: ロックマンエグゼのような3*3マスを移動できるようにしたい

質問に答えるのは難しそうな気がしたので、 とりあえずプレイヤーが3*3マスを移動できるプログラムを適当に書いてみました。 #include "DxLib.h" int Key[256]; // キーが押されているフレーム数を格納する // キーの入力状態を更新する int gpUpdateKey() { char tmpKey[256]; // 現在のキーの入力状態を格納する GetHitKeyStateAll(tmpKey); // 全てのキーの入力状態を得る for (int i = 0; i < 256; i++) { if (tmpKey[i] != 0) { // i番のキーコードに...
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: キャラを[0][0]~[2][2]の配列の間を移動させるようにしたい
返信数: 2
閲覧数: 194

Re: キャラを[0][0]~[2][2]の配列の間を移動させるようにしたい

「キャラを[0][0]~[2][2]の配列の間を移動させる」というのは意味がよくわからないですが、 for文で解決できそうだと思います。 そもそも、「for文で解決」の定義がよくわかりません。 for (;;) { 解決するコード break; } とすれば「for文で解決」したことになるのでしょうか? このコードには 前の質問 のコードと同様に ScreenFlip();やClearDrawScreen();があちこちで呼ばれていて よくない SetDrawScreen(DX_SCREEN_BACK); (など) で描画先を裏画面にしていないのにScreenFlip();を使っている という...
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: [DxLib]2DACTでの重力と地形判定
返信数: 4
閲覧数: 175

Re: [DxLib]2DACTでの重力と地形判定

詳しく見てはいないですが、Player_maphit_*系の変数の値を設定した後、
それらの値を使った判定を行う前にプレイヤーの座標を更新してしまっているので、
これが「1フレームのラグ」になりそうですね。

そのため、Player_maphit_*系の変数の値の設定を
プレイヤーの座標の更新(Gravity関数の呼び出しまで)の後に持ってくると改善するかもしれません。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 意図したキャラの移動とUPとDOWNについて。
返信数: 3
閲覧数: 198

Re: 意図したキャラの移動とUPとDOWNについて。

一つは、+加算では、動画 ロックマンエグゼ のように きっちり一マス分動けないのですが、どんな関数をどのように使えば瞬間移動するように左右上下に動けるでしょうか? 「キーが押され始めたフレームでだけ」「一マス分座標を動かす」ようにするといいでしょう。 例えば 2.9章 全てのキーの入力状態を取得する のgpUpdateKey関数を使うことで、キーが何フレーム押されているかを取得できます。 二つ目は、keyを使いupで+bとするとy座標は下に下り、downで-bとするとyは上がるのですが、これは何故でしょうか? 仕様です。 なぜそのような仕様になっているかは、よくわかりません。 ちなみに、この...
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: キャラの描画が出来ません。
返信数: 3
閲覧数: 224

Re: キャラの描画が出来ません。

DrawGraph関数 の第3引数には画像のハンドルを渡さないといけないのに、 LoadDivGraph関数 の戻り値の0または-1を渡しているため、 画像を描画できない可能性が高いです。 また、仮にたまたまこれが画像のハンドルとして有効な値となり、画像が描画されたとしても、 すぐに ClearDrawScreen関数 により消されてしまうでしょう。 これが「なぜか反映されません。なぜでしょうか。」の答えです。 また、このコードには、他にも ・ SetDrawScreen(DX_SCREEN_BACK); を呼び出さずに ScreenFlip(); を呼び出している  (不自然なパターン、動...
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 背景をバックにキャラを動かす。
返信数: 5
閲覧数: 257

Re: 背景をバックにキャラを動かす。

Ouxiy さんが書きました:
1週間前
ちなみに、キャラはループに入れなくても描画できたのですが、なぜでしょうか。
キャラをループに入れなくても描画できるようなコードを書き、実行したからだと思います。
例えば、1.4章 画像をロードして表示するのコードでは、
ループを用いずにキャラを描画しています。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 背景をバックにキャラを動かす。
返信数: 5
閲覧数: 257

Re: 背景をバックにキャラを動かす。

ループ中で背景しか描画していないから、背景しか映らないのですね。
背景とキャラの描画を同じループに入れましょう。
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: mac gccの使用者
返信数: 2
閲覧数: 222

Re: mac gccの使用者

質問の意味がよくわかりません。 OS:mac, コンパイラ:gcc です。 そのgccは、GNU gccですか?それとも、Clangですか? (質問には関係ないかもしれませんが) visual studioをインストールしないと出来ないじゃないですか。 何をしたいのですか? そこで、それをインストールしてゲームをさあ作るとなった時、ゲーム作成に使用するコンパイラは、gccで出来ますか? どんなゲームをどんなプログラミング言語で作りたいかにもよりますが、 例えばCUIの単純なゲームであれば、C言語を用いてgccで出来るでしょう。 (visual studioをそこに絡めることができるかは、また別...
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: 初心者です。教えてください
返信数: 2
閲覧数: 204

Re: 初心者です。教えてください

Wandboxでコンパイル したところ、以下の警告が出ました。 prog.c: In function 'check': prog.c:58:7: warning: implicit declaration of function 'checkFrip' [-Wimplicit-function-declaration] 58 | if (checkFrip(y, x, turn, vec) == 1) | ^~~~~~~~~ prog.c: At top level: prog.c:63:1: warning: data definition has no type or storage ...
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: c言語についてわからない問題があります。
返信数: 1
閲覧数: 185

Re: c言語についてわからない問題があります。

フォーラムルールを読み、従ってください。
課題の丸投げ(問題文だけ書く事)は禁止です。
また、(ああfffさんの名前が該当するとは断言できませんが)いい加減な名前を使うこともいけません。
ああfffさんの質問はありますか?
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: 平均を出すデータ
返信数: 2
閲覧数: 196

Re: 平均を出すデータ

配列cが4要素しか確保されておらず、範囲外への読み書きが発生するため、未定義動作になります。
そして、範囲外への書き込みによりデータが破壊されたため、出力が変になったと考えられます。
配列cも配列bと同様に5要素確保するようにするといいでしょう。
(アクセス時の添字を修正する方法もありますが、こっちの方が簡単です)
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: 指数関数について
返信数: 2
閲覧数: 216

Re: 指数関数について

Wandboxで実行 した結果は t = 0.0000 0.7854 1.5708 2.3562 3.1416 3.9270 4.7124 5.4978 6.2832 1th exp = 7.2832 8.2832 9.2832 10.2832 11.2832 12.2832 13.2832 14.2832 15.2832 1th err = 16.2832 17.2832 18.2832 19.2832 20.2832 21.2832 22.2832 23.2832 24.2832 3th exp = 25.2832 26.2832 27.2832 28.2832 29.2832 30.2...
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: 関数の値の保存
返信数: 3
閲覧数: 258

Re: 関数の値の保存

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 Wandboxで実行 したところ、 prog.c: In function 'bisec': prog.c:18:1: warning: 'a' is used uninitialized in this function [-Wuninitialized] 18 | double datax1[a],datax2[b]; | ^~~~~~ prog.c:18:1: warning: 'b' is us...
by みけCAT
3週間前
フォーラム: C言語何でも質問掲示板
トピック: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。
返信数: 54
閲覧数: 1566

Re: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。

オフトピック
プログラマ見習い さんが書きました:
3週間前
かめのこのこのさん。
プログラマ見習い さんが書きました:
3週間前
みけCTAさん。
名前の間違いがみられますね。
ここもコピペするといいかもしれません。
by みけCAT
3週間前
フォーラム: C言語何でも質問掲示板
トピック: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。
返信数: 54
閲覧数: 1566

Re: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。

では256種類を超えるにはunsigned char型をunsigned int型にすれば良いのではと思い いくらmapdataの要素を格納する一時変数をunsigned int型にしても、 肝心のmapdataの要素(やキャラクターのkind)がcharのままでは、 charの範囲を超えるデータを読み込むことはできません。 したがって、拡張するならここも拡張するべきです。 一応、新しいのをアップロードします。間違っている部分をもう少し詳しく教えてください。 map0.txt 0000000000111111111100000000001111111111 00000000000000000...
by みけCAT
3週間前
フォーラム: C言語何でも質問掲示板
トピック: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。
返信数: 54
閲覧数: 1566

Re: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。

 気になる所があったので質問します。  「16進数で書けば256種類のデータを扱える」点について、256種類が限界である理由をchar型の限界が256にあると理解していたので、では256種類を超えるにはunsigned char型をunsigned int型にすれば良いのではと思い、、unsigned int型にしてコンパイルした所、0x11の部分が表示されなくなりました。  0x11の10進数の17で、0xAAは10進数の170なので、unsignedのないchar型だと0x11がマイナスの部分に入ってしまう事が原因だと理解していたので、unsigned int型0x11でも表示されない事...

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