検索結果 164 件

by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: C言語とSDLだけでゲーム作成
返信数: 4
閲覧数: 1763

Re: C言語とSDLだけでゲーム作成

昔SDLでシューティングゲームもどきを作ろうとしました。 DxLibなどに比べると独自の型であったり、メッセージ処理などで少々覚えることは多いですが、特に難しいこともなくそれっぽいものを作りました。 いーめーさんが聞こうとしていることはあまりライブラリに依存しない部分が多いのではないかと思いますが... あたり判定や移動、キャラが持つべきデータなどはどのライブラリを用いても大体同じことが言えますし、調べるならその部分です。 前私が作ったもの http://dixq.net/forum/blog.php?u=77&b=3737 そのとき参考にさせていただいたサイト http://utsukemo...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: あるクラスからほかのクラスが持つリストにアクセスする
返信数: 4
閲覧数: 1131

Re: あるクラスからほかのクラスが持つリストにアクセスする

回答してくださった方々ありがとうございます。最近プログラミングに手を付けれておらず、返信も怠っていました。
設計を根本的に変える必要があるとのことですが、それほどの時間が取れませんのですいませんが一度このトピックは閉じさせていただきます。

 また、sleepさんに提示していただいた方法で要素にアクセスできるようにはなるようですが、YuOさんの指摘により、その方法での解決は
見送ることにしました。

回答していただいたのにかかわらず、長い間返信をせず、申し訳ありませんでした。
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: あるクラスからほかのクラスが持つリストにアクセスする
返信数: 4
閲覧数: 1131

あるクラスからほかのクラスが持つリストにアクセスする

現在弾幕STGであたり判定を実装しています。 プレイヤーの弾や敵の弾などをstd::listで管理しています。 そしてPlayerクラスとEnemyクラスを持つManagerクラスというものがあり、そこでプレイヤーと敵の双方のあたり判定をしています。 そこでManagerからPlayerクラスのリストを参照しようとしています。リストの型がもともとC++や標準ライブラリ等が持っている型であったり、 型がグローバルに宣言されていたなら問題ないのですが、リストの型がPlayerクラスが持っている構造体であった場合、 どのようにManagerクラスから参照すればよいのでしょうか。 つまりPlayerク...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルを読み込むプログラム
返信数: 3
閲覧数: 726

Re: ファイルを読み込むプログラム

申し訳ないですが、私はプログラミングを課題として出されたことがない(というか大学生や専攻生でない)ので課題の出され方や それに対してどうすればいいのかわかりませんが、とりあえずDBさんのソースコードだと一行ずつ読み込んでそのまま出力している だけですので、とりあえず一文字ずつ読み込んでコンマを\tに、"を消してコンソールに出力させてみました。 もともとExcelのデータが非常に横に長いのでコンソール上できれいに並べるのは今の私にはできませんでした。 ファイル出力であれば出力をファイルストリームにするだけです。 #define _CRT_SECURE_NO_WARNINGS #include <...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: 弾幕STGにおけるあたり判定の実装方法
返信数: 0
閲覧数: 324

弾幕STGにおけるあたり判定の実装方法

いつもお世話になっております。 前回最後に書き込んだ通り、敵の弾とプレイヤーのあたり判定についていくつか悩んでいる点があります。 まず最初にプレイヤーの弾と敵とのあたり判定は http://bituse.info/game/shot/15 こちらのサイト様をそのまま使いました。 こちらのサイト様が採用している大まかな設計は、 http://bituse.info/game/shot/2 このようになっています。 プレイヤーの弾は配列で管理している(そもそも種類も量もそれほどない)ので、サイト様の方法をほぼそのまま 使用することができました。具体的にはPlayer Enemyクラスにゲッターセッ...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルを読み込むプログラム
返信数: 3
閲覧数: 726

Re: ファイルを読み込むプログラム

まず提示されたリンク先にテキスト形式でダウンロードできませんが?これはExcelの機能などを使ってカンマ区切りに出力させるのか?
そもそもExcelでダウンロードするとブックが二つあってどちらを読み込むのか?どちらも読み込むのか?
加えてその課題内容だと読み込めといわれているので、何ら出力方法などが提示されていませんが(そもそも出力しろなど書いていない)
Excelファイルのようにきれいに表示するとは何を指しているのでしょう。

とりあえずカンマをすべて\tに置き換えるだけでもそれなりにきれいになるのでは?
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の表示順について
返信数: 1
閲覧数: 501

Re: C言語の表示順について

こちらの環境では正常に動きます。 Visual Studio Community 2015 勘ですが、scanfの前に fflush(stdout); などと入れると解消されるかもしれません。 #include <stdio.h> int main() { int a, b, c; b = 0; c = 0; printf("1からその数までの和を求めたい数を入力してください\n"); fflush(stdout); scanf("%d", &a); while (b <= a - 1) { b = b + 1; c = c + b; } printf("%d\n", c); return 0...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: double型の小数点以下の0を消したいです。
返信数: 2
閲覧数: 1694

Re: double型の小数点以下の0を消したいです。

少し調べた所、iomanipとsstreamの機能を使い実現できそうです #include <iostream> #include <iomanip> #include <sstream> #include <string> using namespace std; int main() { double pi = 3.1; //倍精度浮動小数点 ostringstream sout; //stringの強化版的な sout << setprecision(0) << pi; //iomanipを使い書式指定 string str = sout.str(); //string型に変換 cout...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: 弾幕STGにおける弾の描画順序について
返信数: 4
閲覧数: 768

Re: 弾幕STGにおける弾の描画順序について

回答ありがとうございます。 std::listを用いて弾を管理してみました。 現在参考にしているサイト様に影響され、bulletはEnemyが持つ構造体となっています。よって登録処理や 移動処理が全てEnemy.cpp内に存在しますが前面云々に関しては一応解決していますので一度解決とさせていただきます。 申し訳ないのですが、Dixqさんが提示してくれたコードが(私の読む技術がなさすぎて)読めないので... 申し訳ないですが、現在悩んでる別クラス間の座標の受け渡しに関してもトピックを建てようと思っているので、その時に合わせてお願いします。 現状当たり判定は実装できていませんが、6万ほど弾を描画し...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: 弾幕STGにおける弾の描画順序について
返信数: 4
閲覧数: 768

Re: 弾幕STGにおける弾の描画順序について

回答ありがとうございます。  まずZバッファに関しては、弾の登録時間(後から追加)ごとにZ座標を与えてやれば、先頭から描画したとしても、後の方から登録された弾のほうが前面 に描画されるのでは、という意味で書き込みました、が、ご指摘通りおそらくZバッファに関する知識が曖昧なので今回は別の方法を採用したいと思います。  配列とは別にstd::listを用いた方法、とのことですが「フラグが降りるタイミングでリストから削除」とありますが、その時点で削除された部分は空白になるのでしょうか? あるいは自動的に先頭、または末端に詰められるのでしょうか...? リストにも順番が存在するとすれば、やはりリストの...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の表示
返信数: 5
閲覧数: 1200

Re: 画像の表示

本当にすべて最初からやり直しましたか?
プロジェクトにWin32プロジェクトが選択されていますか?
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: 弾幕STGにおける弾の描画順序について
返信数: 4
閲覧数: 768

弾幕STGにおける弾の描画順序について

いつもお世話になっております。 現在C++ DxLib ver 3.16bを用いて弾幕STGを作成しており、 その中で敵弾の登録、及び描画の際の描画順序に関して悩んでおります。 開発環境 VS Community 2015 具体的に言うと、大量に弾幕が描画され、弾同士が重なる場合、通常あとに発射された弾が後ろにあるように見えるのが普通であり、 ほとんどのSTGにおいてそうなっているかと思いますが、現在の弾の登録の実装方法だと先頭からフラグが立っていない要素を探し 初期化する方法をとっているため、弾が画面外に出て削除された場合に弾の描画順序が前後することがあります。 これらの管理方法として調べた...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の表示
返信数: 5
閲覧数: 1200

Re: 画像の表示

まず、画像のロードはメインループ外で行うべきです。それにメインループ最後にWaitKeyを置いているのはなぜでしょう、
リフレッシュレートで動作するゲームを作成している場合必要が無いかと思います
加えてそのエラーはDXライブラリを使用する際のプロジェクトの設定にて、
文字セットをUnicodeのままにしている可能性があります。マルチバイト文字を使用するように設定を変更してください。
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: キャラクターの移動について
返信数: 7
閲覧数: 990

Re: キャラクターの移動について

さっきのやつは色々とおかしかったので少し修正しました。 ・まず提示されたコードの19行目がピリオドでなくコンマが使われています。 ・ else if~が大量に出現するのはマズい、というか自身でも何がどうなっているのか理解できなくなってしまいそうなので、 そんなことなかったです。 斜め移動時に  フラグを立て、斜め移動した後は純粋な横、縦移動をしないように作ってみるとそれなりの動きをしてくれました。 ・ 実数型を使われているのでしょうか? 切り落とされて移動できない可能性もあります。 こちらではfloatにしました  初期化部より実数型なのでしょう。 ご確認ください。 というか殆どコンマのせいに...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: キャラクターの移動について
返信数: 7
閲覧数: 990

Re: キャラクターの移動について

とりあえず動かしてみたかったので最小限で動くようにしてみました。 #include "DxLib.h" #include <math.h> int key[256]; int key_update(int key[]) { char all_key[256]; GetHitKeyStateAll(all_key); int i; for (i = 0;i<256;i++) { if (all_key[i] != 0) key[i]++; else key[i] = 0; } return 0; } int slow_move(int *x, int *y, int *key) { if (ke...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: DxlibのMovieについて
返信数: 4
閲覧数: 755

Re: DxlibのMovieについて

こちらでも試してみました。 再生ファイルの拡張子ogvより Theora + Vorbisだと思います。 とりあえずその形式でこちらで適当な動画をエンコードした結果音がなりませんでしたので、恐らく仕様かと思います。 というわけで音だけでエンコードして同時に再生させました。 ループ内で再生する場合ならば #include "DxLib.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK); SetWi...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリーについて
返信数: 3
閲覧数: 892

Re: Dxライブラリーについて

よくわからないですが、とりあえずこちらの説明に従いもう一度導入しなおしてみたらどうでしょうか。
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: 桁数の数え方
返信数: 6
閲覧数: 748

Re: 桁数の数え方

インデントがぐちゃぐちゃ(というか最後のカッコが抜けてる?)ですので揃えることを意識してください。 #include <iostream> int main(void) { using std::cout; using std::cin; int a; int keta = 0; cout << "整数値を入力せよ:"; cin >> a; do { a = a / 10; keta++; } while (a); cout << "その数は" << keta << "桁です。\n"; cin.ignore(); getchar(); return(0); } 一行一行何をしているか書き出して...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: この画像を歩かせるにはどうしたらいいですか?
返信数: 5
閲覧数: 810

Re: この画像を歩かせるにはどうしたらいいですか?

全く貴方の開発環境に関して記されていないし、また「こちらのほう」が何を指しているのかがわからないのでなんとも言えないですが... 予想で書くと、 とりあえずその画像のキャラあたりの画像サイズとかがよくわからないので、横3、縦4分割させていると考え、キーボードのアローキーで 動かすなら、 1,下が押されるとき 0 -> 1 -> 2 -> 0 -> 1 ... 2,左が押されるとき 3 -> 4 -> 5 -> 3 -> 4 -> 5 ... ...以下同様 のように値を変化させるコードを書けばよいかと思います。 その方法は ここらへん が参考になると思います。 そして、この掲示板にはフォーラム...
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: ■ 新年の挨拶トピック~2016~ ■ 今年の抱負 ■ [雑談]
返信数: 7
閲覧数: 1942

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

あけましておめでとうございます。

今年の目標は受験勉強と志望校に対するモチベの向上と合格すること、PCの使用時間を減らして勉強に割り当てれるように頑張る事。あと大学で具体的に何をしたいのかを明確にしたい
などなど...できんのかねコレ、 とりあえず大学が先で、合格したらプログラミングにふけるんだ...!
まぁ合否が分かるのは一年以上先の話ですし、また来年のスレッドで
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: C言語
返信数: 7
閲覧数: 638

Re: C言語

まず現時点で、返り値に計算結果が必要であるので関数の型はcomplex_numberである必要があります。
複素数同士の計算と言うのは調べれば出てくる(高校の数IIで習った)のでその通りに実装すればよいかと思います。
by Hiragi(GKUTH)
3年前
フォーラム: C言語何でも質問掲示板
トピック: 最近DXライブラリを始めたのですが・・・
返信数: 6
閲覧数: 975

Re: 最近DXライブラリを始めたのですが・・・

DxLibフォルダを特定の場所に置くのは一度だけでいいかと思いますが、プロジェクトの設定からはプロジェクトを作成するごとにする必要があります。
テンプレート化させることも出来ると思いますが、私は毎回これらの設定を行っています。 慣れれば5分とかからず終わっちゃうので
面倒だと思ったことはあまりありません。
by Hiragi(GKUTH)
4年前
フォーラム: C言語何でも質問掲示板
トピック: VisualStudio2010でディレクトリ
返信数: 4
閲覧数: 648

Re: VisualStudio2010でディレクトリ

ドライブラベル:\Users\Username\Documents\Visual Studio 2010\ ココ以下のディレクトリはアンインストールしても保持されるかと思います。 というわけでココの中のSettingsなるフォルダを削除して、再生成させればいいんじゃないでしょうか?(未検証ですし本当に設定が全て消える気がしますけど) 或いは普通にIDEから「設定を初期値に戻す」、のような選択肢が有る気がするのでそれを押せば済む話ではないでしょうか、 ソリューション自体の設定ならば拡張子.suoのファイルが設定ファイルを指してると思いますのでそれを削除すればよいかと思います(一応バックアップ等は...
by Hiragi(GKUTH)
4年前
フォーラム: C言語何でも質問掲示板
トピック: 宣言した変数の用量は中身の値に関わらず一定ですか?
返信数: 9
閲覧数: 1486

Re: 宣言した変数の用量は中身の値に関わらず一定ですか?

容量、といいますか、int型が宣言された時点で32bit(或は16bit)はメモリ上で「確保」されますので、その確保されたところに値を書き込む感じでしょうか、
良くある例で言うならば、変数は箱であるとよく比喩されますが、箱の中にどんな値を入れようとも箱の大きさは変わらんわけです。
メモリー内部では大きな値の分メモリセルの状態が1である(ONである)から容量が変わってるといえなくはないかもしれませんが...

画像ハンドルに関しては、int型の変数に画像そのものが入ってるわけではなく、int型の変数に入るのは画像の位置を示す情報であるということです。
by Hiragi(GKUTH)
4年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリについて
返信数: 3
閲覧数: 799

Re: DXライブラリについて

コード:

LoadGraphScreen(50,100, "画像/キャラクタ00.png",TRUE);/*画像を描写する*/
この部分の""で挟まれている部分をその画像への絶対パスにして実行してみてください。
表示されればパスの指定が間違っているかと思われます。
by Hiragi(GKUTH)
4年前
フォーラム: C言語何でも質問掲示板
トピック: 浮動小数点の科学記法と整数のキャスト
返信数: 9
閲覧数: 2183

Re: 浮動小数点の科学記法と整数のキャスト

恐らくint型の扱える値の大きさを超えてるんじゃないですかね。
1.23456e+789 = 123456000000...
int型は -2147483648~2147483647しか表現できなかった気がします。
by Hiragi(GKUTH)
4年前
フォーラム: C言語何でも質問掲示板
トピック: 横アクションげーむのジャンプのやりかた
返信数: 4
閲覧数: 815

Re: 横アクションげーむのジャンプのやりかた

適当ですが、とりあえずボタンの押す時間によってジャンプ力が変わるようなモノを作ってみました。 コピペで動きます。 ただし、左右移動はできませんし、何しろこのままでは見た目が不自然すぎます。 もっと改善する必要があるでしょう。 それに、このコードは考え方の一つに過ぎませんので、もっと別の方法、効率のいい方法もあるかと思います。そこらへんは調べるなり考えるなりして頑張ってください。 #include "DxLib.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { //アプリ初期化 ChangeWindowMode(TRUE); //...
by Hiragi(GKUTH)
4年前
フォーラム: C言語何でも質問掲示板
トピック: 横アクションげーむのジャンプのやりかた
返信数: 4
閲覧数: 815

Re: 横アクションげーむのジャンプのやりかた

これだ!といった書き方は無いので、それっぽく見せるしかありません。 以前私もソレをしてみようとしました。完全に参考にならないかと思われますが、
一応おいておきます。
http://climbi.com/b/3527/0

そもそもボタンの押し具合によってジャンプ力が変化するというのは現実の物理法則に反しているので、完全な再現はありません。
それっぽく見えればいいのです。

ジャンプボタンが押されている時とそうでないときで、落下速度を変化させるなどで対応すると良いかもしれません。
by Hiragi(GKUTH)
4年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]クリックしたらボールが発生して自由落下
返信数: 18
閲覧数: 5400

Re: [C++]クリックしたらボールが発生して自由落下

このままだとクリックしている間はずっとボールが放出され続けてしまいます、クリックされた瞬間だけ、ボールを追加する必要があります。
加えてマウスの座標はメインループ外で取得しているので、プログラム起動時の位置しか取得できないのでは?(間違っていたらすいません。)
特にsoftyaさんも仰っていますが、毎フレーム ロード->描画を繰り返すのは良くないと思います。Show関数も同じように画像のロード部分はメインループ外でするべきです。
by Hiragi(GKUTH)
4年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]クリックしたらボールが発生して自由落下
返信数: 18
閲覧数: 5400

Re: [C++]クリックしたらボールが発生して自由落下

クリックされると、フラグが立って、フラグが立ったボールを処理する...
などといった方法が簡単だと思いますが。

取りあえず現状のソースコードを張ってみてください。

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