検索結果 39 件

by elle
9年前
フォーラム: C言語何でも質問掲示板
トピック: 簡易ぷよぷよを作ってみました
返信数: 5
閲覧数: 4140

Re: 簡易ぷよぷよを作ってみました

>新ゝ月さん ありがとうございます。 どの点も納得しました。 特に最後のコード例のような書き方を実はほとんどしたことがなく、 クラスの機能やSTLを勉強してC++を勉強した気になっていましたが、オブジェクト指向の考え方が身についていませんでした。 まだCの考え方が染みついていたようです。 ちょっと消化不良気味なのでもう少し概念を調べてコードを書き直したいと思います。 >へにっくすさん ご意見ありがとうございます。 キーの配置は、一般的な、WSADが上下左右に対応する形にしました。 Xが下というのは慣れない人が多いのでは…。 逆回転、タイトル画面と終了確認については、入れてみたいと思います。 一...
by elle
9年前
フォーラム: C言語何でも質問掲示板
トピック: 簡易ぷよぷよを作ってみました
返信数: 5
閲覧数: 4140

Re: 簡易ぷよぷよを作ってみました

>新ゝ月さん 返信ありがとうございます。 ここまで詳しく意見をいただけるとは思っていませんでした。 それぞれについての私の考えは以下です。 なぜファイルを分割しないのか。 これはすいません、追加追加でそのままになっていて、分割するのを見過ごしていました。 なぜ入力もゲームもシングルトンなのか。 どちらもゲーム内で必ずただ一つ存在するものという意図でしましたが…ゲームはシングルトンでない方がいいでしょうか? enum{ KEYMAX = 256, }; はstatic const uint KEYMAX = 256ではだめなのか。 C++11を使うならenumハックは不要なはず。 enum{ I...
by elle
9年前
フォーラム: C言語何でも質問掲示板
トピック: 簡易ぷよぷよを作ってみました
返信数: 5
閲覧数: 4140

簡易ぷよぷよを作ってみました

練習として、ぷよぷよ風ゲームを作ってみました。 (音もエフェクトも何もないですが…) ぷよぷよ風ゲーム.zip 気になった点や、「ここが改善できる」という点をご指摘ください。 設計の話から、push_backをemplace_backにするというような点まで何でも構いません。 個人的にはGame::BlockDrop()関数の前半の処理がやや醜く感じるのと、Draw()で現在のぷよとボードのぷよのインデックスの指定がややこしくなってしまっているのが気がかりです。 ソースは添付ファイルにも同梱しましたが、こちらにも載せます。 #include <utility> #include <list> ...
by elle
10年前
フォーラム: 作品お披露目掲示板
トピック: カスタマイザブルな15パズル
返信数: 7
閲覧数: 14018

Re: カスタマイザブルな15パズル

>h2so5さん
なるほど…そのやり方は思いつきませんでした。
確かにこの方が拡張子が直感的にテーブル化できますね。
そのやり方で実装してみました。
by elle
10年前
フォーラム: 作品お披露目掲示板
トピック: カスタマイザブルな15パズル
返信数: 7
閲覧数: 14018

Re: カスタマイザブルな15パズル

>h2so5さん ご指摘ありがとうございます。1点を除いていずれも修正しました。 正規表現よりはbasic_path::extensionをつかって比較したほうが良いような気がする これについてなのですが、string_typeが返るようなので // 疑似コード string ext = extension(); if(ext == ".jpg" || ext == ".png" || ...) のような形になってしまうように思うのですが、やはり正規表現よりbasic_pathを使った方がいいのでしょうか… >みけCATさん プレーありがとうございます。 移動音を指定していない状態だと、移動す...
by elle
10年前
フォーラム: 作品お披露目掲示板
トピック: カスタマイザブルな15パズル
返信数: 7
閲覧数: 14018

Re: カスタマイザブルな15パズル

ソースコードを埋め込もうと思ったらやはり投稿できないようなので添付にしました。
(追記)一番上のトピックにまとめました。不慣れですみません。

しかし200行くらいの予定がどんどん追加されていってGodClassになってしまった…。
少なくともkeyとmouseくらいは分けた方が良かったかもしれないですね。
by elle
10年前
フォーラム: 作品お披露目掲示板
トピック: カスタマイザブルな15パズル
返信数: 7
閲覧数: 14018

Re: カスタマイザブルな15パズル

文章が投稿できてなかったので…(内容が長いと投稿できない?) 15パズルを作ってみました。 主なFeatureは次の通りです。 ・画像(bmp|jpeg|jpg|png|dds|argb|tga)をドラッグアンドドロップするとその画像でゲームができます。 ・フォルダをドラッグアンドドロップすると、フォルダ内からのランダムになります(奥の階層も含めます)。 ・音声ファイル(wav|mp3|ogg)をドラッグアンドドロップすると移動音がその音になります。 ・これもファルダをドラッグアンドドロップすると、そのフォルダ内からランダムで移動音として再生されます。 ・Rキーを押すと同じ配置で、Nキーを押す...
by elle
10年前
フォーラム: 作品お披露目掲示板
トピック: カスタマイザブルな15パズル
返信数: 7
閲覧数: 14018

カスタマイザブルな15パズル

※修正しました(2014/5/31 20:59)
(致命的なバグを見落としていました。if文内のboolが逆でした)
※修正しました(2014/6/1 14:31)
※修正しました(2014/6/1 14:44)
※修正しました(2014/6/1 17:20)
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの拡張子を判別する方法について
返信数: 6
閲覧数: 4870

Re: ファイルの拡張子を判別する方法について

>h2so5さん

なるほど…。
また正規表現で問題が出るようであればBoostの導入も検討してみます。
ありがとうございました。
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの拡張子を判別する方法について
返信数: 6
閲覧数: 4870

Re: ファイルの拡張子を判別する方法について

>h2so5さん

あ、すいません、MSVC2013EEを使用してます。
ということはMSVCも同じバグ…ということですね。
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの拡張子を判別する方法について
返信数: 6
閲覧数: 4870

Re: ファイルの拡張子を判別する方法について

>h2so5さん

ありがとうございます!期待通りにマッチしました。
$が蛇足だったのですね。

(追記:解決押し忘れてました。)
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの拡張子を判別する方法について
返信数: 6
閲覧数: 4870

ファイルの拡張子を判別する方法について

こんばんは。 stringに格納されたファイルパスから拡張子を判別する方法についてお聞きします。 具体的にはそのファイルパスがDXライブラリで使用できる音声ファイルであることを確かめたいと思っています。 (更に具体的に言うと、ドラッグアンドドロップされたファイルが音声ファイルならある処理を、画像ならある処理を、それ以外ならMessageBoxという風にしたいと考えています) テスト用に下のコードを書きました。 #include <regex> #include <iostream> #include <string> int main() { // str1とstr3が正しいwavファイルのパ...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングの館24章について(管理人さんへ)
返信数: 2
閲覧数: 2095

Re: 龍神録プログラミングの館24章について(管理人さんへ)

失礼しました。先を見たら違うことが分かりました。 24章では「func.hを追加」と書いてあるのにすぐ下は「func.cppを変更」となっていたのでfunc.cppが正しいのかと思っていましたが、 正しいのはfunc.hのほうでした。混乱してしまいました。 そしてboss_shot.cpp上部に必要なのはextern~~ではなく#include "../include/func.h"ですね。 整理すると、 1. 誤記 2. func.cppを変更 → func.hを変更 3. boss_shot.cppに#include "../include/func.h"の追加が必要である旨 の3点が気付...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングの館24章について(管理人さんへ)
返信数: 2
閲覧数: 2095

龍神録プログラミングの館24章について(管理人さんへ)

24章「ボスを作ってみよう」についてですが、 ページ下部、func.cppで関数ポインタ配列を定義した後に、 これをboss_shot.cppで使用するために extern void(*boss_shot_bullet[DANMAKU_MAX])(); をboss_shot.cppの先頭に追加する必要があります。 また、こちらはやや些細な点ですが、最初の---- boss_shot.cpp を変更 ----のinput_phy()関数が、 void input_phy(int t){//t= 移動にかける時間 doubleymax_x,ymax_y;if(t==0)t=1; boss.phy....
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングの館17章~18章
返信数: 4
閲覧数: 2666

Re: 龍神録プログラミングの館17章~18章

Tatuさん

ありがとうございます!その通りでした。
cshot.cppのcalc_cshot()関数にcshot.cnt++;を追加したら期待した動作になりました。
cshot.cppの方に原因があったんですね。
紹介されていた差分ソフトを使って何やら違う部分があるなとは思っていたのですが、
cshot.cnt > 0の部分が影響していることを見落としていました…。
ありがとうございました。
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングの館17章~18章
返信数: 4
閲覧数: 2666

Re: 龍神録プログラミングの館17章~18章

Tatuさん あ…すいません、18章の間違いでした。 17章のプロジェクトをベースに、18章の内容を作成している形です。失礼しました。 龍神録プログラミングの館18章 の一番下の実行結果のように、敵に当たって敵の体力を全て削ったら敵が消える、というのが期待する結果です。 コード以外に変更したことと言えば、「error LNK2026: モジュールは SAFESEH イメージには安全ではありません。」に対処するために プロジェクト>プロパティ>構成プロパティ>リンカー>詳細設定>安全な例外ハンドラーを含むイメージ を いいえ (/SAFESEH:NO)にしたくらいです。 原因は別の箇所にあるので...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングの館17章~18章
返信数: 4
閲覧数: 2666

龍神録プログラミングの館17章~18章

こんばんは。 今、龍神録プログラミングの館17章の部分を試しています。 一通り打ち込んだのですが当たり判定の部分だけが期待した動作にならず(弾が素通りしてしまいます)、 最終的にはweb17章のページから丸々コピー&ペーストしたのですが、これでもうまくいきませんでした。 (が、18章から起動すると上手くいくようです。) 具体的には、 void out_main() { int i, s; for (i = 0; i<CSHOT_MAX; i++){//自機ショット総数 if (cshot[i].flag>0){ for (s = 0; s<ENEMY_MAX; s++){//敵総数 if (e...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの暗号化の処理で行き詰っています
返信数: 23
閲覧数: 8748

Re: テキストファイルの暗号化の処理で行き詰っています

h2so5さん
あ…本当ですか…_| ̄|○
知りませんでした…。
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの暗号化の処理で行き詰っています
返信数: 23
閲覧数: 8748

Re: テキストファイルの暗号化の処理で行き詰っています

h2so5さん そういうことでしたか…if文=重いもの、と思い込んでいました。 ということはやはりif文も工夫して使えばパフォーマンスに必ずしも悪影響ではないということですね。 関数の統合に関して今日改めて試行したところ、 暗号化の方が速度に差がない点は同じでしたが、復号化の方は * -1してる分10ms程遅くなっていました(なぜ気づかなかったのか…)。 ビット演算に変えたらほぼ同じ速度になりました。 やはりかかる時間の大部分は乱数の生成のようなので、XORShiftに変えたところさらに10msほど速くなりました(67ms)。 更に、リリースビルドにしたところ30ms(!)になりました。こんな...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの暗号化の処理で行き詰っています
返信数: 23
閲覧数: 8748

Re: テキストファイルの暗号化の処理で行き詰っています

h2so5さん
なるほど…確かにそうですね…。
逆アセンブルを確認してみると、純粋にje...jmpが1セット増えているだけでした。
jeが数万回増えるくらいでは動作に大きな影響はないということでしょうか。
if文は少ない方がいいと聞いたことがあったのですが、if文の負荷にもいろいろあるのですね。
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの暗号化の処理で行き詰っています
返信数: 23
閲覧数: 8748

Re: テキストファイルの暗号化の処理で行き詰っています

時間計測したら結構遅かったので高速化(というより遅すぎたのを改善)してみました。 上のコードでは3万行くらいのテキストの暗号化・復号化に2139ms程かかっていましたが、 1バイトずつ暗号化してたのを4バイトずつにすることにより540msほどになり、 mt19937をuniform_int_distriburionを取り除いて単に呼び出したら131msほどになりました。 更に、mt19937_64を使用することで88msほどになりました。 EncryptionもDecryptionもほぼ同じ処理なので、統合して内部で条件分岐したところ、 パフォーマンスの低下するかと思いきや、なぜかこちらの方が...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの暗号化の処理で行き詰っています
返信数: 23
閲覧数: 8748

Re: テキストファイルの暗号化の処理で行き詰っています

h2so5さん あ、自動で判別されると思っていました…。 ということは上のプログラムはまるまる1MBメモリ解放し忘れていたことに… 危ないところでした、ありがとうございます。 修正版: #include <iostream> #include <iomanip> #include <fstream> #include <string> #include <algorithm> #include <random> #include <memory> #include <typeinfo> using namespace std; typedef unsigned long long int ul...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの暗号化の処理で行き詰っています
返信数: 23
閲覧数: 8748

Re: テキストファイルの暗号化の処理で行き詰っています

h2so5さん そうだったのですか…。 私もバイナリ処理は試したのですが、なぜかその時はgetlineに固執していてどうしても最後にゴミ文字が出てしまうので諦めていました。 冷静に考えればbinaryでgetlineはまずかったですね。 バイナリで作りなおしてみました(更に、4Gを超えるテキストファイルにも対応?してみました)。 確かにこちらの方が作りやすいですね…。 #include <iostream> #include <iomanip> #include <fstream> #include <string> #include <algorithm> #include <random>...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの暗号化の処理で行き詰っています
返信数: 23
閲覧数: 8748

Re: テキストファイルの暗号化の処理で行き詰っています

h2so5さん あっ、そうでした…。ありがとうございます。 皆さんのアドバイスのおかげで完成しました! 長大なテキストなどでテストして完全一致したのでほぼ完成だと思います。ありがとうございます! (暗号化はちょちょいっとずらすだけかと思っていたのですが、これだけの処理が必要なのですね…) #include <iostream> #include <iomanip> #include <fstream> #include <string> #include <algorithm> #include <random> #include <typeinfo> using namespace std;...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの暗号化の処理で行き詰っています
返信数: 23
閲覧数: 8748

Re: テキストファイルの暗号化の処理で行き詰っています

ジャガさん
ありがとうございます。
水平タブは無かったと思います。
改良したコードでは、No.7の内容は正常に暗号化・復号化できました。
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの暗号化の処理で行き詰っています
返信数: 23
閲覧数: 8748

Re: テキストファイルの暗号化の処理で行き詰っています

みけCATさん ありがとうございます。返信が遅れてすいません。 ご意見を元にプログラムを改良しました。 (h2so5さん、見当違いな返信をしてしまいすいませんでした。) #include <iostream> #include <fstream> #include <string> #include <typeinfo> #include <algorithm> #include <random> #include <iomanip> using namespace std; // constants const int ENCRYPTION_OFFSET = 1; const string ...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの暗号化の処理で行き詰っています
返信数: 23
閲覧数: 8748

Re: テキストファイルの暗号化の処理で行き詰っています

みけCATさん すいません、早とちりしてました。 みけCATさんがNo.2で提示されたコードは正確に結果が出力されますね。 失礼しました。 何パターンか試してみましたが、日本語との絡みも含めて0x5c(\)もそのまま表示できるように思えましたので、 おっしゃる通りエスケープシーケンスの追加は蛇足でした。 別の箇所に原因が有るのでしょうか…。 #include <iostream> #include <fstream> #include <string> #include <typeinfo> #include <algorithm> #include <random> #include <io...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの暗号化の処理で行き詰っています
返信数: 23
閲覧数: 8748

Re: テキストファイルの暗号化の処理で行き詰っています

みけCATさん
エスケープなしで、No.1の2番目ような結果になってしまったので、
このページなどを見て入れた方がいいのかと思ったのですが、
入れても入れなくても正しい結果にならないということは別の原因が有るのかもしれません…。

定数でずらす方でこの関連をもう少し試してみます。
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの暗号化の処理で行き詰っています
返信数: 23
閲覧数: 8748

Re: テキストファイルの暗号化の処理で行き詰っています

みけCATさん
あ…こんな簡単なことを見落としていたとは…
たしかにそのstringだと自分のコードでは無限ループになりますね。(そしてその状態が出現して無限ループになっていたのですね)
そうしますと、文字コードでずらすのは困難で、アルファベットをずらすようにするべきでしょうか…

h2so5さん
改行コードに変換された場合でも、そこでgetlineが区切られますので、
読み込んだ後に改行コードを末尾に追加することで(63~64行目)元の文を復元していますので、
この点に関しては問題はない…つもりです。
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの暗号化の処理で行き詰っています
返信数: 23
閲覧数: 8748

テキストファイルの暗号化の処理で行き詰っています

こんばんは。 今私は、テキストをシーザー方式で暗号化するプログラムを作っています。 ただし文字をずらすのではなく、文字コードをずらしています。 純粋に定数分だけずらすことはできたので、ずらす値を乱数で取得する、ちょっとした改良版のようなものを作っています。 同じシード値を与えて逆方向にずらせば平文が得られる形です。 プログラムとしては、標準入力でファイルパスを取得し、(encrypted)という名前を付加した新規ファイルに暗号化結果を書き込み、 もしパスに(encrypted)が含まれていれば復号処理にする流れにしました。 #include <iostream> #include <fstre...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: カメラの向いている方向にカメラを移動させたい
返信数: 15
閲覧数: 6858

Re: カメラの向いている方向にカメラを移動させたい

softyaさん ありがとうございます、仰るとおりでした。 const MATRIX rotateMatrix = MMult(MMult(MGetRotZ(rotate.z), MGetRotX(rotate.x)), MGetRotY(rotate.y)); if (keystate[KEY_INPUT_D]) cameraPos = VAdd(cameraPos, VTransform(VecPositiveX, rotateMatrix)); if (keystate[KEY_INPUT_A]) cameraPos = VAdd(cameraPos, VTransform(VecNeg...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: カメラの向いている方向にカメラを移動させたい
返信数: 15
閲覧数: 6858

Re: カメラの向いている方向にカメラを移動させたい

…!!!す、すごいです…!
まさにやりたかった動きそのものです。
行列の平行移動の部分を無効化する必要があったんですね。
綺麗に動いた瞬間感動しました…
お忙しい中お答えいただき本当にありがとうございます!!
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: カメラの向いている方向にカメラを移動させたい
返信数: 15
閲覧数: 6858

Re: カメラの向いている方向にカメラを移動させたい

以下のようなコードにしてみました。 #include "../dxlib_vc/DxLib.h" const float PI = 3.1415926525897932f; const float PI2 = 6.28318530718f; const int DC_WIDTH = 800; const int DC_HEIGHT = 600; const int KEYMAX = 256; const float ROTATE_AMOUNT = PI2 / 360; const float MOVE_AMOUNT = 10.0f; int WINAPI WinMain(HINSTANCE h...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: カメラの向いている方向にカメラを移動させたい
返信数: 15
閲覧数: 6858

Re: カメラの向いている方向にカメラを移動させたい

ありがとうございます。そうしますと、こうでしょうか? const float moveAmount = 0.1f; const VECTOR VecPositiveX = VGet(+moveAmount, .0f, .0f); const VECTOR VecNegativeX = VGet(-moveAmount, .0f, .0f); const VECTOR VecPositiveY = VGet(.0f, +moveAmount, .0f); const VECTOR VecNegativeY = VGet(.0f, -moveAmount, .0f); const VECTOR V...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: カメラの向いている方向にカメラを移動させたい
返信数: 15
閲覧数: 6858

Re: カメラの向いている方向にカメラを移動させたい

こうでしょうか? const MATRIX convMat = MInverse(GetCameraViewMatrix()); if (keystate[KEY_INPUT_A]) cameraPos = VTransform(cameraPos, MMult(convMat, MGetRotX(-PI2 / 360))); if (keystate[KEY_INPUT_D]) cameraPos = VTransform(cameraPos, MMult(convMat, MGetRotX(+PI2 / 360))); if (keystate[KEY_INPUT_W]) cameraPo...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: カメラの向いている方向にカメラを移動させたい
返信数: 15
閲覧数: 6858

Re: カメラの向いている方向にカメラを移動させたい

みけCATさん、softyaさん、ありがとうございます。 その方法を参考に試行錯誤しているのですが、 const float moveAmount = 0.1f; const VECTOR VecPositiveX = VGet(+moveAmount, .0f, .0f); const VECTOR VecNegativeX = VGet(-moveAmount, .0f, .0f); const VECTOR VecPositiveY = VGet(.0f, +moveAmount, .0f); const VECTOR VecNegativeY = VGet(.0f, -moveAmou...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: カメラの向いている方向にカメラを移動させたい
返信数: 15
閲覧数: 6858

カメラの向いている方向にカメラを移動させたい

今3Dで簡単なプログラムを作っていて、つまづいています。 やりたいことはタイトルの通りなのですが、とりあえず最初に移動と周囲の見渡しができるように書いたコードが以下です。 #include "../dxlib_vc/DxLib.h" const float PI = 3.1415926525897932f; const float PI2 = 6.28318530718f; const int DC_WIDTH = 800; const int DC_HEIGHT = 600; const int KEYMAX = 256; const float ROTATE_AMOUNT = PI2 / ...
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXの構造体名に含まれる「DESC」って何の略でしょうか?
返信数: 4
閲覧数: 5083

Re: DirectXの構造体名に含まれる「DESC」って何の略でしょうか?

ありがとうございます!
describeでしたか…これは気が付きませんでした。
皆さんありがとうございました。
by elle
10年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXの構造体名に含まれる「DESC」って何の略でしょうか?
返信数: 4
閲覧数: 5083

DirectXの構造体名に含まれる「DESC」って何の略でしょうか?

こんにちは。
DirectXを勉強中の身です。
ふと疑問に思ったのですが、DirectXでは
DXGI_SWAP_CHAIN_DESC や DXGI_MODE_DESC や DXGI_SAMPLE_DESCなど、
構造体名にDESCがついているものをよく見ます。
いろいろ調べてみたのですが、特にこのことについて書いているページが見つからず、
プログラミングに関係ないページでdescendの略という記述はありましたが、
降順ソートとも関係なさそうですし、enumとの関係性かとも思いましたが、どうも腑に落ちません。
この「DESC」は何を表しているのでしょうか?

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