検索結果 82 件

by moba
4年前
フォーラム: C言語何でも質問掲示板
トピック: ダウンロードを逐次実行するCLIツールの制作
返信数: 7
閲覧数: 10697

Re: ダウンロードを逐次実行するCLIツールの制作

訂正:
queueファイルの監視者のみnohupで永続させて、
ダウンロード用コマンド = queueファイルへの追記としようと思います。
by moba
4年前
フォーラム: C言語何でも質問掲示板
トピック: ダウンロードを逐次実行するCLIツールの制作
返信数: 7
閲覧数: 10697

Re: ダウンロードを逐次実行するCLIツールの制作

> inux nohupコマンド
ありがとうございます。まさにこれですね!
サーバー、ソケット、TCPみたいな技術無しで動きそうです。

> 説明不足
すみません、こちらの理解不足だと思います。
バックグラウンド実行 = 行末の&(ドル記号)だと思い込んでいました。

> queue
tmpファイルにプロセスIDを保存し、先頭のID=このプロセスのIDになったら実行
などとやってみようと思います。

ありがとうございました!
by moba
4年前
フォーラム: C言語何でも質問掲示板
トピック: ダウンロードを逐次実行するCLIツールの制作
返信数: 7
閲覧数: 10697

Re: ダウンロードを逐次実行するCLIツールの制作

> ターミナルからシェルスクリプトをバックグラウンド実行すれば、ターミナルを閉じても
> ダウンロードプロセスは、終了しません。

そうですか? 僕はwget以外のコマンドを使っているのですが、どうも
ターミナルを閉じた瞬間にプロセスも閉じられているように思います。

> 並列実行を避ける方法として、

コマンドの入力順と実行順が変わるかもしれませんが、
並列実行は避けられますね。ありがとうございます。
by moba
4年前
フォーラム: C言語何でも質問掲示板
トピック: ダウンロードを逐次実行するCLIツールの制作
返信数: 7
閲覧数: 10697

Re: ダウンロードを逐次実行するCLIツールの制作

tanu_kichiさん、返信ありがとうございました。

たぶん勧められたのは、直前のプロセスが終わるのを待ってから実行される
バックグラウンド・プロセスだと思います。

この方法の問題点を、次のように僕は認識しています。

・ターミナルを閉じるとプロセスが終了する
・別のターミナルから実行した場合、逐次実行にならない(並行&逐次実行ではなく、並列実行になってしまう)

何か別の方法があるといいのですが……。
by moba
4年前
フォーラム: C言語何でも質問掲示板
トピック: ダウンロードを逐次実行するCLIツールの制作
返信数: 7
閲覧数: 10697

ダウンロードを逐次実行するCLIツールの制作

特定サイト用のダウンローダ(コマンドラインツール)を作りたいです。 バックグラウンド実行やメッセージ関連の技術について教えてください。 次のような使い方を想定しています。 $ dl <指示1> $ dl <指示2> (ターミナルを閉じる) (<指示1>に対応するファイルが、このマシンにダウンロードされる) (<指示2>に対応するファイルが、このマシンにダウンロードされる) ポイントは、次の4点です。 ・ダウンロードはバックグラウンドで実行される ・ダウンロード用プロセスの寿命は、ターミナルの寿命から独立している ・ダウンロードは同時に1つのみ(相手側サーバの負荷軽減のため) ・ダウンロード中に...
by moba
5年前
フォーラム: C言語何でも質問掲示板
トピック: shell) 連番のテキストファイルの内容を連結
返信数: 5
閲覧数: 3917

Re: shell) 連番のテキストファイルの内容を連結

> かずま さん 質問文の読み込みと、返信をありがとうございます! > ファイル名にスペースが入っているんでしょうか? はい、入っています。 > for f in $(<command>); do .. 盲点でした。ありがとうございます。 > for の do 中の cat $f 読み込みに失敗するファイルがあり、cat "$f" だと読んでくれました。 > xargs -d '\n' xargs: illegal option -- d と出ました。 GNU専用でMacには無いオプション、と、どこかで読んだ気がします。 現環境(Mac)では、改行ではなくヌル文字区切りで行こうと思います。 >...
by moba
5年前
フォーラム: C言語何でも質問掲示板
トピック: shell) 連番のテキストファイルの内容を連結
返信数: 5
閲覧数: 3917

shell) 連番のテキストファイルの内容を連結

shell) 連番テキストファイルの内容を連結するワンライナ  こんばんは! お世話になります。  シェル初心者です。シェルの使い方について、質問させてください。環境はbash (OS X) です。  複数のテキストファイルの内容を、改行3つで区切って、連結したいです。  たとえば、ディレクトリ下のファイルが…… ファイル名 テキストの内容 a.txt    "ああああ" b.txt    "いいいい"  となっていた場合、"ああああ\n\n\nいいいい" という出力が欲しいです。  "ああああ\n\n\nいいいい\n\n\n"でも妥協できます。  今回は特に、ファイル名が連番で始まるテキスト...
by moba
5年前
フォーラム: C言語何でも質問掲示板
トピック: 縦書き対応のテキストエディタを組むための環境は
返信数: 0
閲覧数: 9854

縦書き対応のテキストエディタを組むための環境は

 こんばんは。mobaです。お世話になりますm(_ _)m [質問]  縦書き対応のプレインテキストエディタを作りたいです。そのため、Windows対応の制作環境を探しています。GUIフレームワークなどに、おすすめがあれば教えてください。 - GUIツールは使わずに、コードを書いて作りたいです。 - 範囲選択、redo/undoなどが実装済みの環境を探しています。 - 英語は読めます [背景]  MS Wordが不便なので、機能を省き、UIを改善したものが欲しいと思っていました。  PyQt5で組んでみたのですが、やはり縦書きのエディタもほしくなりました。 [リサーチ]  検索して見つけたのは...
by moba
7年前
フォーラム: C言語何でも質問掲示板
トピック: RPGでたまに見かける戦闘ログのようなものを作りたいのですが...
返信数: 2
閲覧数: 2004

Re: RPGでたまに見かける戦闘ログのようなものを作りたいのですが...

質問文からでは、どううまくいかなかったのか分からないです。 いくつか気づいた点だけ挙げていきますね。 * logFlagという名前では何のフラグか分かりません wiiChangeSizeなど、名前を変えるのがいいかもしれません。 * 変数の命名規則を見直した方が良さそうです ローカル変数が小文字で始まると、一瞬型名かと思ってしまいます。 * staitcなローカル変数をメンバ変数のように使うのは避けたほうがいいです ただのメンバ変数にしておきましょう。 * ログは環状バッファで蓄えるのが良さそうです 少なくとも、配列やコレクションクラスを使えば、一回分のメッセージを取り出すのが楽になります。こ...
by moba
7年前
フォーラム: C言語何でも質問掲示板
トピック: XNAについて
返信数: 4
閲覧数: 3503

Re: XNAについて

僕は何も知らないのですが、XNAのAPIがとても綺麗だ、とインテリっぽい人たちが言っていました。
XNAを書き直したものといて、FNAというのもあるみたいですね。作るときにはMonoGameを使用し、リリース時にFNAを使うケースもあるらしいです。(ただし、FNAで読み込めるようにするために、素材の変換に一手間かかるとか)。
by moba
7年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]先に値型の変数を返して、後から参照でその値を変更したい
返信数: 6
閲覧数: 3605

Re: [C#]先に値型の変数を返して、後から参照でその値を変更したい

(1)の補足です。(2)のコードは省略します。 IEnmerable<SomeClassB> CoroutineB() { ... yield return; // nフレームのウェイトなどの処理を挟める ... yield return someClassInstance; // プロセッサに最終結果を返す(プロセッサが呼び出し元に渡す) yield break; } IEnunerable<SomeClassA> CoroutineA { ... yield return; // nフレームのウェイトなどの処理を挟める ... var result = YieldTo(CoroutineB...
by moba
7年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]先に値型の変数を返して、後から参照でその値を変更したい
返信数: 6
閲覧数: 3605

Re: [C#]先に値型の変数を返して、後から参照でその値を変更したい

すみません、背景を端折って質問していました。次から背景まで書きます<(_ _)> IEnumerable<T>を返値とする関数を呼ぶと作られるオブジェクト(のEnumerator)を、コルーチンと呼ぶことにします。 コルーチンAからBを呼ぶときに、次のようにしたいです。 ・コルーチンBが終了するまでコルーチンAに制御を戻さない ・コルーチンBの「最終結果」をコルーチンAに返す そのために、コルーチンを実行するオブジェクト(プロセッサと僕は呼んでいます)を用意しています。 プロセッサが上の2つを実現してくれます。 プロセッサがいる前提で、コルーチンAからBを呼ぶコードを2つ考えました。 (1) ...
by moba
7年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]先に値型の変数を返して、後から参照でその値を変更したい
返信数: 6
閲覧数: 3605

[C#]先に値型の変数を返して、後から参照でその値を変更したい

こんばんは。お世話になります。
C#で次のようなことをしたいです。

コード:

public void Test()
{
	var obj = new TestObject();
	var result = TestObject.MethodA(); // 値型の変数を受けとる
	TestObject.MethodB(); // 【!】resultの値が変更される
	// この行に来たとき、resultにMethodBの"結果"が入っている
}
どうしても上のように書きたいのですが、何か方法をご存知でしたら教えていただけませんか。
よろしくお願いします。
by moba
7年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイル内のソースコードを読み込んで動的に実行したい
返信数: 2
閲覧数: 2363

Re: テキストファイル内のソースコードを読み込んで動的に実行したい

返信が遅くなってすみません。
スクリプト言語について分かっていないと気づけたので、
よく調べてみようと思います。
Teppさんご回答ありがとうございました。
by moba
7年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイル内のソースコードを読み込んで動的に実行したい
返信数: 2
閲覧数: 2363

テキストファイル内のソースコードを読み込んで動的に実行したい

こんばんは。お世話になります。 いわゆる「マップイベント(ツクール用語)」にスクリプトを設定することを考えています。 例えば、以下のようなテキスト(json)ファイルの、script: にあたる部分を読み込んで実行したいです。 { NPCs: { { id:0 note: "Pythonのつもりで書きました" script: " var this = GetThisEntity() this.WalkTo(Dir.Left) #自分でどこかに定義した関数とクラスです this.WalkTo(Dir.Up) this.WalkTo(Dir.Up) " } { id:1 script: null ...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームの流れの実現と状態間のメッセージのやり取り
返信数: 1
閲覧数: 1679

Re: ゲームの流れの実現と状態間のメッセージのやり取り

すみません。自分で思いつきました。

3.渡してもらったインタフェイスでActionを返す

確信は持てませんが、これならいい気がしてきました。質問しておいてすみません…一応解決にしました。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームの流れの実現と状態間のメッセージのやり取り
返信数: 1
閲覧数: 1679

ゲームの流れの実現と状態間のメッセージのやり取り

 お世話になります_(._.)_  僕は誤解の塊で、手間がかかると思います…。  ゲームの「流れ」をなるべく状態遷移で実現したいです。そのための状態間のメッセージのやり取りで困っています。C++とVisual C++ Express 2010 Editonを使用しています。  スタック式のステートマシンを使っています。このステートマシンは、一番最後にPushされた状態のUpdate()を毎フレーム呼びます。  例えば、ドラクエ式のターン制の実装戦闘を考えています。Actorが全員用意されたとして、TurnProcess状態から始めます。プレイヤ(NeedsInput()の返り値がtrueのAc...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]std::make_sharedとアップキャスト
返信数: 2
閲覧数: 2541

Re: [C++]std::make_sharedとアップキャスト

ではこのケースでは、具体的に
std::make_shared<Base>( Derived() )
はどのように実行されますか。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]std::make_sharedとアップキャスト
返信数: 2
閲覧数: 2541

[C++]std::make_sharedとアップキャスト

お世話になります_(._.)_ Visual C++ 2010 Expressで次のように書きました。 コンパイルエラーの理由を教えていただけませんか。 #include <memory> class Base { public: virtual void Update() = 0; virtual ~Base() {} }; class Derived : public Base { void Update(){} }; void Test() { std::shared_ptr<Base> testA = std::make_shared<Derived>(); // エラーなし auto...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]暗黙の型変換
返信数: 7
閲覧数: 4644

Re: [C++]暗黙の型変換

ご回答ありがとうございました。
返信が遅れてすみませんでした。ずいぶんハードなところに迷い込んでしまったのですね…

精確ではないかもしれませんが、
"型を入力する部分で値を入力した場合、その値を引数に取る型のコンストラクタに変換される"
のように理解しておこうと思います。

例の1と2が『同じ型変換』ものかはともかく、同じ規則で理解できそうなので、
これで解決としました。ありがとうございました_(._.)_!
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]暗黙の型変換
返信数: 7
閲覧数: 4644

[C++]暗黙の型変換

お世話になります。2点質問させてください。 1点でした

■次の2つの型変換は、全く別のものなのでしょうか。それとも、同じ規則で起こるものなのでしょうか。

1)

コード:

class T {
	T(int);
}
// このとき
// T obj = 10; ⇔ T obj(10);
2)

コード:

class A{
public:
	A( int );
};
class B{
public:
	B( const A& );
};
void func(){
	// どうしてこれは動くのでしょうか
	B( 3 ); // ⇔ B( A(3) );
}
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]自壊と配置new、自動的な開放?
返信数: 2
閲覧数: 2078

Re: [C++]自壊と配置new、自動的な開放?

こんにちは。ご回答ありがとうございました。

> 配置new
引数の位置に領域を確保する、という意味のwebの文だけを読んで誤解していました。
(最後まで読めば全く違うことが書いてあったのですが…)

それと、デストラクタの明示的な呼び出しを誤解していました。
deleteと混同し、デストラクタを呼べば寿命になるのかと思っていました。

中身がすり替わっているのに、同じ領域を使っているから、元のオブジェクトのoperator delete(?)で開放できてしまうのが面白かったです。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]自壊と配置new、自動的な開放?
返信数: 2
閲覧数: 2078

[C++]自壊と配置new、自動的な開放?

お世話になります_(._.)_ picojsonというパーサを読んでいます。 分からないのは、以下に該当するコードです。deleteしていないのに、配置newしたオブジェクトがメモリリークしないのはなぜなのでしょうか。 template<typename T> inline void _parse( value& out, input<T>& in ) { out = value(); } class value { ~value(); value& operator= ( const value& x ); }; inline value& value::operator= ( const ...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: マップスクロールの考え方
返信数: 8
閲覧数: 5785

Re: マップスクロールの考え方

横から失礼します。 キャラはマス単位(グリッド制)で移動するけれど、画像だけピクセル単位で移動する感じでしょうか。 その場合でしたら、次のような変数名を付けると分かりやすいと思います。 ・gridX,Y : グリッド座標位置を表わす(マス単位の座標の意味) ・worldX,Y : 画像の、マップの左上を基準としたピクセル座標を表わす ・screenX,Y : 画像をウィンドウ画面に描画するときの、ウィンドウ(カメラ)を基準としたピクセル座標を表わす > カメラとは そうです、ウィンドウに描画される範囲だと思っていいと思います。 ゲームによっては、ウィンドウの一部分をカメラに使い、一部分に他の情...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [状態遷移]1フレーム待たずにすぐに次の状態のUpdate()をしたい(C++)
返信数: 5
閲覧数: 3239

Re: [状態遷移]1フレーム待たずにすぐに次の状態のUpdate()をしたい(C++)

> YuOさん ご丁寧なご回答をありがとうございました。理解のために背景知識まで教えていただいてとても助かります。 MVC等の言葉を知られただけでも、今後の手掛かりになりそうです。 実は、Inventory::Update()とInventory::Draw()で関数を分けるつもりでした。Draw()を書いていなかったので、意図が伝わらなかったのではないかと思います。すみませんでした。 State::Update()が複数の更新を担当したのは  カプセル化  (責任の)委譲のつもりでした。 ですが、よく考えると山ほど問題が出てきたので、ここは引っ込んでじっくり考えてみます。 ありがとうございま...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [状態遷移]1フレーム待たずにすぐに次の状態のUpdate()をしたい(C++)
返信数: 5
閲覧数: 3239

Re: [状態遷移]1フレーム待たずにすぐに次の状態のUpdate()をしたい(C++)

ご回答ありがとうございました_(._.)_ なぜか猛烈に不安になったのですが、 今回の件では、どちらも動けばそれで十分だったのかなと思いました。 不安でも、もう少し寝かせてから質問するべきだったかもしれません。 見て分かりやすいのでYuOさんの方法で行こうと思います。 > YuOさん たぶん伝わったと思いますが、InventoryはInventoryMenuのつもりでした。 Opening状態のUpdate内では、ウィンドウをアニメーションさせるための更新を含むつもりでした。 責務について、今の何がどうまずいか教えていただけませんか。 描画の更新と状態の更新で関数を分けるべきなのでしょうか。 ...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [状態遷移]1フレーム待たずにすぐに次の状態のUpdate()をしたい(C++)
返信数: 5
閲覧数: 3239

[状態遷移]1フレーム待たずにすぐに次の状態のUpdate()をしたい(C++)

お世話になります_(._.)_ 例にはC++を使っています。 状態を変えた時に、もう一度呼ばれるまで待たずに、 すぐに次の状態のUpdate()をしたいです。 switch文とStateパターン? で考えたいと思います。 もしも何かを読めば分かるようでしたら、リンクを貼っていただければ幸いです。 このようなことを質問せずに自分で調べられるようになりたいですが、どうするべきだったのでしょうか。 (1)switch文の場合 対応例 1. goto文で分岐の頭に戻る 2. while(1)で分岐をくくって、whileの最後にはbreakを入れる。   すぐに次の状態を実行する場合は、continue...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 2DRPGのマップ関係のクラス設計を見ていただきたいです
返信数: 4
閲覧数: 3282

Re: 2DRPGのマップ関係のクラス設計を見ていただきたいです

ご返信ありがとうございます。 [1. 列挙体 EPoint をグローバル領域に公開している:] LEFT_UPって使うのはMapScaleManagerだけでも普遍的な事実ではありませんか? 例えば、LEFT_UPがMapScaleManagerと"画面クラス"で違うことを意味するならclass内に置き、" MapScaleManager::LEFT_UP" と書くべきでしょう。 しかし、仮にmobaさんのプログラムではMapScaleManagerでしか使わないとしても"左上"という普遍的な事実ならグローバルに公開するべきでしょう。 グローバル領域におくとなると、定義は別のファイルに分ける感...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 2DRPGのマップ関係のクラス設計を見ていただきたいです
返信数: 4
閲覧数: 3282

Re: 2DRPGのマップ関係のクラス設計を見ていただきたいです

ご回答ありがとうございます。助かります!! [1. 列挙体 EPoint をグローバル領域に公開している:]  引数でしか使いません。  グローバル領域に公開すれば、引数に書くのは" LEFT_UP "で済みます。  一方、MapScaleManager内にEPointを置くと、  " MapScaleManager::LEFT_UP" と書かなければなりません。  ここは妥協せざるを得ないところなのでしょうか。 [2. struct Cellをグローバル領域に公開している]  セルの情報を得るために、Cellの参照を受け取った側が  struct Cellの内容に直接アクセスしています。  ...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 2DRPGのマップ関係のクラス設計を見ていただきたいです
返信数: 4
閲覧数: 3282

2DRPGのマップ関係のクラス設計を見ていただきたいです

お世話になっています。VC++(2010Edition)/DxLibでゲームを作りたい初心者です。 前にこちらで質問させていただき、一度組んだコードを指導していただきました。 今回は、見よう見まねで自分で組んでみました。オブジェクト指向を目指しています。 この設計は良さそうに見えるかという点と、組んでいる間に出てきた疑問点をお伺いしたいです。 一部分だけへの回答でも大丈夫です。よろしくお願いします。 3/21 10:00前:図を書きなおして差し替えました 3/21 21:45前:TileIndexerを忘れていたのでクラス図を差し替えました 何度もごめんなさい ■シーケンス図 本「ゲームプログ...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: マルチプラットフォーム開発について知りたいです
返信数: 4
閲覧数: 4343

Re: マルチプラットフォーム開発について知りたいです

お世話になります。 ただし、算術演算や制御文などはC/C++の規格によってある程度定められていますから、1+1やwhile文の振る舞いについての移植性に悩むことはほとんどありません。一方、システムコールは環境ごとに大きく異なりますから、この部分は#ifなどで環境ごとに分ける必要があります。 C/C++の規格によって定められているということは、 基本的にどの環境向けにもコンパイルできるように標準でコンパイラが対応している ということですか。 それとも、同じ機械語のコードがどの環境でも動くということなのでしょうか。 前者かと思うのですが、「C++はどこでも動く」ような表現を聞いたのでひっかかってい...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: マルチプラットフォーム開発について知りたいです
返信数: 4
閲覧数: 4343

Re: マルチプラットフォーム開発について知りたいです

tk-xleaderさんご回答ありがとうございます! > 原則として、C++はコンパイル後コードでの移植性は極めて低いと言わざるを得ません。 C++のコードは、環境毎に別々の機械語にコンパイルされることを 理解できていませんでした! ・計算1つをとってみてもOS毎に過程に差がある (そういった部分はAPIとして書いてあってOSから提供される?) ・したがって生成されるコードは環境毎に異なるが、  同じ(見た目の)コードを様々な環境向けにそれぞれコンパイルすることはできる という感じでしょうか。 > コンパイル後に移植性が低くなる > マルチプラットフォームを実現するためには、環境ごとに異なる部...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: マルチプラットフォーム開発について知りたいです
返信数: 4
閲覧数: 4343

マルチプラットフォーム開発について知りたいです

お世話になっております_(._.)_ C++/DxLibでゲームを作りたい入門者です。何も分かっていません。 マルチプラットフォーム開発の方法や、あとから他のOSに対応するための方法を知りたいです。 適切な検索ができず、知りたいことを知れませんでした。 知識を得る手段をお伺いしたいです。以下のようなことを知るには、何をあたればいいでしょうか。 よろしくお願いします。 1.依存とは C++はOS(やハード)に依存しないと聞いたのですが、なぜなのでしょうか。 どのような部分がOSに依存しますか。 なぜOSに依存する部分ができてしまうのですか。 OSに依存する部分は、OSが提供するインターフェース?...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

回答までに一週間ほども空いてしまってごめんなさい。 白状しますと、頭が回らなくて理解できず、何度か後回しにしてしまいました。 早めにもうちょっと頑張るべきでした。 先入観があったり、ISLeさんの言葉を勘違いした部分が多かったのですが、 期間を置くと意味が分かってきて、コードが読めました。 質問しようと思った部分のコードも、いったり来たりしてよく読むと分かりました。 そうしてみると、何が分からなかったのか分からなってきました。 今は分からないことが何か分かっていないのだと思います。 でも、見よう見まねで取り組めるようになったと思います。 僕はまだ抽象的な考えを持てていないと思いますが、 これか...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

まだ表示が更新されていなくて、2ページ目に気付いておらず、
ISLeさんの追加の返信に気付いていませんでした。
読むのにまたしばらくかかります。サンプルをありがとうございます!!
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

頭の回転が悪くて、抽象的な説明を理解するのに時間がかかりました。 階層の概念を持ち込まないのではなくて、インスタンスベースで考えましょうっていうことなんですけどね。 タイルマップが、マップデータが配列であることに依存する のは良くないという話です。 たぶん分かりました。 具体的には、インターフェースをアップキャストして渡して使う、あのパターンで行こうということですね。 イメージリストをクラスで実装したなら、別に複数のイメージで構成されてなくてもよいのです。 イメージリストをImageクラスのリストにしたのは便宜的なもので、 全く別のクラスが描画を担ってもいいのでしょうか。 なんとなく、フラクタ...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

■レイヤー 僕ではISLeさんの意図が分かりませんでした。 すみません、レイヤーの話だけ、もう少し説明していただけませんか。 1から10まで全て教えてもらうのは気が引けますが。厚顔で行きます…お願いします。 ごちゃごちゃ長く書いてしまいましたが、この辺に関してわたしの投稿の趣旨は マップデータはマップデータで自由に実装できるのが良い というのが言いたかったことで、mobaさんの実装方法に対して間違っていると言っているわけではないです。 強いて言えば、空白だらけのマップデータでメモリを消費するイメージが浮かんで 極めて無駄が多いのではないだろうか、という感想を持ちました。 階層の概念を持ち込まず...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

> 地形とフラグを分ける

それでは、マップエディタでは、チップ毎の通行設定からマスとしての通行設定を設定するか、マス毎に通行可否を設定するか、マス毎に設定できるようにしようと思います。

また、通行フラグを分けても、例えば壁が壊れたとき、その下にマグマがあって通れないかもしれません。
その時は、チップを見てマスの通行設定を更新しようかと思います。


返信がドロドロになってごめんなさい
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

[3:04修正] わたしはImageを描画する方法だけを最初に決めました。 同じようにタイルマップをレイヤー状にしたり、それにアクセスする方法をクラスに込めることができます。 そのように考えることがオブジェクト指向に近づくことだと思います。 すみません、もう少し詳しく教えていただけませんか。 Imageの話からは帰納できず、どういう趣旨のお話なのか分かりませんでした。 わたしならタイルマップを重ねて描画するためのクラス、 TilemapLayerManagerとかLayeredTilemapとかいう感じのもの、 を作って使います。 イメージリストを用意する側も、マップデータを用意する側も、描画...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

何度か返信しようとしたのですが、まとまらなくて時間がかかってしまいました。 [2:59に修正] mobaさんはずっと、どうやってアクセスするか、ということを第一に考えていらっしゃるようです。 オブジェクトの中身を決めかねていることで反対から攻めようという気持ちが働いているのでしょうか。 そこを最初に決めてしまうというのは制限でしかないのです。 dungeon.hppでインターフェイス用のクラスを用意して、それをアップキャストしたクラスのインスタンスの参照を渡せばいいのですね。 dungeon.cppでは、マップの情報を書きかえるのに、どうしても[現在のマップのTileIndexer]が必要だと...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

コードを読みました。 僕は、レイヤをどう実装するか、から考え始めましたが、ISLeさんはスタートの視点が違うのですね。 Imageから始まるのがびっくりです。 ■他ファイルで共有したいインスタンス dungeon.cppでは、[現在のマップに相当するTileIndexer]の機能を使いたいとします。 ゲーム内では同時に1つのマップしか開かないのだから、 共有したいインスタンスのポインタをグローバル変数かシングルトンから得る、というのはどうでしょうか。 ■入れ子について 例えば、複数のレイヤの実装に使うのは、使い方としてはどうですか。 イメージリスト:(タイルマップ0, タイルマップ1, タイル...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

本当にありがとうございます。
スマートポインタを知らないため、読むのに時間がかかっています。コードについての返信は、もうしばらく後にさせてください。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

【ISLeさんの示した下さったTilemapについて】(No.6の例えば以下について) ■僕がどう勘違いしているか(流してもらって大丈夫です) TilemapクラスがImageクラスを継承していることと、Imageクラスのリストを持つことはまったく別のものです。 因果関係がありませんから、そもそも分かる必要がありません。 > 矩形イメージを描画するための、Imageクラス ということでしたので、 Imageクラスを画像表示機能だと思っています。 //こんな感じかと。 class Image { //矩形の描画機能 DrawRect(int x, int y, int handle) { //結...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

【グローバル変数について】 グローバル変数は、それが必要な場面では使って良い・使うべきでしょう。 ただし、そういう場面は極めて限られます。 mobaさんがこのような形とおっしゃっている例は、使うべき場面ではありません。 ここはスコープを翻訳単位に制限すべきです。 クラスの定義を渡すという、 我ながら意味の分からない例を上げてしまいました… 共有するインスンタンスを渡す例を上げたかったです。 例えば、Dungeon.cppでは、インスタンスlayer[0]->SetChipID(x,y)や関数MapData::IsInsideMap(x,y)を使いたいです。 これらの宣言をexternで渡すのは...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

>ISLeさん > 例えば~以下 クラスの設計の 1つの例を 、例えば~以下で示してくださったのでしょうか。 僕の実力では全体的に分からなかったので、もう少し詳しく教えていただけませんか。 > Tilemapクラスは、インデックスに対応したタイルの描画を、Imageクラスのリストを使って行います。 > タイルマップのタイルがさらにタイルマップになっているという万華鏡みたいなこともできます。 機能としては、例えばツクールのオートタイルを実現できるということでしょうか。 (※オートタイル:隣接したマスを見て、表示が変わるタイル。例えば、 11 11  というマップが ┏┓ ┗┛ として表示される)...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

>ISLeさん > サンプルコードをコピペする感覚で使えると楽だと考えるのでしょうが、 > サンプルコードというのは特定の状況向けに特化しているものなので、 > それを繰り返すと応用の効かないコードが大量に残ることになるのですよ。 クラスの定義と、それを実体化して利用する側のコードを混同してMapDataを書いていました。 クラス自体は、抽象的に書いて、汎用的に利用できるようにするべきでした。 定義を書いたヘッダファイルと、クラスを実体化する部分を分けてみます。 ○追加質問(トピックを分けるべき場面だったならすみません) C++ではグローバル変数を使うべきではないと何度か耳にしました。このよう...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

返信が遅れてすみません。 お二人とも、質問文やコードを読んで、助言もくださってありがとうございます。 > usaoさん > このプログラムの実行中に長期的に保持されるデータというのは単一です というのと シングルトンとかいう書き方をすることとは > 全く別の概念なのではないかと思います. > (前者は作るものの「内容」の話だけれども,後者はプログラムの「書き方」に対する制限,というか)ます 僕は自分のゲーム専用にMapDataを組んでいましたが、もっと抽象的に書くべきみたいですね。MapDataクラスを利用する側と、MapDataというクラスの定義を混同していました。 書き方の制限としてのシン...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

Re: [C++]タイルマップのクラス設計を見てほしいです

> namespace関係ありますか? オブジェクト指向の考え方で組みたいため、namespaceを使いました。 初めはMapDataをクラスにしていたのですが、namespaceの形に書きなおしました。 namespaceを使うことで、「MapDataというオブジェクト」としてまとまるのではないかと考えました。 > 名前がややこしいだとか不適切かいうのはご自身で好きな名前にすればいいのでは. > 「どんな名前がいいでしょう? 思いつきません」 とかそういう話? 質問したかったのは名前よりも構造でした。ただ、今日まで適切な名前を思いついていないので、一応問題点として挙げました。 オブジェクト指...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18575

[C++]タイルマップのクラス設計を見てほしいです

お世話になります。VC++(2010Express)/DxLibでゲームを作りたい初心者です。 マップチップを配置するタイプのマップ、タイルマップを表示できるようにしました。 そのクラス設計? を見ていただきたいです。このような質問の仕方をしてもいいでしょうか。 シングルトンを使うメリットが分からなかったため、呼び出しやすい名前空間を使ってみました。 今のところ問題は出ていませんが、このような書き方をした例を見たことがないので、不安になっています。 ソースについて、自分で気付いたこととしては、 //とりあえず読み飛ばして大丈夫 ・名前空間のMapDataという名前がややこしい。(データだけでは...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 数列の作り方
返信数: 3
閲覧数: 2474

Re: 数列の作り方

お詫びします。 僕では十分で適切な回答ができませんでした。 また、ライトニングさんの前回の投稿も見ていませんでした。 でしゃばってすみませんでした。 一応小学生水準の考え方でC++で書いてみました。 (なぜならそれが僕の自然な考え方だから!) 前回の投稿でコードを貼ってくださっているので、 そちらの方がずっと良いのだろうと思います。 重ね重ねでしゃばってすみませんでした。 一度回答者をやってみたかったのですが懲りました。 *rand() % A は0~(A-1)の範囲の乱数を作る *ただ、乱数生成にrand()は使わない方がいいらしい int suretu[50]; int amari = 0...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 数列の作り方
返信数: 3
閲覧数: 2474

Re: 数列の作り方

初心者で恐縮ですが回答させていただきます。

コード:

int suretu[50];
int amari = 0;
for(int i = 0; i < 50; i++)
{
    amari = i % 2;//2で割った余りを得る
    if(amari == 0)
    {
        //奇数の処理(配列の要素の0番目の値を数列の1番目として扱う場合)
    }else
    {
        //偶数の処理
    }
}
こんな感じで分岐して、作る乱数の範囲を変えるのはどうでしょうか。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [VC++/DxLib]アクセス違反
返信数: 8
閲覧数: 12166

Re: [VC++/DxLib]アクセス違反

あ、WidthとHeightを間違えていました。
助かりました>_<"! ガードです。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [VC++/DxLib]アクセス違反
返信数: 8
閲覧数: 12166

Re: [VC++/DxLib]アクセス違反

> YuOさん

まとめてくださってありがとうございます。
この辺になると、分厚めの入門書にも載っていませんね。
検索しても断片的な知識しかヒットさせられなかったため助かります。
しばしば読み返すと思います。

今回はMapBase *layer[3]と静的に確保することにします。
スマートポインタは、名前すらも知らなかったのですが、いつかお世話になりそうですね。

>softyaさん

ガードはpublic、protected、privateのことだったでしょうか。
まだそのミスに気付けていません。
よかったらもう少しヒントをいただけませんか。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [VC++/DxLib]アクセス違反
返信数: 8
閲覧数: 12166

Re: [VC++/DxLib]アクセス違反

> 失礼。私が問題があると判断した部分まで到達していないんですね。 > 「エラー」と書いてある事に全く気づきませんでした。 すみません、僕の書き方が悪かったです。 追記して分かりやすくします。 > で、今回の問題はnewでクラス配列を使用する場合に書き方が正しくないことが原因じゃないかと思います。 > new クラス配列 C++ 継承で調べてみましょう。 ほとんどこちらのページしかヒットさせられませんでした。 https://yukki99.wordpress.com/2008/06/13/%E9%85%8D%E5%88%97%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [VC++/DxLib]アクセス違反
返信数: 8
閲覧数: 12166

Re: [VC++/DxLib]アクセス違反

> softyaさん 本当にいつもありがとうございます。 いただいたコメントからでは何が間違っているのか分かりませんでした。 考えろ自分…うーん、何を…or2 上記コードのコメント文にある通り、ブレークしたのはmap.cppの67行目です。 ガードとは、インクルードガードのことでしょうか。 一応#progma onceも使ってみたのですがダメでした。 添え字が1になるとブレークするようで、お手上げです… layer = new QMap[3]; for(int i = 0; i < 2; i++) { layer .SetThisLayer("Picture/testmap1.txt",i);...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [VC++/DxLib]アクセス違反
返信数: 8
閲覧数: 12166

[VC++/DxLib]アクセス違反

こんばんは。 VisualC++(2010Express)/DxLibでゲームを作りたい素人です。お世話になります。 今回はアクセス違反が起きてしまい、原因がまるで分からないので見ていただけませんか。 余計な部分が多々あるので、3つ目のコードmap.cppの59行目、MapData::LoadMapまで飛ばして読んでください。 翌日の追記:実行すると、そこの//エラーと書いている部分でブレークします 投稿直後の追記:同じ構造のつもりで1から書きなおすと、エラーが出なかったためこの形にさせていただきました。 //main.cpp #include "DxLib.h" #include "map....
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: VC++/DxLib 大きさが分からない画像の分割読み込み
返信数: 6
閲覧数: 9628

Re: VC++/DxLib 大きさが分からない画像の分割読み込み

> hideさん

ありがとうございます。
画像の大きさをあらかじめ入力しておいたファイルを読むということでしょうか。
今は負荷が気になるほどのことはしていないのですが、将来重くなったら試してみます。
画像ファイルのプロパティのコメント欄なんかにサイズを書いておいて、分割読み込みする関数からそれを読むこともできるのかなと思いました。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: VC++/DxLib 大きさが分からない画像の分割読み込み
返信数: 6
閲覧数: 9628

Re: VC++/DxLib 大きさが分からない画像の分割読み込み

> softyaさん (誤送信を16.56に修正) いつもありがとうございます。 その方法もあったのですね。場合によってはその方法が一番になるかもしれませんね。 あと、やっぱり処理負荷は自分で測らないとダメですね…。 今は腰が重いのですが、いつかやりたいです。 >yuranさん ありがとうございます。 リファレンスページには載っていませんが、 今のバージョンのDxLibにもこれらの関数はあるみたいですね。 (まさか画像サイズの取得に最適化? された関数が本当に実装されているとは思いませんでした) --- // 画像ファイルの横ピクセル数と縦ピクセル数を取得する int GetImageSize...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: VC++/DxLib 大きさが分からない画像の分割読み込み
返信数: 6
閲覧数: 9628

VC++/DxLib 大きさが分からない画像の分割読み込み

お世話になっています。 キャラチップ画像を分割して読み込みたいです。 検索しても特にヒットさせられなかったので質問させていただきました。 LoadDivGraphを使うには引数に( 追記:分割後の1枚当たりの )画像のサイズが必要なので、 キャラチップの大きさが分からない時は、 単純にLoadDivGraphを使うわけにはいかないようです。 なるべく無駄を減らして画像の大きさを取得することはできないでしょうか。 あらかじめ分かっているのは、画像の横と縦の分割数です(6,4)。 DxLibリファレンスページ(下記)を見て、2つの方法を考えました。 http://homepage2.nifty.c...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [VC++]ブレークポイントからの再開はできない?
返信数: 8
閲覧数: 14166

Re: [VC++]ブレークポイントからの再開はできない?

ありがとうございます。そこまで気にはならないので調べませんね…
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [VC++]ブレークポイントからの再開はできない?
返信数: 8
閲覧数: 14166

Re: [VC++]ブレークポイントからの再開はできない?

ありがとうございます。
そういえば、元々その仕組みを使っていたので、1F目のときのみ分岐するようにします。

ウォッチウィンドウを見ると、F5を見るたびに
Bの入力フレーム数が1ずつ増えていたと思うのですが、
なぜBは押したままということになっていたのでしょうか。
上記のcont->All()から入力フレーム数を更新していますが、
F5を押した時点でBキーから指を話しています。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [VC++]ブレークポイントからの再開はできない?
返信数: 8
閲覧数: 14166

Re: [VC++]ブレークポイントからの再開はできない?

解決にした後ですみません。 < 2回目というのは気になりますね コードを変えると、2回目でもダメになってしまいました。 どうも、F5で再開した後、またすぐにブレークポイントに辿り着いてしまったようです。 while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ) { cont->All(); fps.Update(); //更新 fps.Draw(); //デバッグ用 if(CheckHitKey(KEY_INPUT_B) != 0) { int a = 0;//ここにブレークポイント } fps.Wait()...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [VC++]ブレークポイントからの再開はできない?
返信数: 8
閲覧数: 14166

Re: [VC++]ブレークポイントからの再開はできない?

ありがとうございます。1度F5を押すと
スレッド '○○' (▲▼) はコード 0 (0x0) で終了しました。
と出るので諦めていましたが、2回目を押すと再開してくれました!
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: [VC++]ブレークポイントからの再開はできない?
返信数: 8
閲覧数: 14166

[VC++]ブレークポイントからの再開はできない?

お世話になっています。 とても簡単なことだと思うのですが、検索しても分からなかったので質問させてください。 VC++(2010Edition)で、ウォッチ機能を使うために、キーボードのBを押したらブレークポイントに来るようにしました。他にブレークポイントはつけていません。 問題は、一度ブレークポイントに来た後、動作を再開してほしいことです。 ステップ実行と言うのでしょうか、1行ずつ処理する機能はありますが、引き続き(分岐してブレークポイントに来るまで)処理を続けて、止まらないようにすることができませんでした。(※再開したいのはウィンドウに画像を表示したりするループです。) やり方があれば、教え...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 静的メンバ変数から始まった細かい疑問
返信数: 8
閲覧数: 3521

Re: 静的メンバ変数から始まった細かい疑問

> private: > int tileDiv[3][X]; > としてはダメなんですか? > シングルトンのローカル変数を配列にするなり、持つクラスを多重化するなりすれば > シングルトンのインスタンスは一つでいいことになります。 Map map[3]ではなくて、Map mapにするということでしょうか。 それでしたら、Mapのメンバ変数Cell cellが問題でしたので、 変更前) Cell cell[ mapWidth * mapHeight ] //1つ分のレイヤ 変更後) Cell cell[ mapWidth * mapHeight * layerNum ] //3つ分 とすれば...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 静的メンバ変数から始まった細かい疑問
返信数: 8
閲覧数: 3521

Re: 静的メンバ変数から始まった細かい疑問

23:07斜線部を修正 > シングルトン はい、では自分で考え続けます。貴重な例をありがとうございます。 --- > シングルトンパターンについてちゃんと理解されていないようです。 > よくキーボードクラスをシングルトンにしたサンプルをみてください。 > メンバ変数について適用するものでしょうか? 弁明すると少し長くなるのですが… 僕はこのような流れだと思っていたので (No.3) 僕:同じ画像を二度メモリに展開しないために、 僕:ハンドル(tileDiv)だけはどうしても全インスタンスで共有しなければならないと思います。 (No.4) > そう言うときはシングルトンパターンという > デザイ...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 静的メンバ変数から始まった細かい疑問
返信数: 8
閲覧数: 3521

Re: 静的メンバ変数から始まった細かい疑問

DxLibの館のサンプルプログラムを見させていただきました。
分からなかったことがあるので、時間がある時にお答えいただけますか。(全く急いでいません)

シングルトンについて
・シングルトンは、機能としては単一のグローバル変数そのものに思えます。
 グローバル変数の実体を1つだけ定義するのとは違いが出るのでしょうか。

今回のケースについて
・どこにシングルトンを使うべきなのか分かりませんでした。
 tileDivはクラスの名前ではなくてクラスMAPのメンバ変数ですが、
 シングルトンパターンを使うというのはtileDivについてなのでしょうか。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 静的メンバ変数から始まった細かい疑問
返信数: 8
閲覧数: 3521

Re: 静的メンバ変数から始まった細かい疑問

管理人さんアドバイスをありがとうございます。 自分自身何を聞きたいのか分からなかったのですが、このまま進んで良いのか不安だったようです。 ややこしい質問ですみません。 MAPクラスのオブジェクトmap[0],map[1],map[2]はそれぞれ構造体Cellの配列を持ち、 マップレイヤの1,2,3に対応します。これでRPGのマップを表現したいです。 map[0],map[1],map[2]で、 ・タイル画像のパス(tileGraph) ・分割して読み込んだタイル画像のハンドル(tileDiv) ・画像に合った1マス当たりのサイズ等(色々) の実体を共有したい(staticにしたい)と考えました...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 静的メンバ変数から始まった細かい疑問
返信数: 8
閲覧数: 3521

静的メンバ変数から始まった細かい疑問

追記:紛らわしい質問をしてしまってすみません。 これが元のコードで、No.2以降、問題はstaticとシングルトンの話になりました。 VC++(2010Express)/Dxlibで取り組んでいます。初心者です。 質問ばかりですみません。今回は一応動いていますが、その分応えるのに手間がかかると思います。 強調した部分が疑問点なのですが、よかったら調べ方だけでも教えていただけませんか。 下のコードですが、太文字を使うために、codeコマンドは外しました。 ------------------------------------------------------ メイン関数側概略(){     ...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: ある関数で読み込んだ画像をクラスで共有したい
返信数: 7
閲覧数: 2789

追加の質問

ブキ、手にしたいですね。

Dxlibのログはたぶん画面下の「出力」のウィンドウに出るのですよね。
画像を読み来ないというログを見た気がするのですが、他の理由と思いこみ、暫定的な対応をして忘れてしまっていました。

tileDivの中身は、クイックウォッチをしたら、[0]が-1、[1~]が0だったような気がします。
読みこめていたらアドレスが入っているのでしょうね。もうちょっと頭を働かせたかったです。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: ある関数で読み込んだ画像をクラスで共有したい
返信数: 7
閲覧数: 2789

Re: ある関数で読み込んだ画像をクラスで共有したい

やはり経験が無いと分からないものなのでしょうか。
これからも、どうしても調べて分からない時は質問させていただこうと思います。ありがとうございました。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: ある関数で読み込んだ画像をクラスで共有したい
返信数: 7
閲覧数: 2789

Re: ある関数で読み込んだ画像をクラスで共有したい

うおおおおおおおおおおおお
hideさん、それでした! ヒープ領域を破壊(?)するバグもなおって、あなたのおかげで僕の10時間が実りました! ありがとうございます!
ちなみに、その発想がどのようにして得られたのか教えていただけませんか。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: ある関数で読み込んだ画像をクラスで共有したい
返信数: 7
閲覧数: 2789

Re: ある関数で読み込んだ画像をクラスで共有したい

回答ありがとうございます。
入り組んでいるので、その部分だけ書きなおしてきます。
書きなおしたらまた貼りますね
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: ある関数で読み込んだ画像をクラスで共有したい
返信数: 7
閲覧数: 2789

ある関数で読み込んだ画像をクラスで共有したい

お世話になります。 VC++(2010Express)/Dxlibで取り組んでいます。 マップを表示する仕組みを考えていて、だいたい以下のように取り組みました。 //ヘッダファイル class MAP { public: int tileDiv[40]; MAP(){ LoadDivGraph("(画像のパス)",40,8,5,32,32,tileDiv) } }; //cppファイル void DrawMap(){ //LoadDivGraph("(画像のパス)",40,8,5,32,32,tileDiv);//これを入れれば表示できる DrawGraph(32,32,tileDiv[0],...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の二次元配列ポインタの動的な確保
返信数: 2
閲覧数: 2573

Re: 構造体の二次元配列ポインタの動的な確保

ありがとうございます。
構造体のポインタ等と自分は書きましたが、
肝は二次元配列の動的確保の部分だったんですね!

余計なキーワードが外れて、ネット検索からも情報を得ることができました。
理由は分からないのですが、仕様として動的に確保できる配列は一次元までなんですね。
ポインタのポインタを使って擬似的に再現するよりも、一次元配列の領域を二次元配列のように使う方が便利ということですね。

コード:

GetCell_chipID(x,y){
return(cell[x + y*cellNumX].chipID)
}
こんな具合で一次元配列を使ってみました。コンパイルまであと一歩!
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の二次元配列ポインタの動的な確保
返信数: 2
閲覧数: 2573

構造体の二次元配列ポインタの動的な確保

初歩的な質問ですみません。右と左も分からぬ初心者です。 RPGのマップの構造体を、二次元配列で、サイズを変数で指定して実体化したいです。 OSはVista、IDEはVC++2010Expressです。 エラーが出るのはこの箇所です。 struct Cell { int chipID; int canWalk; };//ここまでヘッダファイル内 int cellNumX = 20; int cellNumY = 15; Cell* cell; cell = new Cell[cellNumX][cellNumY];//cppファイル内 一次元配列ではエラーが出なかったのですが、 newでは二次元...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 【マップ&Ev】複数の処理を同時にこなすには
返信数: 11
閲覧数: 5984

Re: 【マップ&Ev】複数の処理を同時にこなすには

>ISLeさん
それは絶対無理だと思っていました(笑) 教えてくださってありがとうございます。
良い方法かどうか僕には判断できないので見送らせていただきますが、いつか使うかもしれませんね。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 【マップ&Ev】複数の処理を同時にこなすには
返信数: 11
閲覧数: 5984

Re: 【マップ&Ev】複数の処理を同時にこなすには[解決]

では、スクリプトでやってみます!
ソフト屋さんありがとうございます。今後も役に立つ考え方も教えていただいて助かりました。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 【マップ&Ev】複数の処理を同時にこなすには
返信数: 11
閲覧数: 5984

Re: 【マップ&Ev】複数の処理を同時にこなすには

ぴすさんありがとうございます。
直接(追記:イベントの演出を)ソースコードに書き込んだ場合、「次の行に変更」する方法が思いつかずに困っていました。

毎フレーム回っているもので処理できるように、状態変数?をいじって、毎フレーム状態を見て処理するんですね。
ウディタでは、イベントの座標を直接書き込むとグラフィックが自動でついてきたのですが、あれのことだと分かりました。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 【マップ&Ev】複数の処理を同時にこなすには
返信数: 11
閲覧数: 5984

Re: 【マップ&Ev】複数の処理を同時にこなすには

> ISLeさん
すみません、どういう文脈で書いてくださったのか分かりません…
そして必須のOSについて書いていなくてごめんなさい。Vistaなので実行できませんでした。
---
ソフト屋さんの日記を読んでいる内に、
イベントの処理をソースコードに直接書くのではなくて、外部ファイルにスクリプト(?)を書く方法を思いつきました。
これなら、1行ずつ順に処理(のための引数)を読み取って、処理が終わるたびに次の行(処理or状態)に移れると気付きました。

これで何でもできるようになるかは分かりませんが、他に思いつかないのでとりあえずこれで行ってみます。
皆さまありがとうございました。
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 【マップ&Ev】複数の処理を同時にこなすには
返信数: 11
閲覧数: 5984

Re: 【マップ&Ev】複数の処理を同時にこなすには

お二人とも マジ天使 ありがとうございます。講座サイトのみならずお世話になります。 まだ分からないので、次の例ならどうするか教えていただけませんか。(これはウディタのコマンド文です。見かけの動きのニュアンスが伝わるといいのですが) ■文章:ある朝、精霊のお告げを聞いた勇者は… ■文章:勇者「そうだ、魔王倒すっべ!」 ■動作指定:主人公 / 右 / 右 / 右 / 右 / 右 ■動作完了までウェイト ■ウェイト:8 フレーム ■文章:村の復興のため、出稼ぎに出たのでした… イベントに向かって決定ボタンを押した時に、例えば上のような演出をしたいです。 1つだけの文章の表示なら「文章表示中フラグ」を...
by moba
8年前
フォーラム: C言語何でも質問掲示板
トピック: 【マップ&Ev】複数の処理を同時にこなすには
返信数: 11
閲覧数: 5984

【マップ&Ev】複数の処理を同時にこなすには

WOLFRPGエディターからVC++/Dxlibに乗り換えようとしている者です。 今分からないのは、どうやって複数の処理を同時にこなすかです。 例えば、 ・FPS制御、キャラチップの足踏みやマップの描画等を毎フレーム処理しながら ・文章の表示、8フレーム後に画面にエフェクトをかける、など"メイン"のイベントも実行している このように、"メイン"で実行しているイベントが1フレームで終了しない場合に、 どうやってその他の処理を並列で処理すればいいか分かりません。 仮説を立てたのですが、もし、イベントコマンドの「ウェイト」が入る度に、 イベントの処理位置を覚えておいて、次のフレームでまた戻ってくるな...

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