検索結果 1548 件

by usao
1日前
フォーラム: C言語何でも質問掲示板
トピック: マップチップ上で追跡する敵を4方向移動にしたい
返信数: 3
閲覧数: 174

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

オフトピック
それはそれとして,「マップチップ云々…」という言葉から勝手に想像するに,
実際にゲームを作るとなると,ルール的に「敵が侵入できないマス」とかが設けられることが予想されるので,

(1) 敵の移動先候補を列挙する
 単純な例で言えば,今の座標の上下左右の4カ所のうち,侵入できる箇所であって且つ追跡対象との距離が近くなる箇所
(2) 列挙された中から実際の移動先を選ぶ

みたいな手続きにしておくと良いのかもしれない.
by usao
1日前
フォーラム: C言語何でも質問掲示板
トピック: マップチップ上で追跡する敵を4方向移動にしたい
返信数: 3
閲覧数: 174

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

> いろいろと調べたのですが …… 見つけられませんでした。 よく目にする文言だけど,何をどう調べたのかは絶対に明かされない不思議! Xが左右方向でYが上下方向なのだとして, (1) Y座標を固定してX座標だけを動かせば「左右のみ」になる. (2) X座標を固定してY座標だけを動かせば「上下のみ」になる. (3) X座標とY座標とを同時に変更すると「斜め」に移動することになる. という3点は明らかであると思うのだが,どうだろうか. 「明らかでない」というならば,自分はちょっともうこれ以上簡単に説明できないです. 「明らかである」ならば,上下左右のみに限定したいなら(3)が起きないようにすればよ...
by usao
3日前
フォーラム: C言語何でも質問掲示板
トピック: 戦闘画面中に画面を切り替えてポーズ画面を作製したいのです
返信数: 5
閲覧数: 381

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

> 画面の切り替えってどう作るのでしょうか?

一応これについて書いておくならば……

「C言語 ゲーム 画面 切り替え」とかでググるとたくさん出てくるはずです.
これ系の話では「シーン」という言葉が使われることが多いようですから
「C言語 ゲーム シーン 遷移」みたいな検索でも良いかと思います.

ググるとおそらく様々な方法の話が見つかるでしょうけど,
とりえあず最初は{継承,仮想関数,ステートパターン}みたいな単語が出てきたページは即刻閉じて見なかったことにした方が良かろうと思います.
by usao
3日前
フォーラム: C言語何でも質問掲示板
トピック: 戦闘画面中に画面を切り替えてポーズ画面を作製したいのです
返信数: 5
閲覧数: 381

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

このような質問をする場合には, 問題に無関係なコードを除去して,質問内容に関する話をするのに必要最低限の(「キーXを押すと選択画面に行く」だけのプログラム)コードを示すべきです. > 選択画面 に相当する処理実装って,そのコード内のどこの部分ですか? (「選択画面」と言う名前から想像するに,何か選択肢が表示されたりとかするんですよね? きっと) > 選択画面に行く ための機構の記述ってどこですか? > ClearDrawScreen(); // 裏画面をクリアの後に ... を付け足して、... 該当行の直後部分(「ステージの描画」という注釈行からScreenFlip()までの範囲)を見た感...
by usao
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。
返信数: 13
閲覧数: 767

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

オフトピック
> Noir氏

異なる 考え方/意見 は尊重しますので,
あなたが先駆者として導くというのならば,そのようにすればよろしいかと存じます.

#私の意図は既述の通り(他所のような)排除ではなく,あなたが言うところの「導き」です.
相手の理解状況を推測した結果として「まずはもっと基礎をちゃんと学んでください」というのも正しい助言だと私は考えます.
by usao
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。
返信数: 13
閲覧数: 767

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

> あなたに言われなくても基礎勉強しながら作ってますよ。 おそらく,あなたが勉強しているという「基礎」よりももっと手前の段階の基礎(前提的な事柄)を最初に学ぶ必要があるのだと思いますよ. 例えば, int main() { //ここで A,B,C はそれぞれ何らかの処理である A; B; C; } のように書いたら3つの処理{A,B,C}がどの順序で処理されるのか,とかそこらへんのとこから話が書いてあるような場所を見つけて読むと良いでしょう. 「邪魔」という言葉が気に入らないのでしょうが, このような前提レベルの話を把握していない相手にいくら回答したところで内容が理解されないわけなので,  ...
by usao
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ロックオンしている最中だけ相手の真ん中にロックオンマークを重ねたい。
返信数: 13
閲覧数: 767

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

ゲームっぽく例えると, 【LV2あたりの敵を相手に半死半生な実力であれば,LV10の敵に挑んで勝てるわけがありませんぜ】って感じです. 仮にFizzBuzzが難易度LV2で,今あなたがやろうとしていることがLV10なのだとしたら, まずはLV10の事柄にまともに挑戦できるようになることが必要です. 少なくとも 処理がどう流れていくのかのイメージも掴めない状態の人が取り組むべき内容ではありません . (1) まずLV2を余裕でこなせるようにLV1あたりから「普通に」勉強する (2) LV2~LV9の難易度の事柄としばらく戦って,LV10に取り組める実力を養う というステップを経ることが必要不可...
by usao
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 最初に描画された画像から一瞬横に向くようにしたいです。
返信数: 3
閲覧数: 409

Re: 最初に描画された画像から一瞬横に向くようにしたいです。

あなたが求める「一瞬」の期間だけplayerphotoの値をそのままにし,
その期間が過ぎた時点で別の値に戻せば良いのではないでしょうか.

とりあえずplayerphotoの値をwhileループ内の先頭で毎回初期化している時点で
視認できるほど長い期間だけ値を保持できているとは思えないので,
何か時間を計測する手段を用いる等して実現する処理を追加することになると思います.
by usao
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。
返信数: 54
閲覧数: 2504

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

左に1bitシフトしたら値は2倍になる(という点については大丈夫か?)
左に8bitシフトしたら値は(2の8乗=256)倍になる
by usao
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。
返信数: 54
閲覧数: 2504

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

オフトピック
そんな意味わからん長文書く前に,まずはstrtolをググればよくね?
(引数の意味について書こうとして「?」が付いている時点でダメだろ常考…)
by usao
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。
返信数: 54
閲覧数: 2504

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

オフトピック
> 第一に、以上のような1ケタずつ読み込んでいく方法だと、整数10個、アルファベット大文字26文字、小文字26文字で、合計62種類までのデータを読み込む事が出来ます。

この話だと,1データを「数字とアルファベットからなる2文字」にすることで62*62=3844パターンを表現するという世界を目指していることになる.
ファイルに書かれている"11"だの"AA"だのいうのは16進文字列ではないのだろうから,
strtol(p, &p, 16)
だと目指す仕様と違うんじゃないの?
by usao
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。
返信数: 54
閲覧数: 2504

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

オフトピック
> mapdataを二次元配列から一次元配列にする方法も試しました

こういうことしている時点で,何かが根本的にズレている気がする.

あるロジックがあるデータ構造を用いて動く状態が存在していて,
→当該データ構造のデータを用意する手段として「ファイルから読む」

じゃないのか?
データ構造側をファイル読込処理の都合によって変えちゃうの?
by usao
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。
返信数: 54
閲覧数: 2504

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

オフトピック
カンマ区切りな内容のファイルを用意するとしたら,それを読込むプログラムの側ではカンマの存在に対処する必要がある.
その処理が自分自身に厳しいかどうかは,やる前にわかるハズ.

にも関わらず,何故カンマ区切りなフォーマットのデータファイルを用いようと思うのか.
わざわざ問題の難易度を自分自身で大きく引き上げて困っているという構図.
「自分が余裕で扱える形でデータを用意しちゃいけない縛り」みたいな営みなのか? 行き詰るのが好きなのか?
by usao
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。
返信数: 54
閲覧数: 2504

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

オフトピック
こんな単純データだったら,stringstream様のお力で解決してもらえば楽なのでは.
by usao
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。
返信数: 54
閲覧数: 2504

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

OK.他者に期待.
オフトピック
ソースをどう直したらいいか? という話をする際には,私なら,コードをコピー&ペーストする.

「ここに提示したコードは実際のものとは異なっていて,そりゃあ書き写しのミスもありますよ」とか言われても,
じゃあどれがそのミスで,どれは違うのか?
一体何に注目してどの問題について論じれば良いのか?
第三者には判断材料がないわけだから,正常なやりとり自体が不可能ですな.
(それでも大丈夫なエスパーな人もいるかもだが,私には無理)
by usao
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。
返信数: 54
閲覧数: 2504

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

=と==の違い,わかってますかね?

FileRead_gets()の戻り値はググった感じだと「長さ」らしいですが,
だとしたら,↓って何の判定なのかわからないですよね.

コード:

FileRead_gets(buf,1023,fp)!='\n'
#方法論がどうの以前に最低限のことはしようぜ
by usao
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリを使って異なる複数の種類の画像を複数描画する方法を教えて下さい。
返信数: 9
閲覧数: 907

Re: DXライブラリを使って異なる複数の種類の画像を複数描画する方法を教えて下さい。

> 複数の種類の画像を複数描画する これ「だけ」をやるのに必要な要素を考える. 「複数」がネックならば,最初は「1個」から始める. 「一個なら余裕だからやってみるまでもないぜ!」とか構えてても何も進まないなら,実際にやってみて具体化することだ. 1つの画像を描画するのに最低限必要なのは「どこに描画するのか」「何を描画するのか」の2つの情報であろう. 前者は描画位置を示す座標であり,2Dだろうから(x,y)でいいだろう. 後者はDXライブラリの場合だとどうやら「画像のハンドル(?)」とかいう値っぽいので, (x,y,ハンドル)というデータが1セットあれば,1つの画像を描画するのに足るハズだ. よ...
by usao
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリを使って異なる複数の種類の画像を複数描画する方法を教えて下さい。
返信数: 9
閲覧数: 907

Re: DXライブラリを使って異なる複数の種類の画像を複数描画する方法を教えて下さい。

なぜわざわざ新規トピックにしてるのかわからんけど 話を打ち切って無かったように別に始めるという態度は協力者を減らす方向にしか行かないと思うぞ. で,根本的な間違いは何かっていうと 「自分自身でどう使えばいいのかもわからんデータをわざわざ定義している」という点であろう. 普通,データってのは,自分が使うのに都合が良い形に用意するんだから,それを使って何をどうするのか?ってのは「自明」と言える. 「データはこれなんだけども,どうすればいいかわかりません><」なんていう意味不明な状況には,少なくとも出発点の段階で陥ることにはならないと思うんだよな,常識的に考えて. つまり,どうすれば良いか?っていう...
by usao
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
返信数: 25
閲覧数: 1704

Re: 配列とfor文を使っているのに画像が一つしか表示されない。

くっそ…しくじった.
前記投稿(#16)にて「ch.num」と見えている箇所は

コード:

ch.num[i]
と書いたつもりなので,読み変えてください.
(コレほんと使いにくいなぁ)
by usao
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
返信数: 25
閲覧数: 1704

Re: 配列とfor文を使っているのに画像が一つしか表示されない。

ch.num とか書いてるけど,このnumの要素数はいくつあるんです? (領域外アクセスしてないかどうか) ch.num の iの値としては '1' と 'A' を用いてるみたいだけども, これって10進数で言えば,49と65になると思うんです.つまり 【ch.num[49] と ch.num[65] の2要素だけに関して何かあれこれ処理する】ということになっていそうに見えるのですが, これって想定通りなんですか? CharaInit()でマップデータ全体に関してループしている際に,'1'や'A'はデータに複数個存在しているから 毎度激しく ch.num の内容を上書きしていると思うけど.
by usao
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 単方向リストの交換
返信数: 20
閲覧数: 1474

Re: 単方向リストの交換

オフトピック
なるほど,最後のswap3の方法はinteresting
by usao
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 単方向リストの交換
返信数: 20
閲覧数: 1474

Re: 単方向リストの交換

オフトピック
> 面白い問題だと思うんですが、誰もやってみないのでしょうか?

「面白い」とは何か?ってところが個人で違うでしょうし…
言わば「縛りプレイ」的なパズルですよね,コレ.

あえてごちゃごちゃとバグりそうな(あるいはバグっててもすぐにはわからないかもしれないような)処理を考えることを面白いと感じるかどうか.

私は頭使うの嫌いなタイプだから
「え? 配列内の並び替えをインプレースで…?」

「できらぁ!」

結果:バブルソート的なしょぼいコード

とかなっちゃうなぁ.
by usao
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列へのポインタ (*a)[10] について
返信数: 51
閲覧数: 4334

Re: 配列へのポインタ (*a)[10] について

オフトピック
つまり,初心者をポインタで迷子にしないための方法として,以下が考えられる.

【「ポインタは難…」とか「Cの文法が…」とかいう話を展開しているような本なりサイトに出くわした場合,それは読まずに別のを探すこと】
という指針を前もって与える,という方法.

この篩はうまく機能する気がしてならない.
by usao
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列へのポインタ (*a)[10] について
返信数: 51
閲覧数: 4334

Re: 配列へのポインタ (*a)[10] について

オフトピック
【世の中に「ポインタがわからん」という人々が溢れている】
という話が真なのであれば(個人的にはこれ系の話自体が偽なんじゃないかと疑ってるけど)

これからそうなるかもしれない対象たる初心者に向けた文章に
> 「ポインタはアドレスだ」
なんていう ふわっとした フレーズが
時に,「ポインタは難しいぞぉ!」だの「文法がどうのこうのっ!」だのいう刷り込み目的としか思えない謎の呪文句を添えた形で
存在したりしていることがそもそもの元凶なんじゃないか? とか思えてしまう.

(個人の感想です)
by usao
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列へのポインタ (*a)[10] について
返信数: 51
閲覧数: 4334

Re: 配列へのポインタ (*a)[10] について

オフトピック
> 値型と参照型を同列に扱うほうが、どうして受け入れられやすいのか

コレ,世間では受け入れられやすいのか…

少なくとも今現在半径3mの範囲にいる人々(と私)の場合は
「ん? なにそれ? ちょっともう一回言って?」みたいな反応だったんで,かなり異端な集団だったのだなぁ…
by usao
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列へのポインタ (*a)[10] について
返信数: 51
閲覧数: 4334

Re: 配列へのポインタ (*a)[10] について

既に述べられていることの繰り返しになるが, void foo(int x[10]){ ... } は void foo( int *x ){ ... } と同じであって,"[10]" は何もしてくれない. コードを見た人間が「要素数が10個の配列を渡して欲しいんだろうなぁ」と察することの役には立つかもしれないが, 「うーん,でも今日は要素数が7個の配列を渡してみるか!」というのをコンパイルエラーにできない. 対して,件の"配列へのポインタ"では,コンパイルエラーにできる. "配列へのポインタ"を使う例を考えるならば, 例えば「俺は3次元の座標(ベクトル)を 要素数3の配列 で扱うぜ!」というこ...
by usao
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 2Dアクションゲームにおける重力の実装について
返信数: 3
閲覧数: 1135

Re: 2Dアクションゲームにおける重力の実装について

「キャラクターを位置Aから位置Bに移動させようという際には,その経路を通過しても良いか否かの判定を行い, ルール的に(経路上に地面とか壁とかがあって)位置Bまで移動させてはいけないのであれば, ルール的に妥当な代替位置C(地面や壁の手前)にキャラクターを移動させることにする」 …的な形の処理にすればよいのではないでしょうか. > 地面に底部が当たっているときは重力を付加せずに みたいな手段で「地面に立っているから → 特殊ルールとして今は重力なし → 結果として今の位置に留まる」とするのではなくて, 「放っておいても重力の影響で下に移動しようとする → そこに移動してよいか?(→地面があるから...
by usao
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 再帰関数
返信数: 8
閲覧数: 610

Re: 再帰関数

挑戦してみたら素で失敗してワラタ int Buff[8]; //バッファは(何故か)関数の外におく //引数で「何番目を担当するか」を受ける関数を書く. //(nの値も必要だよね) void Func( int nth, //「何番目」だから,一番左を示す値は1である. int n //nの値は8以下の正の整数とのこと ) { //forを1個書いて,担当する位置に置いてある数を順に変えていく for( int i=0; i<n; ++i ) { Buff[nth-1] = i+1; //担当箇所を変える処理 //このfor文の中で再帰呼び出しをすること if( nth < n ) { Fun...
by usao
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 再帰関数
返信数: 8
閲覧数: 610

Re: 再帰関数

n重のforがどこに必要になるのかさっぱり謎だし 再帰をどこにどう使うと嬉しいことがあるのかも意味不明すぎるので, そこらへんの話を完全に無視した直感的なコードを示す.もちろん再帰を使ってない. 1mmでも参考になれば. void Test( int n ) { //行バッファ.nは8以下とされているので8個用意すればOKってことで int buff[8] = { 1,1,1,1, 1,1,1,1 }; while( true ) { //行の表示と終了判定 int count_of_n = 0; for( int i=0; i<n; ++i ) { if( buff[i]==n )++cou...
by usao
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 双方向リストについて
返信数: 3
閲覧数: 352

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

どうすればも何も,単にそれを実現するだけなら
単に2つのリストの全要素を持つリストを作って,それをソートすりゃ良いであろうことは火を見るよりも明らか.

リスト1:{ 1, 3, 5 }
リスト2:{ 2, 4, 6 }
 ↓てきとーに合体
リスト3:{ 1, 3, 5, 2, 4, 6 }
 ↓ソートする
リスト3:{ 1, 2, 3, 4, 5, 6 }


「てきとーに合体」ではなく,元のリストがソート済みであるという制約条件を利用した合体を行えば
最後のソートが要らないだろうこともまた自明に思える.

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