またまた返信が遅くなってしまいましたが、お二人とも回答ありがとうございます。
参考にさせていただきます。
検索結果 25 件
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 壁の側面を歩くには・・・
- 返信数: 3
- 閲覧数: 4499
壁の側面を歩くには・・・
Unityの質問をここでしても良いか尋ねたものですが。 結論から言うと、地球防衛軍のアリや蜘蛛ように、キャラがいろんなオブジェクトのいろんな面を走り回るプログラムを書きたいのです。 {クーラクエストというゲームをご存知でしたらそちらのほうが完成形のイメージに近いです} で、重力の方向をオブジェクトの端に来た時に変更してみたりしても、滑り落ちてしまったり、あらぬ方向に飛んで行ったりでうまくいきません。 レイを何十本も飛ばして細かく判定する・・・みたいなことを書いているサイトがあった気がしましたが(リンク先はわかりません)、 どう考えても重くなるし、Unityなら楽できるんじゃね?みたいな淡い希望...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 質問する前に
- 返信数: 4
- 閲覧数: 2689
Re: 質問する前に
だいぶ返信が遅れましたが、ここで質問しても良いそうなので続きを。
といっても、Unityは「楽がしたい」というだけなので、C++またはC#で一から打てと言われれば、やぶさかではありません。
それを踏まえたうえで教えていただければと思います。
ではまた別のトピックで。
といっても、Unityは「楽がしたい」というだけなので、C++またはC#で一から打てと言われれば、やぶさかではありません。
それを踏まえたうえで教えていただければと思います。
ではまた別のトピックで。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 質問する前に
- 返信数: 4
- 閲覧数: 2689
質問する前に
ここで、unity関連の質問してもよろしいでしょうか?
余所行けと仰るのなら、リンクを教えていただけると助かります。
余所行けと仰るのなら、リンクを教えていただけると助かります。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: クラスを配列を使って管理する
- 返信数: 2
- 閲覧数: 1642
クラスを配列を使って管理する
クラスの作り方について質問があります。 三角形、長方形、円形の3つの面積を求めるプログラムをクラスを用いて作るのですが、途中まではできたものの、最後の「基底クラスの配列を用いて管理する」という条件がいまいちとっつきにくくて困っています。 例として、 for(int i = 0; i < 3; i++) { cout << shape[i]->getname()<<"の面積は" << shape[i]->getariea() <<"です" << endl; } のように基底クラスのshapeに配列を持たせてやるらしいのですが、以下の私のコードにどう手を加えれば良いのか 、教えていただけないでしょ...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: バグの原因は・・・
- 返信数: 23
- 閲覧数: 9174
Re: バグの原因は・・・
大変申し上げにくいのですが・・・。
バグさんのプログラムバグってます。たまに4つ揃えてもいないのに消えたり、別のブロックが巻き添えになったりします。
熟練のプログラマーさんでもこのようなミスか引き起こされるとは・・・自分には敷居が高すぎたかな・・・orz。
バグさんのプログラムバグってます。たまに4つ揃えてもいないのに消えたり、別のブロックが巻き添えになったりします。
熟練のプログラマーさんでもこのようなミスか引き起こされるとは・・・自分には敷居が高すぎたかな・・・orz。
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: バグの原因は・・・
- 返信数: 23
- 閲覧数: 9174
Re: バグの原因は・・・
バグさん、softoyaさん返信ありがとうございます。
諸事情によりパソコンからしばらく離れていたので返信が遅れてしまい申し訳ありませんでした。
さて、バグさんのソースコードを読ませていただきました。が、まさかほぼ百パーセントの回答をいただけるとはつゆほども思っていなかったので、しばらくあいた口がふさがりませんでした(笑)。このまま丸コピするつもりはありませんので、C言語に自分の書き方で直した後、そのソースを張って、この質問を「解決」としたいと思います。
ではまた後程。
諸事情によりパソコンからしばらく離れていたので返信が遅れてしまい申し訳ありませんでした。
さて、バグさんのソースコードを読ませていただきました。が、まさかほぼ百パーセントの回答をいただけるとはつゆほども思っていなかったので、しばらくあいた口がふさがりませんでした(笑)。このまま丸コピするつもりはありませんので、C言語に自分の書き方で直した後、そのソースを張って、この質問を「解決」としたいと思います。
ではまた後程。
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: バグの原因は・・・
- 返信数: 23
- 閲覧数: 9174
Re: バグの原因は・・・
一時的に画面の横幅を広げてg_DeletePanelWやg_DeletePanelHの情報を表示するようにしてみてください。 問題があれば目に見えて分かると思います。追いかけ辛いプログラムなのでお願いします。 私としては、g_DeletePanelWとg_DeletePanelHの2つの分かれている理由がわかりません。 それとg_DeletePanelWとg_DeletePanelHの値をずっと保持している理由もです。 チェックするときだけ必要な配列なんじゃないでしょうか? softoyaさん返信ありがとうございます。 g_DeletePanelWとg_DeletePanelHは縦と横を別々...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: バグの原因は・・・
- 返信数: 23
- 閲覧数: 9174
Re: バグの原因は・・・
あれからしばらく原因を探ってみましたがまだ完全にバグは治りません。 色々調べて分かったことは、 ・#difine BLOCK_NO 15 の数字を変えただけでバグが増える(spaceを押していないのにあるところにカーソルを合わせるとブロックが変化する・カーソルが端まで動かせない「spaceを押すと見当違いの場所のブロックが入れ替わる」)等々 ・一番上のブロックを横に並べると白いブロック(意図していないもの)で埋まる (これは修正できたと思います) ・たぶん4つ揃えても消えないバグはなくなった?と思う。 ・ネットで調べた情報ですがZeroMemoryで初期化するのはよろしくない(らしい)とのこ...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: バグの原因は・・・
- 返信数: 23
- 閲覧数: 9174
Re: バグの原因は・・・
sofutyaさん返信ありがとうございます。 動作のイメージはまさにその通りです。連鎖もします。(といっても一瞬で処理が進むので視認しづらいですが) ブロックの画像はお持ちかと思いますが、#difine BLOCK_NO 15 として、消えたなら15番目の真っ白なブロックに代わるようにしています。 if(g_DeletePanelH[h2][w2] == 1){ SetDrawBlendMode( DX_BLENDMODE_ALPHA, 0 ); g_Panel[h2][w2] = BLOCK_NO; SetDrawBlendMode( DX_BLENDMODE_NOBLEND,0 ); } ...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: バグの原因は・・・
- 返信数: 23
- 閲覧数: 9174
Re: バグの原因は・・・
消した後はy方向しか見ていないので、横にずれることは(たぶん)ないと思います。
縦と横を同時に消すと、ウォータフォールにのっとり横が優先されるようです。
縦と横を同時に消すと、ウォータフォールにのっとり横が優先されるようです。
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: バグの原因は・・・
- 返信数: 23
- 閲覧数: 9174
Re: バグの原因は・・・
[quote="softya(ソフト屋)"]
消去ルールって縦横が4つ以上揃ったらで消えた後は鉄のブロックになって鉄のブロックも移動可能で良いんですよね?
quote]
sofutoyaさん返信ありがとうございます。
すみません、自分がどうしたいかを書いていませんでした。フォーラムルールに抵触していますね。
鉄ブロックに変えたのはあくまで便宜的なので、最終的には完全に消去して、上段のブロックを下にスライドさせ、上の空きを新規ブロックで埋める。←これを目的にしています。(ちなみに縦と横は別々に判定します。)
仮にそうだとしても、変数の数は減らしてもいいみたいですね、少し、試してみます。
消去ルールって縦横が4つ以上揃ったらで消えた後は鉄のブロックになって鉄のブロックも移動可能で良いんですよね?
quote]
sofutoyaさん返信ありがとうございます。
すみません、自分がどうしたいかを書いていませんでした。フォーラムルールに抵触していますね。
鉄ブロックに変えたのはあくまで便宜的なので、最終的には完全に消去して、上段のブロックを下にスライドさせ、上の空きを新規ブロックで埋める。←これを目的にしています。(ちなみに縦と横は別々に判定します。)
仮にそうだとしても、変数の数は減らしてもいいみたいですね、少し、試してみます。
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: バグの原因は・・・
- 返信数: 23
- 閲覧数: 9174
Re: バグの原因は・・・
そういえば、
操作方法とか書いていませんでした。
方向キーとスペースキーのみ
スタートにカーソルを合わせてスペースでゲーム開始、Xキーでタイトルに戻る
ゲーム終了に合わせてスペースでゲーム終了。
ほかの、おまけとかには触らないでください(何もないので戻れなくなります)
プレイ画面
方向キーで薄緑色のカーソル移動。任意の場所でスペースを押すと、その真下の画像が左右入れ替わる。
4つ以上縦または横にそろうと消え、・・・・
操作方法とか書いていませんでした。
方向キーとスペースキーのみ
スタートにカーソルを合わせてスペースでゲーム開始、Xキーでタイトルに戻る
ゲーム終了に合わせてスペースでゲーム終了。
ほかの、おまけとかには触らないでください(何もないので戻れなくなります)
プレイ画面
方向キーで薄緑色のカーソル移動。任意の場所でスペースを押すと、その真下の画像が左右入れ替わる。
4つ以上縦または横にそろうと消え、・・・・
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: バグの原因は・・・
- 返信数: 23
- 閲覧数: 9174
バグの原因は・・・
短いスパンでの投稿となり、自分の未熟さが悔しさを募らせます。 いまだにパズルゲームの製作に手間取っています。 以前、再帰関数について質問させていただき、皆さんの助言のおかげで今、4つブロックをそろえて消し、消えたところは上の段のブロックが下にずれて埋め、上の空いたところに、新たにランダムにブロックを配置するというプログラムを組むところまで来ました。しかし、たまにバグります。4つ揃えても消えなかったり、揃えていないところが、なぜか消えたり、白いブロック(意図していない)が生み出されたり(たぶん、二つ以上の数字が同時にブロックを参照したため?)etc... 今私の考えでは、おそらくScenePl...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: 4つそろったら消えるプログラム(再)
- 返信数: 25
- 閲覧数: 8343
Re: 4つそろったら消えるプログラム(再)
ご指摘ありがとうございます。
#define BLOCK_NO 7
g_Panel[h2][w2] = BLOCK_NO;
という書き方に直していたのを、投稿用に書き直したときなぜか元に戻っていたようです。申し訳ありませんでした。
#define BLOCK_NO 7
g_Panel[h2][w2] = BLOCK_NO;
という書き方に直していたのを、投稿用に書き直したときなぜか元に戻っていたようです。申し訳ありませんでした。
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: 4つそろったら消えるプログラム(再)
- 返信数: 25
- 閲覧数: 8343
Re: 4つそろったら消えるプログラム(再)
softyaさん、バグさん、無事解決することができました。ありがとうございます。 コード載せておきます。 //============================================================================================== // 消えるブロックの検索 //============================================================================================== void SearchDelBlock(void){ int h,w; for...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: 4つそろったら消えるプログラム(再)
- 返信数: 25
- 閲覧数: 8343
Re: 4つそろったら消えるプログラム(再)
softoyaさん、何度も申し訳ございません。
添付したファイルでは、下のブロックは描画されず、上のブロックだけ描画されるようになっているはずです。
その上で、spaceキーを押して確かめていただけると、下の画像だけが入れ替わり、鉄のブロックは微動だにしないことがわかっていただけるかと思います。
添付したファイルでは、下のブロックは描画されず、上のブロックだけ描画されるようになっているはずです。
その上で、spaceキーを押して確かめていただけると、下の画像だけが入れ替わり、鉄のブロックは微動だにしないことがわかっていただけるかと思います。
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: 4つそろったら消えるプログラム(再)
- 返信数: 25
- 閲覧数: 8343
Re: 4つそろったら消えるプログラム(再)
if文をいじりすぎたせいで今の自分のプログラムとsoftoyaさんに渡したものが違うのでしょうね。 おそらくsoftoyaさんに渡したものは4つ揃えると何も表示されなくなると思うのですが、 バグさん、softyaさん返信ありがとうございます。 まず、私が問題としているのは、4つ揃えて鉄のブロックを出現させた後、その上でもう一度spaceを押すと、下に描画されている画像は左右入れ替わるが、鉄のブロックは微動だにせず、また、初期化(Xキーでタイトルに戻る)しても鉄のブロックが残ったままになるということです。(重ならずに鉄ブロックだけ表示できていても、試していただけると分かると思います) ▲▲▲◯...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: 4つそろったら消えるプログラム(再)
- 返信数: 25
- 閲覧数: 8343
Re: 4つそろったら消えるプログラム(再)
間違えて送信してしまったので追記。
私は下の画像そのものを鉄のブロック(最終的に描画しない)に変化させたいのですが、今のプログラムでは下のデータはそのままで、上に新たに別のデータが重ねて描画されてしまうのを良しとしないのです。
私は下の画像そのものを鉄のブロック(最終的に描画しない)に変化させたいのですが、今のプログラムでは下のデータはそのままで、上に新たに別のデータが重ねて描画されてしまうのを良しとしないのです。
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: 4つそろったら消えるプログラム(再)
- 返信数: 25
- 閲覧数: 8343
Re: 4つそろったら消えるプログラム(再)
バグさん、softyaさん返信ありがとうございます。 まず、私が問題としているのは、4つ揃えて鉄のブロックを出現させた後、その上でもう一度spaceを押すと、下に描画されている画像は左右入れ替わるが、鉄のブロックは微動だにせず、また、初期化(Xキーでタイトルに戻る)しても鉄のブロックが残ったままになるということです。(重ならずに鉄ブロックだけ表示できていても、試していただけると分かると思います) ▲▲▲◯▲ を▲▲▲▲◯にして ★★★★◯ ↑ ここにカーソルを合わせてspace すると、★★★...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: 4つそろったら消えるプログラム(再)
- 返信数: 25
- 閲覧数: 8343
Re: 4つそろったら消えるプログラム(再)
バグさんの通りに組んでみましたが、変化はありませんでした。
そもそも、ClearDrawScreen() == 0をwhileループの条件に入れる意味はないように思えるのですが・・・。相変わらず鉄のブロックは出現した後初期化しても消えてくれません。
それと、鉄のブロックはBlock[9]ではなくBlock[7]ですね、今気づきました。
そもそも、ClearDrawScreen() == 0をwhileループの条件に入れる意味はないように思えるのですが・・・。相変わらず鉄のブロックは出現した後初期化しても消えてくれません。
それと、鉄のブロックはBlock[9]ではなくBlock[7]ですね、今気づきました。
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: 4つそろったら消えるプログラム(再)
- 返信数: 25
- 閲覧数: 8343
Re: 4つそろったら消えるプログラム(再)
追記 void DrawStage(void){ int h,w; for( h = 0; h < PANEL_SIZE ; h++) { for( w = 0; w < PANEL_SIZE; w++) { if(g_DeletePanelW[h][w] == 0 && g_DeletePanelH[h][w] == 0) { SetDrawBlendMode( DX_BLENDMODE_ALPHA, 224 ); DrawGraph( w*32, h*32 , g_Block[g_Panel[h][w]], TRUE ); SetDrawBlendMode( DX_BLENDMODE_NO...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: 4つそろったら消えるプログラム(再)
- 返信数: 25
- 閲覧数: 8343
Re: 4つそろったら消えるプログラム(再)
バグさんsoftyaさん返信ありがとうございます。 一応ファイルの添付ができましたのでよかったら見てください。 タイトルでは上下キーでスタートを選び押してプレイ画面へ、ゲーム終了で終了。他はまだ作っていないので押さないでください。 操作方法としては、薄緑色のカーソルを方向キーで動かして任意の画像の上に持っていき、spaceで二枚の画像の入れ替えができます。縦か横に4つ以上揃うと鉄?のブロックに変化しますが、元のブロックが下に透けて見えると思います。 プレイ画面からタイトル画面へはxキーで戻れます。 >バグさん void DrawStage(void){ int h,w; for( h = 0;...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: 4つそろったら消えるプログラム(再)
- 返信数: 25
- 閲覧数: 8343
Re: 4つそろったら消えるプログラム(再)
pocoさんの言葉を聞き、ファイルの添付を行おうと思ったのですが、
参照してファイルの追加のボタンを押したところ
しばらく読み込んだ後、
IEではこのページを開けませんと言われてしまいました。
どうすれば、正しくファイルの添付が行えるのでしょうか。
参照してファイルの追加のボタンを押したところ
しばらく読み込んだ後、
IEではこのページを開けませんと言われてしまいました。
どうすれば、正しくファイルの添付が行えるのでしょうか。