検索結果 173 件

by Ouxiy
3年前
フォーラム: C言語何でも質問掲示板
トピック: buffer, buffer2での文字が一致した際にメモに保存した文章を表示したい。
返信数: 7
閲覧数: 5534

Re: buffer, buffer2での文字が一致した際にメモに保存した文章を表示したい。

すいません。フォルダのtxt名が間違っていました。「test.txt」ではなく、「da.txt」でした。
書き直したところちゃんと開けました。
すいません、文字は打てるのですが、「覚えて」と入力した後の言葉を入力ができていないようで
テキストには何も書かれていませんでした。なのでデバッグで「覚えて」と入力してみました。
するとオープンファイルが開けませんと先ほどと同じエラーが出ます。どなたか原因の分かる方はいますでしょうか。
by Ouxiy
3年前
フォーラム: C言語何でも質問掲示板
トピック: buffer, buffer2での文字が一致した際にメモに保存した文章を表示したい。
返信数: 7
閲覧数: 5534

Re: buffer, buffer2での文字が一致した際にメモに保存した文章を表示したい。

すいません。フォルダのtxt名が間違っていました。「test.txt」ではなく、「da.txt」でした。
書き直したところちゃんと開けました。
by Ouxiy
3年前
フォーラム: C言語何でも質問掲示板
トピック: buffer, buffer2での文字が一致した際にメモに保存した文章を表示したい。
返信数: 7
閲覧数: 5534

Re: buffer, buffer2での文字が一致した際にメモに保存した文章を表示したい。

早速、DXライブラリに依存しないコードの方に変更しました。 ですが、問題が発生しました。 まずは「覚えて」という言葉を入力した場合に、buffer2に覚えさせたい文字列を入力するのですが、 入力しようとするとウィンドウが閉じます。デバッグしてみるとファイルが開けないというエラーができるのですが、同じフォルダにはtest.txtは入っているのでファイルが開けられない原因がわかりません。 環境はWindows10、Visual studio 2019でreleaseでx64です。 #pragma warning(disable: 4996) #include <string> #include <...
by Ouxiy
3年前
フォーラム: C言語何でも質問掲示板
トピック: buffer, buffer2での文字が一致した際にメモに保存した文章を表示したい。
返信数: 7
閲覧数: 5534

Re: buffer, buffer2での文字が一致した際にメモに保存した文章を表示したい。

usaoさん、返信ありがとうございます。
そうですね、確かにDXライブラリを使う意味はないかもしれないですが、DXライブラリさんのような文字?でウィンドウに文字を描画するようにできたらいいなあと思っていましたが、依存した環境により解答者様が減るならば使うのは断念したほうがいいかもしれません。
貴重なご意見どうもありがとうございます。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: コントローラを使いマス単位で動かす
返信数: 5
閲覧数: 9297

Re: コントローラを使いマス単位で動かす

どうもありがとうございました!
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: コントローラを使いマス単位で動かす
返信数: 5
閲覧数: 9297

Re: コントローラを使いマス単位で動かす

あの、前のフレームが押されていないかどうかの判定はどのように考えるのでしょうか。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: コントローラを使いマス単位で動かす
返信数: 5
閲覧数: 9297

Re: コントローラを使いマス単位で動かす

どうもありがとうございます。
なんだか作るのがとても難しそうですね。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: コントローラを使いマス単位で動かす
返信数: 5
閲覧数: 9297

コントローラを使いマス単位で動かす

Pad = GetJoypadInputState(DX_INPUT_KEY_PAD1); //入力状態をPadに格納 if (Pad & PAD_INPUT_RIGHT && playerX < 2) { playerMove = 1; playerX++; playerImage = playerGHandle[2]; nomove = 1; } if (Pad & PAD_INPUT_LEFT && playerX > 0) { playerMove = 1; playerX--; playerImage = playerGHandle[9]; } if (Pad & PAD_INPU...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 二つのif文が重複してしまう。
返信数: 21
閲覧数: 18880

Re: 二つのif文が重複してしまう。

ありがとうございます。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 画像が元に戻るまで時間がかかる。
返信数: 4
閲覧数: 10409

Re: 画像が元に戻るまで時間がかかる。

Tatuさんありがとうございます。
あの、背中を向けた画像から右横を向いた画像にするまでに時間がかかるのですが、
何か解決方法はないでしょうか。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 画像が元に戻るまで時間がかかる。
返信数: 4
閲覧数: 10409

Re: 画像が元に戻るまで時間がかかる。

本で勉強はしていません。
DXライブラリを使ってこちらの質問サイトを利用させて頂き進ませて頂いています。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 画像が元に戻るまで時間がかかる。
返信数: 4
閲覧数: 10409

画像が元に戻るまで時間がかかる。

if (Key[KEY_INPUT_G] == 1 && Gcount <= 15) {//前のifが成り立っても攻撃が当たらなければ相手のHPは減らない、しかし、前のif文が成立して次のif文も成立すれば相手のHPが減る。 playerImage = playerGHandle[9]; Gtime = 1; Gcount = Gcount - 1; if (playerY == enemyY) { enemyHP = enemyHP - 10; } } if (Gtime >= 1) {//ifの中にifを書くときは前のifが成り立っていいないとならないため、そうでない場合は新しいif文と...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: addattacktimeが0のままです。
返信数: 1
閲覧数: 8684

addattacktimeが0のままです。

以下のようにaddattacktimeが0になった際にaddattacktimeを501にする処理を書いたのですが、なぜか0のままです。ですがaddattacktime が501でないのにcountとKcountはしっかり働きます。 なぜ0のままなのでしょうか。またなぜaddattacktime が501でないのにcountとKcountはしっかり働くのでしょうか。 if (addattacktime == 0) {//addattacktime == 0だと初期値と被ってしまうので0より小さいとした。 playerX = preplayerX; playerImage = playerGHa...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: addattacktimeの値が-1のままの原因がわかりません。
返信数: 5
閲覧数: 10541

Re: addattacktimeの値が-1のままの原因がわかりません。

みけCATさんどうもありがとうございます!

コード:

if (addattacktime <= 500 && addattacktime > 0)//addattacktimeが0になるまでの間に攻撃があればaddattacktimeは20に戻る
				
           {
				--addattacktime;
と書いたところ0で止まりました。

超初心者さま、かずまさんのコメントは本当の事なので仕方ありません。
思考力が欠落しているところは自覚しています。
というよりもかずまさんからコメント頂けて嬉しいです。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: addattacktimeの値が-1のままの原因がわかりません。
返信数: 5
閲覧数: 10541

addattacktimeの値が-1のままの原因がわかりません。

addattacktimeの値が-1のままなのですが、なぜ-1になっているのかわかりません。 変数addattacktimeの関係している以下の部分を消してみたのですが、特に変化はなく、この部分が原因ではないとわかりましたが、原因がわかりません。 if (addattacktime <= 500 && --addattacktime > 0)//addattacktimeが0になるまでの間に攻撃があればaddattacktimeは20に戻る {//★addattacktimeが500以下で0より大きい時—1されていく、そして500以下ならばかつ0より大きいならばずっと処理されるということ。 ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 二つのif文が重複してしまう。
返信数: 21
閲覧数: 18880

Re: 二つのif文が重複してしまう。

スルーしていたわけではありません。
気づかなくてすいません。
認識の違いというか、条件の書き方が悪かったです。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 書いた通りの計算結果になりません。
返信数: 10
閲覧数: 13965

Re: 書いた通りの計算結果になりません。

これでも簡単な例題ですが、基礎を勉強しています。
ですが、失敗と経験を積んでよりスキルを上げたいです。
どうかよろしくお願いいたします。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 書いた通りの計算結果になりません。
返信数: 10
閲覧数: 13965

Re: 書いた通りの計算結果になりません。

すいません、全く思いつかなくて、もう少し何かヒントを頂けないでしょうか。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 書いた通りの計算結果になりません。
返信数: 10
閲覧数: 13965

Re: 書いた通りの計算結果になりません。

ありがとうございます!
MPが3以上であればいいと考えます。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 書いた通りの計算結果になりません。
返信数: 10
閲覧数: 13965

Re: 書いた通りの計算結果になりません。

あのTatuさん、以前に上限に関して説明してい頂き、その知識を活かそうと今回のプログラムで if (count < 50)++frames;//framesが5で割りきれる時に+countが+1されいく。//countが50より小さい時、framesがフレームにより+1ずつされていき、10で割り切れる際にcountが50になるまで+1される、++により最初+1が追加され49かい+1されるので結果的にcountは50になる。 if (frames % 10 == 0) { ++count; if (count > 50) { count = 50; } }//これにより連続で攻撃してもif (K...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 書いた通りの計算結果になりません。
返信数: 10
閲覧数: 13965

Re: 書いた通りの計算結果になりません。

なるほど、最初のif文でenemyImage = enemyGHandle[5]がセットされしまい、かつキーAを押すため次のif文も(同時に)真になる、すなわち働いてしまうため
if文の中の『count = count - 10;』が一回のキーAを押しただけで二つのif文が同時に実行されてしまうため count から合計 20 引かれる、という状態になるのですね!
わかりやすい解説感謝します。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 書いた通りの計算結果になりません。
返信数: 10
閲覧数: 13965

Re: 書いた通りの計算結果になりません。

お二方ありがとうございます!
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: ロックオン画像の周りの白い部分を消したいです。
返信数: 1
閲覧数: 8335

Re: ロックオン画像の周りの白い部分を消したいです。

コード:

SetTransColor(255,255,255); // 追加
LoadDivGraph("lockon.bmp", 3, 3, 1, 23, 23, lockonHandle);

および

DrawGraph(pos[enemyY][enemyX][0], pos[enemyY][enemyX][1], 
          lockImge, TRUE); // FALSE -> TRUE
を加えることで解決することが出来ました!
どうもありがとうございます!
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: ロックオン画像の周りの白い部分を消したいです。
返信数: 1
閲覧数: 8335

ロックオン画像の周りの白い部分を消したいです。

if (lock == 1) { DrawGraph(pos[enemyY][enemyX][0], pos[enemyY][enemyX][1], lockImge, FALSE);//ロックマーク中だけ描画するようにした。 }//ロックマークの描画 のプログラムの ロックマークの画像 の 周りの白い部分と真ん中のオレンジの周りの白いを消してオレンジの部分のみが自然的に重なっているようにしたいです。 探してみたのですが白い部分を消す関数や方法が見つかりません。 以下は全体のプログラムです。 #include "DxLib.h" int Key[256]; int gpUpdateKey()...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: マイナスの値に突入してしまいます。
返信数: 4
閲覧数: 10763

Re: マイナスの値に突入してしまいます。

どうもありがとうございます!
おかげで解決しました!
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 書いた通りの計算結果になりません。
返信数: 10
閲覧数: 13965

書いた通りの計算結果になりません。

キーRでロックオンした後キーAを押してアタック知る際に countは50なので10引かれて40になるはずなのに、なぜか30になります。 デバックしてみたのですが原因がわかりません。 以下は問題のプログラムです。 if (lock) { if (Key[KEY_INPUT_A] == 1 && count <= 50) { //殴る//(lock){}の中に書くとロックする度にcountが0になるので意味がない //count++;  ここにcount書くとifの条件よりcountが0の時の下のlockやplayerX = enemyX - 1など条件になるため、++でcountが1になったらロ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: マイナスの値に突入してしまいます。
返信数: 4
閲覧数: 10763

Re: マイナスの値に突入してしまいます。

消し忘れたものです。恥ずかしい、、、。
それはいらないです。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 500以内のMPのどんな数値の時でも攻撃できるようにしたい。
返信数: 1
閲覧数: 8192

Re: 500以内のMPのどんな数値の時でも攻撃できるようにしたい。

お陰様で解決できました。 #include "DxLib.h" int Key [ 256 ] ; int gpUpdateKey () { char tmpKey [ 256 ] ; GetHitKeyStateAll ( tmpKey ); for (int i = 0 ; i < 256 ; i ++ ) ( tmpKey [ i ] == 0 ) ? ( Key [ i ] = 0 ) : Key [ i ] ++; 0を返します。 } intステージ[ 4 ] [ 7 ] [ 2 ] ; //盤上のマスの格子点の座標 int pos [ 3 ] [ 6 ] [ 2 ] ; //キャラ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 500以内のMPのどんな数値の時でも攻撃できるようにしたい。
返信数: 1
閲覧数: 8192

500以内のMPのどんな数値の時でも攻撃できるようにしたい。

実装したいものがあります。赤字で最大500の数値があります。 ロックオンして相手を殴るとMPのような感じで250減ります。そして残りが500-250より250となります。 そして、再びロックオンして攻撃すると250-250より0になります。 そして、if (count3 <= 0 && ++count3 <= 499)などにより、MPを500に戻そうとします。 直ぐには戻らず徐々に367など適当な数字になったら再びロックオンしてアタックすると367-250より117になります。そして、if (count3 <= 0 && ++count3 <= 499)により再びMPが500に戻る ようなプ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: マイナスの値に突入してしまいます。
返信数: 4
閲覧数: 10763

マイナスの値に突入してしまいます。

以下のプログラムに関してなのですが、赤い字の数値が500溜まった状態でRキーを押して相手をロックオンしてキーAで攻撃するのですが、問題があります。 一回の攻撃で500すべてを使い果たすのですが、 そのあと再びロックオンして攻撃するとマイナスの値に突入してしまいます。 そうならないために型を unsigned int にしたのですが改善できずにいます。 行いたいこと マイナスの数値にならず再び500まで溜まるまで攻撃できないようにしたいのですがどうすればいいでしょうか? lock = 0;//lock = 1の時の「lock!!」の描画を消すためにlockの値を0に変更。 lockonMove ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 二つのif文が重複してしまう。
返信数: 21
閲覧数: 18880

Re: 二つのif文が重複してしまう。

自信がないですが、countは30です。 理由は最初のif文で count3 は 40 になり、敵が enemyImage == enemyGHandle[5] の状態で再びキーAを押すことで count3 - 10 が実行され、 40-10 より count は 30 となるためです。 間違っていたら正しい答えを教えてください。 ちなみに、私事なのですが、お気付きかと思いますが 今現在DXライブラリを使ってPCで出来るゲームを作製しています。そこでプログラムを書いている際に疑問や解決策がわからない際に頼ってもいいでしょうか。 私はツイッターをやっているので個人的に困った際に質問したいです!も...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 二つのif文が重複してしまう。
返信数: 21
閲覧数: 18880

Re: 二つのif文が重複してしまう。

# include <stdio.h> int main() { int lock = 1; int count = 0; if (lock == 1) { if (count == 0) { ロックが1でかつカウンターが0の時、出力されるのはロックは0、カウンターは30である。 lock = 0; count = 30; } if (count > 0) { そのあと、出力で出てきたカウンター30が条件に当てはまるため、-1されてカウンターは29 count--;      になると思ったのですが違うでしょうか。 } } printf("%d", count); // ★ return 0...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 二つのif文が重複してしまう。
返信数: 21
閲覧数: 18880

Re: 二つのif文が重複してしまう。

どうもありがとうございます。
自信はないですが答えは29です。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 二つのif文が重複してしまう。
返信数: 21
閲覧数: 18880

Re: 二つのif文が重複してしまう。

何がどう馬鹿なのでしょうか?
よければこの馬鹿にわかりやすく教えてください。
もしできないなら解答でないものとして通報します。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 二つのif文が重複してしまう。
返信数: 21
閲覧数: 18880

Re: 二つのif文が重複してしまう。

以下のように行いました。一応理にかなっていると思うのですがうまくいきませんでした。 一つ目のifもなぜか重複してしまい50から20ずつ引かれてしまいます。なぜでしょうか。 int count2 = 1; //playerY != enemyYよりY座標が異なる場合を表す、Y座標が異なる場合はlockの値は0になる。要はロックが解除されてしまう。 if (lock) { if (Key[KEY_INPUT_A] == 1 && count <= 50&& count2 == 1) { //殴る//(lock){}の中に書くとロックする度にcountが0になるので意味がない //count++; ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 二つのif文が重複してしまう。
返信数: 21
閲覧数: 18880

Re: 二つのif文が重複してしまう。

一つ目もわかります。
ですが、二つのプログラムと今回の問題の関係性がわかりません。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 二つのif文が重複してしまう。
返信数: 21
閲覧数: 18880

Re: 二つのif文が重複してしまう。

二つ目の画像のifはifの文が真のとき、中括弧内のifへ進み、そのifが偽の場合、elseの方へ進みます。
正しいでしょうか?
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 二つのif文が重複してしまう。
返信数: 21
閲覧数: 18880

Re: 二つのif文が重複してしまう。

こちらのサイトとマルチポストしています。解決しだいどちらかでベストアンサーを決めさせて頂きます。
https://teratail.com/questions/213060?modal=q-comp
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 二つのif文が重複してしまう。
返信数: 21
閲覧数: 18880

二つのif文が重複してしまう。

以下のプログラムはRキーでロックオンしてAキーでアタックして、敵の画像が右横を向いた際にさらにキーAを押すと連続的に攻撃出るようにしたいのですが、 最初のif文の条件と引っかかってしまい、二つ目のifと同時に条件が起こってしまい 、50から30となってしまいます。 どうすれば二つ目の条件が二つ目の条件と被らずに連続攻撃が出来るでしょうか? また、 if (lock) { if (Key[KEY_INPUT_A] == 1 && count <= 50) { //殴る//(lock){}の中に書くとロックする度にcountが0になるので意味がない //count++;  ここにcount書くとi...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。
返信数: 13
閲覧数: 14293

Re: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。

あのカズマさん、
・真ん中にロックオンマーク: 6文字追加
とのことですが、どうやってのでしょうか?
真ん中に描画するような関数などあるのでしょうか。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: マップチップ上で追跡する敵を4方向移動にしたい
返信数: 3
閲覧数: 9699

Re: マップチップ上で追跡する敵を4方向移動にしたい

https://dixq.net/g/03_01.html
のサイトでは左右上下があります。
何かお力になれば幸いです。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 左のキャラクターが十字キーを押しても動かない
返信数: 2
閲覧数: 8374

左のキャラクターが十字キーを押しても動かない

戦闘画面とメニュー画面をキーXとfunction_status = 0を利用して作ったのですが、問題が発生しました。 左のキャラクターが十字キーを押しても動かない のです。 function_status = 0やfunction_status = 1の使い方がうまくいっていないと思うのですが、解決方法がわかりません。どうか力を貸していただけないでしょうか。 #include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 2...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 連続攻撃の方法
返信数: 1
閲覧数: 8471

Re: 連続攻撃の方法

以下のように自分の攻撃を食らって相手が右横を向いた場合(攻撃が成功したので)再びAを押すとその場で攻撃できるようにできました。 ですが、できれば相手が攻撃を食らって右向きになると 相手に再び攻撃が当たるように相手の動きが数秒間止まるようにしたい のです。それから自分の連続攻撃が終わったら相手が通常通り動くようにしたいです。 //playerY != enemyYよりY座標が異なる場合を表す、Y座標が異なる場合はlockの値は0になる。要はロックが解除されてしまう。 if (lock) { if (Key[KEY_INPUT_A] == 1) { // アタック lock = 0;//lock ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 連続攻撃の方法
返信数: 1
閲覧数: 8471

連続攻撃の方法

キーAを押すと攻撃なのですが、攻撃した後に再びAを押しかつ 敵が同じ位置にいるならば 敵の前の座標にとどまり攻撃できるような、連続攻撃のようにするには if文でさらにAが押されたら を書けばいいと思うのですが、どう書けばいいのかわかりません。 どうやって、再びAを押されたらを表現すればいいのでしょうか。 #include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 256; i++) (tmpKey[i] == 0) ? ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 戦闘画面中に画面を切り替えてポーズ画面を作製したいのです
返信数: 5
閲覧数: 10207

Re: 戦闘画面中に画面を切り替えてポーズ画面を作製したいのです

ClearDrawScreen(); // 裏画面をクリアの後に //function_status = 0の時 if ((Key[KEY_INPUT_X] == 1)) { DrawString(100, 140, "メニュー画面 (xをプッシュ)", White); function_status = 0;//攻撃手段を選んでいる最中は0とする } を付け足して、キーXを押すと選択画面に行くように作ってみたのですが、うまくいきません。何がダメなのでしょうか。 #include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[2...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 戦闘画面中に画面を切り替えてポーズ画面を作製したいのです
返信数: 5
閲覧数: 10207

戦闘画面中に画面を切り替えてポーズ画面を作製したいのです

戦闘画面中に画面を切り替えてポーズ画面を作製したいのです。 多分、戦闘中に特定のキーを押すとポーズ画面に切り替わるように作ればいいと思うのですが、 画面の切り替え ってどう作るのでしょうか? 以下は戦闘画面中のプログラムです。 #include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 256; i++) (tmpKey[i] == 0) ? (Key[i] = 0) : Key[i]++; return 0; } in...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。
返信数: 13
閲覧数: 14293

Re: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。

Noirさんのご意見、ありがとうございました。
基礎を勉強しながら、ゲーム作製に取り掛からせて頂いています。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。
返信数: 13
閲覧数: 14293

Re: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。

かずまさん、返信遅くなりすいませんでした。 インデントを整えるように努めているのですが、うまい人の真似をしても綺麗にならなくて、すいません。 無駄に空行を 5行も入れる理由も教えてください。 文章と文章の間の空間が開いたほうが見やすいと考え入れていました。 ロックオンに関しては真ん中以外の問題は解決できました。 #include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 256; i++) (tmpKey[i] == 0...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: ロックオンマークをロック中のみに描画したいがうまくいかない
返信数: 3
閲覧数: 10098

ロックオンマークをロック中のみに描画したいがうまくいかない

#include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 256; i++) (tmpKey[i] == 0) ? (Key[i] = 0) : Key[i]++; return 0; } int stage[4][7][2]; // 盤上のマスの格子点の座標 int pos[3][6][2]; // キャラ描画座標 void init_stage() // stage と pos を初期化する { for (int...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。
返信数: 13
閲覧数: 14293

Re: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。

そうですか。他のサイトにおいては、私自身が基礎を勉強しても抜けてしまい、それを叩いて面白がる器の小さい悪外な連中がいるだけですのでお構いなく。
基礎勉強を繰り返し勉強したほうがいいかもしれません。
貴方の言いたいことはよくわかりました。今後、基礎を勉強して今の問題がどうなるかわかりませんが、以前のようにここで不毛な問題はしないようにします。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 二つのプログラムの違いに関して。
返信数: 6
閲覧数: 13131

Re: 二つのプログラムの違いに関して。

みけCATさん、毎度どうもありがとうございます。
読ませて頂きます。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。
返信数: 13
閲覧数: 14293

Re: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。

そうですね。邪魔で悪かったですね。
あなたに言われなくても基礎勉強しながら作ってますよ。
無料サイトにも限界はあるので、お金を払って勉強した方がいいかもしれませんが。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 二つのプログラムの違いに関して。
返信数: 6
閲覧数: 13131

二つのプログラムの違いに関して。

以下のプログラムのif文に関してなのですが、 if (Key[KEY_INPUT_R] == 1 && playerY == enemyY) { lock = 1; lockonMove = 1; } if (lockonMove > 0) { ++lockonMove; } if (lockonMove == 10) { lockImge = lockonHandle[0]; } else if (lockonMove == 20) { lockImge = lockonHandle[1]; } else if (lockonMove == 30) { lockImge = lockonHa...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。
返信数: 13
閲覧数: 14293

ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。

#include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 256; i++) (tmpKey[i] == 0) ? (Key[i] = 0) : Key[i]++; return 0; } int stage[4][7][2]; // 盤上のマスの格子点の座標 int pos[3][6][2]; // キャラ描画座標 void init_stage() // stage と pos を初期化する { for (int...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: ドットVRゲームを作りたいです。
返信数: 2
閲覧数: 9219

ドットVRゲームを作りたいです。

ドットゲーム動画
載せました動画のようなドットVRゲームを作りたいです。
VRゲームを制作したいです。
言語はCかC++で作りたいです。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する
返信数: 13
閲覧数: 13286

Re: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する

if (Key[KEY_INPUT_R] == 1 && playerY==enemyY) { enemyImage = enemyGHandle[8]; int prokey = Key[KEY_INPUT_R] == 1; // (1) prokey = 1; // (2) prokey++; // (3) if (prokey > 0) { // (4) if (prokey < 100000 && Key[KEY_INPUT_A] == 1) { // (5) int player2; player2 = enemyX - 1; // (6) player2 = playerX ; ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する
返信数: 13
閲覧数: 13286

Re: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する

あの、カズマさんに質問があります。
質問5. (5) で prokey の値が 100000以上になることがありますか?
に関して、 prokey の値が 100000以上になることは無いと答えましたが、理由はわかりませんでした。
なぜ prokey の値が 100000以上にならないのか教えてください!!
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する
返信数: 13
閲覧数: 13286

Re: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する

みけCATさんありがとうございます。 以下は自分なりに編集して書いてみた全体のコードです。 このコードを書くにあたってヒントやコードを載せてくださった皆様、どうもありがとうございました! #include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 256; i++) (tmpKey[i] == 0) ? (Key[i] = 0) : Key[i]++; return 0; } int stage[4][7][2]; //...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する
返信数: 13
閲覧数: 13286

Re: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する

質問1. (1) で prokey の値はいくつになりますか? A,1 質問2. (2) で prokey の値はいくつになりますか? A,1 質問3. (3) で prokey の値はいくつになりますか? A,2 質問4. (4) で prokey の値が 0以下になることがありますか? A,ないです。 質問5. (5) で prokey の値が 100000以上になることがありますか? A,ないです。 質問6. (5) で Key[KEY_INPUT_A] の値が 1になることがありますか? A,条件式として1になるので、あります。 質問7. (6) (7) を続けて実行すると、(6) ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する
返信数: 13
閲覧数: 13286

Re: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する

自分の思った通りに動くと信じているようです。
数日前までは本気で動くと思っていました。
ですが、最大60フレームしかないため、prokey < 1000000としても無意味とわかりました。
私を馬鹿にするのはいいですが、馬鹿にするならばヒントが欲しいですね。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する
返信数: 13
閲覧数: 13286

Re: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する

DXライブラリの processMessage() の while ループの意味を理解していませんね。
というより、コードの各行がどのように動いて次の行に行くのかを理解していません。
DXライブラリのループは理解が至ってない部分もありますが、コードの各行くらいどのように動いているかわかります。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する
返信数: 13
閲覧数: 13286

R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する

R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する ようなプログラムを書きました。ですが、精度が悪く同時押しで何度もれ出して押さないと機能しません。 どうにかしてRキーを押した後、Aキーを押して精度よく一度押しただけで攻撃でるように出来ないでしょうか。 後、相手の陣地に踏み込んだ後、相手の陣地に踏み込む前の座標に自分が戻るようにしたいのですが、その場合は変数をもう一つ作り作ったほうがいいのでしょうか。 以下はR(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃するプログラムです。 if (Key[KEY_INPUT_R] == 1 && playerY==enemyY) {...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

みけCATさん解答ありがとうございます。
今のところ時間の関数を利用して、ロックオンしてからある一定の時間の間にAを押すと攻撃
キーでRを押した後もRを押したことを記憶するメモリを変数として作っておき、Aを押しと攻撃するなども考えています。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: その座標上で足踏みするようにしたい。
返信数: 5
閲覧数: 8452

Re: その座標上で足踏みするようにしたい。

フレームが一度の画像しか表さないため、
連続のif文ではなく、else ifにより、playerMoveが更新されるように工夫したのかもと考えています。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: その座標上で足踏みするようにしたい。
返信数: 5
閲覧数: 8452

Re: その座標上で足踏みするようにしたい。

回答ありがとうございます。
えと、連続のif文をelse ifにする事と、フレーム数の関係がイマイチわからないのですが、
なぜ連続のif文ではいけなかったのでしょうか。
例えば1から+1されていき、
if playerMove==20になったら画像A
if playerMove==30になったら画像B
if playerMove==40になったら画像C
と出来ない理由がわかりません。
飲み込みが悪くてすいません。
どうか違いをわかりやすく教えてください。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: その座標上で足踏みするようにしたい。
返信数: 5
閲覧数: 8452

Re: その座標上で足踏みするようにしたい。

コメントを書き直しました。 #include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 256; i++) (tmpKey[i] == 0) ? (Key[i] = 0) : Key[i]++; return 0; } int stage[4][7][2]; // 盤上のマスの格子点の座標 int pos[3][6][2]; // キャラ描画座標 void init_stage() // stage と pos を初期化...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: その座標上で足踏みするようにしたい。
返信数: 5
閲覧数: 8452

Re: その座標上で足踏みするようにしたい。

その座標上でゆっくり足踏みするようにしたいのですが、未だに機能しません。 改良したプログラムです。 if (playerMove > 0 && ++playerMove > 20) {//右を向くためのプログラム playerImage = playerGHandle[4];//playerMoveが20より大きい21になったら[4]を描画し、次に—1して20になったら[5]を描画し、再び+1して[4]を描画してif (playerMove > 0 && ++playerMove > 20によってループを繰り返す。 --playerMove ; playerImage = playerGHan...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: その座標上で足踏みするようにしたい。
返信数: 5
閲覧数: 8452

その座標上で足踏みするようにしたい。

以下のプログラムに関して、 #include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 256; i++) (tmpKey[i] == 0) ? (Key[i] = 0) : Key[i]++; return 0; } int stage[4][7][2]; // 盤上のマスの格子点の座標 int pos[3][6][2]; // キャラ描画座標 void init_stage() // stage と pos を初期化...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

すいません、どうか助けてください。どんな方法で作ればいいのか、、、
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

すみません。実はまだ解決していないですが、自分で解決しなければ技術が身につかないので嘘を言いました。
ただ、何かヒントなど教えて頂けると嬉しいです。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

解答して頂かなくても大丈夫です!問題は解決しました!!
ありがとうございます。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

while (ProcessMessage() == 0) { gpUpdateKey(); // キーの入力状態を取得 if (lock) { if (Key[KEY_INPUT_A] == 1) { // アタック playerX = enemyX - 1; playerMove = 1; playerImage = playerGHandle[4]; enemyMove = 1; enemyImage = enemyGHandle[10]; } if (Key[KEY_INPUT_Z] == 1) { // ロック解除 lock = 0; } } else { // 敵の移動 int ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

出来ればロックオンした後、敵が他の列や同じ列であれ動いたらロックが解除されるように作りたいです。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

カズマさん、いつもいつもありがとうございます。
説明の仕方が下手ですいません。こちらの動画攻撃方法の5:16のようにロックオンして相手のマスに移動して攻撃するようにしたいです。

プログラムは参考にさせて頂きます。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

enemy と player で同じ charall.png を使うんだったら グラフィックハンドルの配列は一つでよいでしょう。 まあ、これはあとで別の画像を用意するつもりなのかもしれませんが。 はい!自分と敵で異なる画像を使う予定です。 DrawLine は引数をもう一つ増やすことができて、それは線の太さです。 デフォルトは 1 なので、10ぐらいにするとよいのではないでしょうか? リファレンスをみて取り組んでみます。 というよりも、背景を表示するのなら、そこにステージを描いておけば、 DrawLine を使う必要もありません。 最初はステージの画像を作って重ねようかと思ったのですが、意外...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。
返信数: 16
閲覧数: 13623

Re: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。

色々ありがとうございます。
gh[0]~gh[11] のそれぞれがどんな画像か、
charall.png はどんなものかを、答えてください。
こちらのサイトの画像を使わせて頂きました。
https://bituse.info/game/21
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

返信どうもありがとうございます。 検索したページは、読まなかったのですか? 実際に、ブレークポイントを使って、ステップ実行し、 変数の値をみることができるようになったのですか? やってみたのですが、私がポンコツなせいで出来なかっただけです。 もう一度よく読んで実行してみます。 一瞬とは何フレーム表示するつもりですか? 1フレームじゃ、人間の目には見えませんよ。 gh[4] とか gh[8] って使っていませんでしたか? プログラム中のコメントは訂正しないんですか? すいません、ありました。 ++playerMove > 20と書いたので、20フレームほどです。ですが、5フレームでも良いかもしれ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

gh[0]~gh[11] のすべての画像について、それが何か、
どのタイミングでどれを使うつもりなのか詳しく説明してください。
えと、静止中は右向きのgh[5]、移動するときの一瞬はgh[6]となり、再び右向きのgh[5]になります。

ブレークポイントに関してありがとうございます。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

ちゃんと答えられずすいません。ごめんなさい。
charall.png の 12個の画像は何かと何度も尋ねているのに
なぜ、回答してくれないんでしょうか?
こちらのサイトこのサイトですのキャラクターを使わせて頂いています。
この画像のキャラクターを12個の画像にしました。

自分でもブレークポイントで座標を確認しようと試みたのですが、うまくいかず、検索しましたが似たようなことをする人がいなかったため今でもわからずにいます。
ブレークポイントを設定した後、どこを見れば画面上の座標がわかるのかわかりません。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

box と teki の値を見ましたか?
見ましたか? この質問には絶対に答えてください。

Visual Studio を使って、デバッグしているのだったら、
init_box() 実行後にブレークポインタで止めて、簡単に見ることができます。
visual studio 2019を使って座標を見ようとデバックしています。どうか座標を見るまでの詳しい過程のやり方を教えて頂けないでしょうか。
どうかお願いいたします。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

みけCATさん、どうもありがとうございます。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

もう一つ疑問があります。なぜidou[5][5]は一つだけでいいのでしょうか。

コード:

idou[5][5] = {
	{ 1, 1, 1, 1, 1 },
	{ 1, 0, 0, 0, 1 },
	{ 1, 0, 0, 0, 1 },
	{ 1, 0, 0, 0, 1 },
	{ 1, 1, 1, 1, 1 },
};

自分用と敵用で二つ必要なのではないかと疑問が生まれました。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

box と teki の値を見ましたか? 見ましたか? この質問には絶対に答えてください。 見ていませんでした。 ですが、初期化のプログラムの作り方、原理への理解は深まりました。どうもありがとうございます。 本当にどうもありがとうございます。 ただ、私の理解が正しいか質問したいこと一つ、と疑問一つがございます。他の方にも質問してみたのですが、まだしっくりこないことがありカズマさんの解説が聞きたいです。どうかよろしくお願いいたします。 質問したいことは以下のことです。 配列idouは移動可能かどうかを判断するための配列です。 そしてint nx = 2, ny = 2;(座標(2、2)は空のマ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

void init_box() { for (int j = 0; j < 7; j++) { int w = (j - 3) * 100, h = 600; for (int i = 4; --i >= 0; ) { box[i][j][0] = w + 400, box[i][j][1] = h - 200; w = w * 9 / 10, h = h * 9 / 10; } } for (int i = 1; i <= 3; i++) for (int j = 1; j <= 3; j++) { teki[i][j][0] = (box[i - 1][j - 1][0] + box[i...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。
返信数: 16
閲覧数: 13623

Re: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。

ありがとうございます。 else { // 9マス上のいずれかのパネルに移動させる int cy = ny, cx = nx; do { ny = GetRand(2) + 1; nx = GetRand(2) + 1; } while (nx == cx && ny == cy); // 移動先が今いるパネルなら、移動先を選びなおす playerphoto = gh[8]; // 正面向いて移動 move = 1; } よりelseの中身の話なのでnx == cx && ny == cyで同じにならないときに抜け出して、新しい座標で正面を向いたplayerphoto = gh[8];が描画さ...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

Re: int box[4][7][2]の役割。

理解できないから消したわけではありません。一旦ステージを消したかったため消しただけです。
あの、再度聞いてしまって申し訳ないのですが、

コード:

 teki[5][5][2]の[2]はteki[ny][nx][0], py = teki[ny][nx][1]
と分解出来て表せますが、この[2]は何を表しているのでしょうか。ステージを立体的に見せるためのZ軸のようなものだとばかり考えていましたが、そうではないようで、正しい答えが知りたいです。
どうかよろしくお願いいたします。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: int box[4][7][2]の役割。
返信数: 28
閲覧数: 23142

int box[4][7][2]の役割。

以下の全体のコードの中でint box[4][7][2]は何を表しているのでしょうか。 また、どんな役割があるのでしょうか。 #include <stdio.h> #include <stdlib.h> #include <time.h> #include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 256; i++) (tmpKey[i] == 0) ? (Key[i] = 0) : Key[i]++;//キーのフレーム...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。
返信数: 16
閲覧数: 13623

Re: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。

みけCATさんありがとうございます。 そもそもコード中でgh[8]以外のグラフィックハンドルが使われていないようです。 したがって、「なぜでしょうか」の答えは 「向きが切り替わり瞬間移動したようなエフェクトを出すコードが無いから」でしょう。 ということは描画関数が無いわけでしょうか、、、。 解決方法として、その時の座標から新しい座標に進み座標が更新されるたびにif (move > 0 && ++move == 50)が更新され、新しい座標になるたびにmoveが0に戻りplayerphoto = gh[8]を表し、++moveによりmoveの中身が50になったらplayerphoto = gh[...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。
返信数: 16
閲覧数: 13623

Re: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。

どうもありがとうございます。かずまさん。
フロチャートがほしいというか。
説明が知りたいです。というのも

コード:

if (stopCount > 0) {
			stopCount--;
		}
の後のelse {}の中にある、ifの文がどう働くのかわからくて質問しました。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。
返信数: 16
閲覧数: 13623

Re: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。

もう一つお聞きしたいのですが、 if文での以下の部分ですが、どのように順序だてて以下のように作ったのですが、勉強したいためフローチャートが知りたいです。 どうかよろしくお願いいたします。 if (GetNowCount() >= nextMoveTime) { // 指定の時間が経ったら(1sごとに) nextMoveTime += MOVE_INTERVAL; // 次に移動処理をする時刻を設定する if (stopCount > 0) { // 停止中のとき stopCount--; // 止まっている残り時間(回数)を減らす } else { // 普通の状態のとき if (GetRan...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。
返信数: 16
閲覧数: 13623

Re: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。

どうもありがとうございました。そのような感じになります。 ただ、もう少し行いたいことがあります。 移動した瞬間に向きが切り替わり瞬間移動したようなエフェクトを付けたいです。 そこで私は以下のようにしました。 ClearDrawScreen(); // 裏画面をクリア if (move > 0 && ++move == 20) { move = 0; int playerphoto = gh[8]; // 移動終了 } をコード全体に付け足して、移動した後の状態はplayerphoto = gh[8]より真正面を向いたのままですが、 再び移動してから新しい座標でほんの一瞬だけ横を向くようにしたい...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。
返信数: 16
閲覧数: 13623

Re: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。

あの後、考えて変数moveを使い、(move > 0 && ++move == 30)の++moveで変数の値を変えていき、マス目上を自動で移動する方法を取りました。 ですがなかなかプログラムに出来ずにいます。 // カーソルキーの右が押されている if (Key[KEY_INPUT_RIGHT] == 1) if (idou[ny + 0][move + 1] == 0) {//移動しようとする先が空いていれば //移動可能 move = 1; move = move + 1; //移動 playerphoto = gh[6]; } として見たのですが、うまくいきません。 以下は全体のコード...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。
返信数: 16
閲覧数: 13623

Re: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。

どうもありがとうございます。
えーと、そうですね。カウントとしてGetNowCountがいいように思えましたが、ただ、毎秒ずっと動いているわけにもいかないので少し動いたら、止まったり、また動いたりを繰り返せばいいと考えています。
そのようにコードを書くにはどうしたらいいでしょうか。time関数を使わない方向になってしまうかもしれませんが、どうかよろしくお願いいたします。
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。
返信数: 16
閲覧数: 13623

9マス上のマスを動く敵キャラを作るために時間の関数がほしいです。

過去に「画像のように3D っぽい2Dの9マスA~I上をキャラにキー入力で移動させたい」というプログラムにおいて、質問したものです。 あれから #include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 256; i++) (tmpKey[i] == 0) ? (Key[i] = 0) : Key[i]++; return 0; } int idou[5][5] = { { 1, 1, 1, 1, 1 }, { 1, 0,...
by Ouxiy
4年前
フォーラム: C言語何でも質問掲示板
トピック: 画像のように3D っぽい2Dの9マスA~I上をキャラにキー入力で移動させたい
返信数: 14
閲覧数: 13928

Re: 画像のように3D っぽい2Dの9マスA~I上をキャラにキー入力で移動させたい

マルチポストしたサイトです。 以下のコードを使って行いたいことを実行しました。 #include "DxLib.h" int Key[256]; int gpUpdateKey() { char tmpKey[256]; GetHitKeyStateAll(tmpKey); for (int i = 0; i < 256; i++) (tmpKey[i] == 0) ? (Key[i] = 0) : Key[i]++; return 0; } int idou[5][5] = { { 1, 1, 1, 1, 1 }, { 1, 0, 0, 0, 1 }, { 1, 0, 0, 0, 1 },...

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