検索結果 219 件

by taketoshi
3年前
フォーラム: C言語何でも質問掲示板
トピック: [雑談]今年 2021(R03) 年の目標
返信数: 3
閲覧数: 3775

Re: [雑談]今年 2021(R03) 年の目標

・C#とSQLとVBAを使って作ってる管理システムをリリースする
・C言語でWinAPIを使って過去に作ったソフトウェアを改良する
・楽天にお店を出す
・子供が所有するスイッチのJoyCon動作不良をたった今ぽちった修理キットで直す
by taketoshi
7年前
フォーラム: C言語何でも質問掲示板
トピック: この表記はどの様な意味ですか?
返信数: 3
閲覧数: 2167

Re: この表記はどの様な意味ですか?

YuO殿

ご回答ありがとうございました。
C++でいうテンプレートクラスを取得するようですね。

言語によって用語が変わるため理解が進まず困っていたところでした。
ご説明ありがとうございます。
by taketoshi
8年前
フォーラム: C言語何でも質問掲示板
トピック: RPG
返信数: 2
閲覧数: 1868

Re: RPG

考え方だけ書いておきます。

1.カーソルがどれだけ動いたかを記録する変数を用意します。
2.50音順を格納した配列を用意します。
3.決定時に文字を格納する配列を用意します。
4.上下左右キーを押したとき、1で宣言した配列を変化させます。(増加数は描写方法と相談して下さい)
5.決定キーを押したとき、1を2の添え字番号に用いて3にコピーします。

描写は50音とセレクトカーソルを画面に出力して
1で宣言した変数と予め自分で決めたオフセット値に従ってセレクトカーソルを指定位置に描写します。

これで、RPGによくある50音順の名前の決定処理みたいなのが再現可能です。
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: C言語で何を作りましたか? 作れるようになるまで、どのくらいの期間でしたか?
返信数: 6
閲覧数: 7638

Re: C言語で何を作りましたか? 作れるようになるまで、どのくらいの期間でしたか?

面白いスレッドですね。 私もDos窓相手にカチカチC言語を勉強しているころは同じことを思っていました。 プログラムを社会人になって独学で勉強したので、時間を掛けて目的が達成出来るのか迫りくる強迫観念が辛かったのを覚えてます。 私は会社で使うようネットワークシステムを作りたかったので、 Cの基礎を勉強した後にWinapiを学んでGUIプログラムを作りました。 そこで、メモ帳やスクリーンキャプチャソフトなどを書いていました。 そのあとにネットワークプログラムを学びほかのパソコンとの接続方法を学びました。 簡単なサーバークライアント型のチャットソフトを何本も書いて通信の仕組みを勉強していました。 そ...
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: (雑談)私生活とゲーム制作の優先順位について
返信数: 13
閲覧数: 8057

Re: (雑談)私生活とゲーム制作の優先順位について

私などを見習うべき人物と言っていただいて恐縮です。
開発スピードは亀ですが、趣味として仕事しながらゲーム開発できています。
ゲーム作るのって楽しいですよね。

今後、イマダニさんが良い方向に進んでいただければ良いと思っています。
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: 入門サイトとプログラマーについて
返信数: 12
閲覧数: 7959

Re: 入門サイトとプログラマーについて

プログラマ(programmer)とは、コンピューターのプログラムを作成する人全般を指す(wikiより抜粋) アマチュアでも仕事でもプログラムを組む人はプログラマーです。 概念としては車を運転する人の事をドライバーと呼ぶのと変わりありません。 タクシーの運転手だろうが、自家用車を運転する人だろうが呼称はドライバーです。 私は数本のソフトウェアを世に出していますが アマチュアなのでプロとは違い一銭の銭も受け取ったことは無いクチです。 あくまで趣味とし、これで食べていく気がありません。 本業に有利に進めるためのスキルとしてプログラム技術を学んでいます。 おすすめサイトはこちらに成ります 猫C ht...
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: ターン制ストラテジーゲームを作っているのですが・・・
返信数: 13
閲覧数: 7595

Re: ターン制ストラテジーゲームを作っているのですが・・・

SRPGを作っているので何かの参考になるかもしれません。
私は移動関数を改造して、弓兵や魔法使いの攻撃可能範囲を求めました。

http://dixq.net/forum/blog.php?u=288&b=4163

お互い頑張りましょう。
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: DXlibでのマス目作り
返信数: 14
閲覧数: 7972

Re: DXlibでのマス目作り

コード:

typedef struct{
	int nNumber;//なぞった番号を記憶する変数
	int x,y;//ついでにここの構造体が保持するX,Yスタート座標を覚えさせておくと後後便利かも
}hoge;

hoge Map[6][8];//宣言
構造体の宣言の仕方はこんな感じです。
そしてマウスクリックでマス目を記録するロジックで
「予めDrawLineで画面描写しているマス目」と連動させnNumber変数に書き込んでいきます。

やり方はこんな感じでしょうか。
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: DXlibでのマス目作り
返信数: 14
閲覧数: 7972

Re: DXlibでのマス目作り

自分なら碁盤目を二次元配列の構造体で管理し、構造体になぞった順番を記憶する変数を持たせて
なぞった順番に1,2,3と番号を割り振るような仕組みにするかな。

で、マウスを離したら番号の若い順にテクスチャを移動させます。
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力でプレイヤーが攻撃できるようにする処理
返信数: 10
閲覧数: 7976

Re: キー入力でプレイヤーが攻撃できるようにする処理

if(対応するキー処理){
攻撃する処理();
}

みたいな感じです。
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: キャラクターの画像を左右の絵に切り替えて、アニメさせる
返信数: 61
閲覧数: 27193

Re: キャラクターの画像を左右の絵に切り替えて、アニメさせる

左キーの入力をした時に変数を強制的に7に初期化する処理を挟みましょう。

コード:

//右向きの処理番号ならば
        if( p_nowNumber <= 11 && p_nowNumber >= 8 )
        {
            p_nowNumber = 7;//左向きに強制設定 
        }
こんな感じでしょうか。
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: キャラクターの画像を左右の絵に切り替えて、アニメさせる
返信数: 61
閲覧数: 27193

Re: キャラクターの画像を左右の絵に切り替えて、アニメさせる

初期化に関してはjayさんに補足していただいた通りです。ありがとうございます。

情報が足りないのでエスパー全開の回答ですが。
右向きに設定しても右を向かないということは、初期化後にどこかで変数を上書きしているのでしょう。
右を向かなくて困っているという事ですが、今現在はどっちを向いているんですか?

>>LoadDivGraph("画像/Player1.bmp", p_Number, 4, 4, 70, 50, gp);
アップロードされていた画像は、Player1.jpgです。
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: キャラクターの画像を左右の絵に切り替えて、アニメさせる
返信数: 61
閲覧数: 27193

Re: キャラクターの画像を左右の絵に切り替えて、アニメさせる

キャラクターの状態を初期化する関数を作りそこで変数を右向きに初期化してください。 初期化関数はキャラクター生成時に一度だけ実行する関数です。 dxライブラリ特有のwhileループ以前に記述すれば一度だけ実行する処理にすることができます。 whileループ内に含めても良いですが、状態遷移を分けて一度だけ通るように工夫しないといけません。 提示していただいたコードの中身は精査していませんが 記述したコードが動いているのならばそれでよろしいのではないでしょうか。 ただ、私ならば内部に上下左右正面、どの向いているのか状態遷移を記録する変数を設けそれによって処理を切り替えます。 なぜならば添え字番号で向...
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: キャラクターの画像を左右の絵に切り替えて、アニメさせる
返信数: 61
閲覧数: 27193

Re: キャラクターの画像を左右の絵に切り替えて、アニメさせる

見直すというのは、p_nowNumber変数が貴方の書いたコード通りに変化していくかを「確認する」という意味です。
その結果に従ってそれぞれの関数を、きちんと動くように書き直しましょう。

一つアドバイスを。
きちんと設計してゆけば表示関数を見直す必要はありません。
何故ならば、移動処理の関数でp_nowNumberを計算し、表示関数はその変数を使って表示するだけなので
描写関数には変数の初期化やカウントアップ等の計算といった処理は一切入りません。

DrawGraph(x,y,gp[p_nowNumber],true)

の1行で済んでしまいます。
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: キャラクターの画像を左右の絵に切り替えて、アニメさせる
返信数: 61
閲覧数: 27193

Re: キャラクターの画像を左右の絵に切り替えて、アニメさせる

提示されたコードを書き直し、不明なインプット部分をjayさんへの返答で想像から補い 画像をダウンロードしてプロジェクトを組み直し、動かしてみました。 上手く動かないという症状としては、右を押しても左を押しても、 右向きにキャラクタがアニメーションする事が確認できましたが、抱えている問題はこれですか? DrawFormatString(0,100,RGB(255,255,255),"%d",p_nowNumber); このコードを何処かに追加してp_nowNumberが目的に沿った形で変化しているか確認してみてください p_nowNumberの初期値に左向きの画像添え字番号を加えると一瞬だけ左に...
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: キャラクターの画像を左右の絵に切り替えて、アニメさせる
返信数: 61
閲覧数: 27193

Re: キャラクターの画像を左右の絵に切り替えて、アニメさせる

p_nowNumber変数と割り当てている画像ファイルの内容が
不明なのでコードを読んだ限りの回答ですが

コード:

        //p_nowNumber(フレーム)が7なら
        if( p_nowNumber == 7 )
        {
            p_nowNumber = 11;       //p_nowNumber(フレーム)を10にする
        }
コメントとコードの内容が合っていないです。意図した記述でしょうか?
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: 助けてください
返信数: 7
閲覧数: 7372

Re: 助けてください

コード:

const char *hinmei_t[6] = { "品1", "品2", "品3", "品4", "品5" }; //←エラー箇所
スペルミスではなく変数の宣言の仕方が間違っています。
定数宣言するときはキャラ型のポインタにしてください。


if文を記述した後にセミコロンを打つと
「制御が空の文が見つかりました。意図した記述でしょうか?」の警告が出ます。
if文に合致しても処理する行が無いので、制御が空の文が見つかりましたとコンパイラが教えてくれています。
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: キャラクターにアニメーションさせるスピードを遅くしたいのですが。
返信数: 70
閲覧数: 29705

Re: キャラクターにアニメーションさせるスピードを遅くしたいのですが。

製作中のSRPGに参考になりそうなコードがあるので晒しておきます マップ上のユニットチップのアニメーションを制御しています。ただ解り易いように余計なコードは省きました。 AnimeCounter変数が画像の添え字番号を切り替えるためのカウンター変数です。 1フレーム毎にAnimeCounter変数インクリメントしていき、 AnimeCounter変数が15以上になれば画像を描画するための添え字番号変数をインクリメントしAnimeCounter変数を0に初期化します。 定義はこちら class CCharcterBase{ //他省略 protected: int AnimeCounter; }...
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: インスタンスのたらい回しがイヤ
返信数: 11
閲覧数: 5342

Re: インスタンスのたらい回しがイヤ

同様の壁にぶち当たり考えた末に、入力関係をシングルトンで実装しました。 しかし、そのあとになって、入力関係をカプセル化して必要なクラスがそれを継承すればよかったと後悔しています。 お好きな方法を試してみてください。 #pragma once #include "std.h" ////////////////////////////////////////////////////////////////////////// // // CInputTask //説明:入力を制御するクラス //親:--- //後々拡張できるように抽象クラスにする /////////////////////////...
by taketoshi
9年前
フォーラム: C言語何でも質問掲示板
トピック: 接続している全クライアントに送信するには
返信数: 3
閲覧数: 2329

Re: 接続している全クライアントに送信するには

Ryoさんのおっしゃられている通り1vs複数が先です。

接続待機用のlistenソケットを用意して接続が成功したクライアントからaccept関数の戻り値を使い別のソケット変数に保存していきます
接続状態を構造体等で管理し、接続が確立しているソケットに対してfor文でメッセージを送れば完成です。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: IP認証を入れたいのですが・・・
返信数: 19
閲覧数: 8286

Re: IP認証を入れたいのですが・・・

C++とWinsock(TCP接続)を使ってデータ配信のサーバーを作ったことが有ります。 データ配信サーバにクライアントの権限振り分け機能とクライアントのバージョン識別機能を実装しました。 バージョン違いの場合はソフトウェアを強制終了させるように組んだので 応用すればソフトウェアの起動認証サーバになるでしょう。 私はシステムの都合上パソコンのユーザー名をサーバに送り認証しました。 まず、クライアントとサーバで簡単な通信規約(プロトコル)を決めます。 例えばですが、UserRequestという文字列を「ユーザー認証」と決めましょう。 クライアント起動時にクライアントはサーバに対してUserReq...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: カーソルの上下移動について
返信数: 6
閲覧数: 4681

Re: カーソルの上下移動について

DXライブラリを使用しているのならばDraw系の関数を用いてカーソルを描画したと思います。 描画したカーソルを移動させるには引数のint yをキーインプットに応じて減算及び加算します。それによってカーソルを動かします。 適当ですがこんな感じです。 int y = 0; DrawGraph(100,y,*lpHoge,true); if(CheckHitKey(KEY_INPUT_UP)!=0){//上 y--; } if(CheckHitKey(KEY_INPUT_DOWN)!=0){//下 y++; } ただ動かすだけではなくメニューカーソルを作りたいというのならば 選択しているメニューの番...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム製作の状態遷移について質問があります。
返信数: 6
閲覧数: 4584

Re: ゲーム製作の状態遷移について質問があります。

皆様色々アドバイスありがとうございます。 色々ご指摘を読み解きながら自分のコードに反映させていきます。 個々にお返事が出来なく申し訳ありません。 色々思考したのですが、dicさんとせんちゃさんが仰っていただいた方法で管理したいとおもいます。 SRPGにおける大雑把な状態の変化はクラス分けによるステート処理を採用します。 (タイトル画面⇒セーブロード⇒幕間イベントシナリオ⇒ゲーム本体部分⇒幕間イベント→・・・・) で、ゲーム本体部分は更に細かく分岐するのでdicさんのご提示頂いた1段階enum文のswitch処理で分岐させます。 ISLeさんにご指摘いただいた >複数のオブジェクトを扱う処理に跨...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム製作の状態遷移について質問があります。
返信数: 6
閲覧数: 4584

ゲーム製作の状態遷移について質問があります。

こんばんわお世話になります。 ゲーム制作をしている中で状態遷移のコーディングの仕方について質問があります。 SRPGを制作しているのですが、switch文で状態遷移を分けています。 非常に多岐にわたっているので整理したいので http://dixq.net/g/sp_06.html ここを参考に状態をクラス化する方法を学びました。 //現在のゲーム本体のコード部分 /*****************************************/ /******敵ターンはここからです*****/ /*****************************************/ cas...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリでエフェクトを作りたいのですが...
返信数: 29
閲覧数: 11963

Re: Dxライブラリでエフェクトを作りたいのですが...

http://wrs.search.yahoo.co.jp/FOR=6ZoirU9V3iia89qj9NgyeS3.eJ_ldn5gqvt3zyAhO6p2bv1o9OOKyoH62m_t5LmXhFDUraHC3_ZkippHBltZzrNiWSuPIXkCpFdKi1rBBN6vHlUiQoqVev0LRBd8UWXPNtdNBd7qVs18NGOEzNnWExI9gnStYhfeNBu.zoQxe5RZub_8MokaETW9glNrJQqzTfmr3hBUg62F6x5ipgK3FK41gm6f_XBb42cNedYccAiOJUSqC9gjg_yk2ZsGVwohyjO879A3iJ...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神禄OP画面のウインドウ枠の描写方法について
返信数: 2
閲覧数: 1934

Re: 龍神禄OP画面のウインドウ枠の描写方法について

sqlさん返信ありがとうございます。

色々な大きさに拡張したいので描写関数で賄えるのかな?と考えておりました。
png画像で分割読み込みして大きさを指定する描写する関数を書けば、実行できそうですのでちょっと試してみます。

返信ありがとうございます。ひとまず解決とします。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神禄OP画面のウインドウ枠の描写方法について
返信数: 2
閲覧数: 1934

龍神禄OP画面のウインドウ枠の描写方法について

こんばんわお世話になります。 この四方に丸みを付けてなおかつ半透明のウインドウ枠はどの様に作成しているのでしょうか。 this.png DrawBoxとDrawCircleを用いてコードしてみましたが、上手く描写できませんでした。 やり方をご指導ください。お願いいたします いまいちだったコード(半透明描写にすると全然ダメでした //x 描写開始位置 //y 描写開始位置 //widht 横幅 //height 縦幅 //color 枠内の色 //EdgeColor 枠の色 //tickness 枠の太さ int DrawCircleRect(int x,int y, int widht,int...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: PCは一体一瞬の間にどれほどの処理を行えるのか。
返信数: 10
閲覧数: 5219

Re: PCは一体一瞬の間にどれほどの処理を行えるのか。

>>みけCATどの

正にご指摘の通りでした。
一度見たところを何度も上から計算していたので、
別途マス目をチェックしたかの配列を用意して
チェック済みならばそれ以降の処理をスキップするように実装しました。

・・・1000万超えてたんですね。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: PCは一体一瞬の間にどれほどの処理を行えるのか。
返信数: 10
閲覧数: 5219

Re: PCは一体一瞬の間にどれほどの処理を行えるのか。

製作中のSRPGで移動範囲を求める際に再帰関数を用いました。
2000万回も計算していないと思うのですが明らかに処理が止まった経験があります。
その時は無駄な演算をスルーするように実装し時間短縮を図りました。

>私からの意見は、ほぼ本物のゲームコードで検証しないと殆ど意味が無いです。
上記の経験から私もそう感じます。
結果を維持したまま軽いコードを書くというのも大事です。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: PCは一体一瞬の間にどれほどの処理を行えるのか。
返信数: 10
閲覧数: 5219

Re: PCは一体一瞬の間にどれほどの処理を行えるのか。

PCの演算能力はCPUの演算能力とメモリのアクセス速度で決まるんでしょうが。 昨今のPCじゃ300万回くらいじゃ一瞬で処理しちゃうんですね。 試しに以下のコードを走らせたところ終了まで5秒位かかりました。試行回数は30億回です。 // aetes.cpp : コンソール アプリケーションのエントリ ポイントを定義します。 // #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int x = 0; for(int i = 0;i < 3000000000;++i){ x++; } return 0; } ただ。ここにprint...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIにおける、MDIWindow形成について
返信数: 7
閲覧数: 3155

Re: Win32APIにおける、MDIWindow形成について

頂いている情報ですとコードの問題というより、VSやPCの設定しか疑うところがありません。

設定の問題だと新たにイチから書き直さずともソリューションを組みなおす
(新規にVSでファイルを作成しそこに既存のcppを組み込みなおす)でも直る気はします。

動く形で上げていただければこちらでも検証してみます。
当方Windows7です。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIにおける、MDIWindow形成について
返信数: 7
閲覧数: 3155

Re: Win32APIにおける、MDIWindow形成について

自前で制作していたのMDIプログラムに対して、提示されたコードに改変して動かしてみました //フレームウインドウクラス char szFrameClassName[] = "mdi01"; char *szApplicationTitle = "Windowエディタ"; hFrame = CreateWindowEx(NULL,szFrameClassName,szApplicationTitle,WS_OVERLAPPEDWINDOW,100,100,500,500,HWND_DESKTOP,NULL,hInstance,NULL); このコードならばhFrameハンドルは取得され、MDIウ...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIにおける、MDIWindow形成について
返信数: 7
閲覧数: 3155

Re: Win32APIにおける、MDIWindow形成について

今まで動いていたのが、突然動かなくなったのでしたらソリューションとビルドのクリーンを試してみてください。

http://msdn.microsoft.com/ja-jp/library/5tdasz7h.aspx

コピペでソースを書いた場合VSが新たな記述を認識せず正常にコンパイルされていない可能性があります。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib_Init();で動作が停止してしまう
返信数: 3
閲覧数: 2042

Re: DxLib_Init();で動作が停止してしまう

DxLib_Init();関数はハードウェアの
初期化処理を行っているっぽいので被験者のPCの問題ではないでしょうか。

本家の掲示板に似たような議論がございました。
http://hpcgi2.nifty.com/natupaji/bbs/pa ... o=2111&p=1

提示されたソースコードは私のPCでは動きました。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: 4人でじゃんけんをするプログラムの不具合
返信数: 11
閲覧数: 7298

Re: 4人でじゃんけんをするプログラムの不具合

four_judge関数にダイレクトに引数を指定して動かしてみました /* four_judgeの返却値 0 引き分け 1 h1が負け 2 h2が負け 3 h3が負け 4 h4が負け 5 h1が勝ち 6 h2が勝ち 7 h3が勝ち 8 h4が勝ち 9 h1,h2が負け 10 h1,h3が負け 11 h1,h4が負け 12 h1,h2が勝ち 13 h1,h3が勝ち 14 h1,h4が勝ち */ judge = four_judge(2, 0, 0, 1);//パー グー グー チョキ : プレイヤーとNPC2が負け (引き分け) 戻り値は10です。プレイヤーとNPC2が負けています。 for_j...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: Luaをゲームに組み込むと何が出来るのでしょうか?
返信数: 4
閲覧数: 4742

Re: Luaをゲームに組み込むと何が出来るのでしょうか?

みなさまお返事ありがとうございます。

どうやらLuaの事を勘違いしていたようでロジックを記述することに向いているようですね。
使用用途を理解できましたので、解決にいたします。

興味がわいてきたので書籍を購入して勉強します。
ありがとうございました。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: Luaをゲームに組み込むと何が出来るのでしょうか?
返信数: 4
閲覧数: 4742

Luaをゲームに組み込むと何が出来るのでしょうか?

こんにちは、お世話になります。 製作中のSRPGにシナリオを実装したいのですがその実装の仕方で迷っています。 ゲーム内のデータはほぼ外部ファイルから読み込むように作っています、メインのフォーマットはcsvです。 シナリオデータもcsvからの読み込みで実装できそうな気はしているのですが、組み込み型のLua言語が気になっています。 ダウンロードしてLuaのヘッダをインクルードし、C言語からprint命令を用いてHelloLuaを表示させてみましたが、その先、何をすればよいのか方向性が解りません。 Luaを用いればSRPGのシナリオデータも実装可能なのでしょうか? ここでいうシナリオデータとは幕間の...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: ソフトのウィンドウプロシージャを改変する方法
返信数: 4
閲覧数: 3045

Re: ソフトのウィンドウプロシージャを改変する方法

考え方としてなんですが・・・。

ソフトのウインドウプロシージャを乗っ取るのではなく。
グローバルフックを掛け、お目当てのウインドウハンドルを取得し、
そのウインドウ上にカーソルが乗ったらShowWindowを掛けるソフトを書いた方が早いかなぁ・・・?と感じました。

やったことないですが、SetWindowLongPtr関数でウインドウプロシージャの書き換えができるようです。
FindWindowあたりでウインドウハンドルを取得して書き換えればいけるかもしれません。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインターってどんなときに使うの?
返信数: 5
閲覧数: 3106

Re: ポインターってどんなときに使うの?

私はローカル変数を別の関数で弄る時によくポインタ渡しをします。 クラスを生成するときも、newしてからポインタで受け取ります。 SRPGを趣味で制作していますが、ポインタ使わないと見通しが悪いソースが出来上がりそうです。 ローカル変数をポインタ渡しする例 #include "stdafx.h" typedef struct{ int x,y; }position; /*構造体のポインタを受け取って直接書き換える関数*/ //リターンも使わないのでvoidを宣言する void returnstruct(position *lpPos){ //ポインタを受け取って書き換えるのでtempは不要 //...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウのタイトルを非表示に
返信数: 6
閲覧数: 2671

Re: ウィンドウのタイトルを非表示に

この順番ではご不満でしょうか

コード:

SetMainWindowText(" ");
DxLib_Init();
SetWindowText(GetMainWindowHandle(), _T(""));
一瞬だけタイトルバーに1文字分の白背景が表示されますけどすぐに消えます、
100人中99人は気が付かないんじゃないでしょうか。

アプローチが全然違いますが、Loadingって文字にしちゃうのも手ですね。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: 塩基配列
返信数: 14
閲覧数: 3746

Re: 塩基配列

VS2008でコンパイルしました : error C2091: 関数は関数を返せません。 : error C2065: 'str' : 定義されていない識別子です。 : error C2065: 'ch' : 定義されていない識別子です。 : error C2065: 'ch' : 定義されていない識別子です。 : error C2065: 'ch' : 定義されていない識別子です。 : error C2065: 'ch' : 定義されていない識別子です。 : error C2065: 'ch' : 定義されていない識別子です。 コードの内容までは精査していませんが、ここを直せばとりあえず動く...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: 敵の出現及び消滅処理について質問したいことが・・・
返信数: 12
閲覧数: 4154

Re: 敵の出現及び消滅処理について質問したいことが・・・

苦言になりますがコードが非常に読みにくいです。 menyu等のローマ字表示は止め、menuと誰が見ても判るように書くべきだと思います。 後々、自分で読み返しても解読が困難になると思います。 3回も呼ばれているのを考えてはどうかと書きましたが、何故3回呼ばれているか考えたでしょうか? if(zahyo == haikei.sizeY){ if( patan == false ){ patan = true; } } このteki_ugoki関数を呼び出しているwhileループの中でここの条件式内の 数値が変化していないループがあるので3回呼ばれているのです。 今回提示いただいたコードではzahy...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: 敵の出現及び消滅処理について質問したいことが・・・
返信数: 12
閲覧数: 4154

Re: 敵の出現及び消滅処理について質問したいことが・・・

どうしたら一度で済むのかではなく、何故3回も呼ばれているのかを考えてはいかがでしょうか。
これ以上は情報が不足していますので、こちらも返答できません。

呼び出し元のコードも提示してみてください。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: 敵の出現及び消滅処理について質問したいことが・・・
返信数: 12
閲覧数: 4154

Re: 敵の出現及び消滅処理について質問したいことが・・・

情報が不足しているので以下は推測になります 敵番号0を初期化したいにも関わらず、それ以上に敵が初期化されてしまう原因は for( n = 0; n < teki_kazu; n++ ) if( teki_S[n].fulg == false && patan == true ) { teki_S[n].X = X; teki_S[n].Y = Y; teki_S[n].idouX = idouX; teki_S[n].idouY = idouY; teki_S[n].count = 0; teki_S[n].HP = HP; teki_S[n].score = sukoa; teki_S[n]...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: 敵の出現及び消滅処理について質問したいことが・・・
返信数: 12
閲覧数: 4154

Re: 敵の出現及び消滅処理について質問したいことが・・・

敵の初期化、残り体力判定、描写を全て一気にやっているところが怪しい気がします。

これでは敵が規定のダメージを超えても直ぐに初期化されて敵は復活しませんか?
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: MySQLを用いてC言語でデータベースにアクセスするプログラム
返信数: 7
閲覧数: 6682

Re: MySQLを用いてC言語でデータベースにアクセスするプログラム

私がC言語を始めた動機がスレ主さんと全く同じ動きをするプログラムを書きたくて勉強を始めました。 構成はSQLServer(ODBC接続)+Winsock+WINAPIで組みましたが、完成から2年経って問題なく業務で使用しています。 ODBCはリファレンスも少なくかなり苦労しました。C言語の勉強を始めてから2年位で完成しました。 ただ、次同じプログラムを書くならば.netを勉強して別言語で書くと思います。正直マゾかったです。 懐古はさておき、次やるのはC言語からMySQLを制御するといいとおもいます。 方法はいろいろあるようですが、私はODBCで接続しました。(当時それしか知らなかった) リフ...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: キャラ同士の重なりについて
返信数: 105
閲覧数: 52211

Re: キャラ同士の重なりについて

ソースをDLしようとしたのですが404だったのでソースは読めておりませぬ。 ただ、私が過去に実装したのと似たようなことで悩んでいるのかなと思ったので投稿します。 SRPGを作っているのですがキャラ同士の重なりについて考えた時がありました。実装内容は。 味方ユニットは味方とNPCを通過でき、敵ユニットは通過できない。 敵ユニットは敵ユニットは通過でき、味方ユニットとNPCは通過できない。 NPCは味方ユニットは通過でき、敵ユニットは通過できない。 実装方法はマップの大きさと同じで、どのキャラがマップ上にいるかを保存しておく二次元配列を用意し キャラクタが動くたびそこに所属をフラグを書き込み、もと...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2台同時
返信数: 13
閲覧数: 5114

Re: 2台同時

失礼しました。大丈夫でしたね。

動かしてみたところ、左側の車はEとDで上下しFで右に曲がりました
テンキーの上下左で右側の車が上下、そして左に曲がりました。
DとF同時に押し、更に上と左を押したところ、左右の車が二台同時にくるくる回りました。

アタゴさんが仰る目的の動作はしているように思えます。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2台同時
返信数: 13
閲覧数: 5114

Re: 2台同時

パッと見た感じ、このコードだと上を押したら二台とも上にいっちゃいませんか?

コード:

int Key[256];
ここの変数を両方のクラスから参照しているためです。
グローバル変数を共有せずにそれぞれのクラスへ分けましょう。

これだと、車は二台あるけどハンドルは一個で操縦している感じです。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: STLのvectorの使い方について教えてください
返信数: 7
閲覧数: 3742

Re: STLのvectorの使い方について教えてください

ああぁ!すいません、凡ミスで解決しました。

xstringで落ちていたので、lpMyUnitを確認したところデータが全くロードされていませんでした。
lpMyUnitのロード→MyUnitクラスのインスタンス化とするべきところを
MyUnitのインスタンス化→lpMyUnitのロードという逆の順番になっていて落ちていました。

お二方アドバイスありがとうございました。解決とさせていただきます。
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: STLのvectorの使い方について教えてください
返信数: 7
閲覧数: 3742

Re: STLのvectorの使い方について教えてください

>>beatleさん >ところで、MyUnitコンストラクタで使っている lpMyUnit がとても気になります。 >添字オーバーとかしていませんか? printf関数を噛まして、1ステップ実行しながら調べてみたところ MyUnitコンストラクタ内のlpMyUnitからUnitData udへコピーする箇所で落ちてました。 int uniqueを0にハードコートしても落ちてしまいます。 普通にMyUnitクラスをnewすることは可能なのですが、原因が掴めません。 MyUnit::MyUnit(int unique){ ud = lpMyUnit[unique];//ここでxstringヘッダフ...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: STLのvectorの使い方について教えてください
返信数: 7
閲覧数: 3742

Re: STLのvectorの使い方について教えてください

Suikabaさん、beatleさんご返信ありがとうございます。 MyUnitコンストラクタの定義は以下です //----------------------------------------------------------------------------- //コンストラクタ //ユニーク番号を引数に取り、キャラクタを生成する //----------------------------------------------------------------------------- MyUnit::MyUnit(int unique){ ud = lpMyUnit[unique]...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: STLのvectorの使い方について教えてください
返信数: 7
閲覧数: 3742

STLのvectorの使い方について教えてください

SRPGを制作している中で、キャラクターのインスタンスをvectorで管理しようと思っています。 クラスへのポインタを扱うvectorをCCreateForceクラスで宣言し、MyUnitクラスを格納したいです。 CCreateForce::AddUnit関数内でvectorコンテナに代入をしているのですがプログラムが強制終了してしまいます。 デバッカで追っかけたところ、 MyForce.push_back(new MyUnit(add )); vectorへの代入文で終了しているようです。 正しい使い方を教えてください。お願いします。 ////////////////////////////...
by taketoshi
10年前
フォーラム: C言語何でも質問掲示板
トピック: CSV(文字列)を二次元配列に格納する方法
返信数: 10
閲覧数: 10618

Re: CSV(文字列)を二次元配列に格納する方法

可変長で書くためには固定長でのコードが書けないと難しいと思います。 ロジックさえ理解していれば後から可変長に書き直せますので、まずは固定長で書いてみてはいかがでしょうか。 私は決まったフォーマットのcsvファイルの読み込みを構造体で実施します。 takomanさんのコードに手を加えたものを掲載しておきますので、良かったら参考にしてみてください。 #include <stdio.h> #include <string.h> #include<stdlib.h> //問題を格納するための構造体 typedef struct{ char a[5][100]; }Question; int main(...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: Platinumの使い方 パーツ画像について
返信数: 12
閲覧数: 5983

Re: Platinumの使い方 パーツ画像について

verはいくつを使われていますか?

最新版は1.81betaのようです。

http://www.hyperdevice.net/
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: Platinumの使い方 パーツ画像について
返信数: 12
閲覧数: 5983

Re: Platinumの使い方 パーツ画像について

ツール→ビットカウントの変更→パーツアライメントの固定のチェックボックスを外す

これでどうでしょうか。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: C言語プログラムをどうやって勉強しているか
返信数: 3
閲覧数: 2181

Re: C言語プログラムをどうやって勉強しているか

書籍で基本的な構文を繰り返し読んで勉強し
読んだことをひたすら書き進め、理解したら自分で応用していくのが良いとおもいます。
私はA4に収まるような簡単で小規模なプログラムを500位書きました。
内容は簡単な足し算からポインタ演算とかいろいろです。

前ピアノが弾け、即興で音楽が作れる友人に
「どうやったらそんなこと出来るようになるんだ?」と尋ねたことがあったのですが
友人は「楽譜を2000枚位書けば出来るようになるよ」といってました。

同じことだと思います。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: デバッグ(gdb)を使ってプログラムのエラーを見つける
返信数: 23
閲覧数: 15662

Re: デバッグ(gdb)を使ってプログラムのエラーを見つける

質問に対する異なる指摘ではありますが VisualStdio2008でコンパイルしてみました。 int pack_checktable(){ int k, h; for (h = 0; h < ptr; h++){ if (checktable[h].flag == Text_File) continue; checktable[k] = checktable[h]; k++; } } こちらの関数はint型を戻り値としていますが、return文がありません。 それ以外にも関数のボトムアップ宣言がされておらず、 main関数からそれ以下の関数が見えず呼び出すことができないです。 あと、pack...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: シナリオシーンの作り方について教えてください
返信数: 9
閲覧数: 3794

Re: シナリオシーンの作り方について教えてください

解決を保留していましたが、無事FEのような
幕間イベントシーンを再現できたので、このトピックを解決にします。

アドバイスいただきありがとうございました。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: シナリオシーンの作り方について教えてください
返信数: 9
閲覧数: 3794

Re: シナリオシーンの作り方について教えてください

>>usaoさん アドバイスありがとうございます。 その方法も考えたのですが、既にあちこちfloatでコードしてあり すべて書き直すのは大変だったので実装しませんでした。 次実装するときはint型の数値をカウンターとしてプログラム側で調整したほうが楽かとも思いました。 今回は以下のように判定用の関数を書き直しました //----------------------------------------------------------------------------- // 名前 : FloatCalc // 引数:  // 戻り値: 差分許容内 = TRUE ( 1 ) // 許容外 =...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: シナリオシーンの作り方について教えてください
返信数: 9
閲覧数: 3794

Re: シナリオシーンの作り方について教えてください

!=もだめなのですね。

差分を計算してスタートゴールを考えて見ます。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: シナリオシーンの作り方について教えてください
返信数: 9
閲覧数: 3794

Re: シナリオシーンの作り方について教えてください

時間が経ってしまいましたが、詰まってしまったので質問させてください。 csvにシナリオテキストと背景画像の表示位置を記述し 行ごとに読み込んでいく形で、FEみたいなシナリオシーンを半分くらい再現できました。 テキストファイルの進行具合にしたがって 背景画像をDrawRotaGraph2関数でぐりぐり拡大縮小して 動かしているのですがその中で質問があります。 DrawRotaGraph2関数の引数に拡大率で浮動小数点が使われておるのですが 背景画像の拡大縮小の計算の中floatの比較を行っております。 floatを比較すると浮動小数点なので全くうまくいきません。 何か良い方法はないでしょうか・・...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: シナリオシーンの作り方について教えてください
返信数: 9
閲覧数: 3794

Re: シナリオシーンの作り方について教えてください

>>softyaさん ご返信ありがとうございます。 >シナリオにどんな機能が必要かを設計するのが先です。 >例えば、画像の位置を固定すれば座標も必要ありませんし、画像ファイル名ではなく番号で済ますこともできます。 >ただし、ウィンドウを上下に移動出来たりとか、条件分岐などを考慮したりとかを始めると複雑になってきます。 ウインドウとテキスト表示位置は固定とし、 テキストの表示進行順に従って背景絵(舞台となる陸地の地図を表示するつもりです)を 目的地に動かし、辿ってきた進行ルートを簡単に表示して、出発地には味方ユニットのバストアップ画像を表示し 目的地には敵のバストアップ画像などを表示する機能にし...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: シナリオシーンの作り方について教えてください
返信数: 9
閲覧数: 3794

シナリオシーンの作り方について教えてください

こんにちは。お世話になります。 現在SRPGのシナリオシーンの勉強をしています。 ここを参考にhttp://dixq.net/g/50.html サウンドノベル風に文字を描写するクラスを作ったところです。 ここから文章の進行具合にあわせて背景を描写していけばシナリオシーンが作れると思うのですが シナリオを外部ファイルにまとめる方法とクラス設計についてご質問があります。 外部csvファイルにシナリオを纏める場合 テキスト + 表示する画像ファイル情報 + 画像の位置 を書き込むと思うのですが、どの様に書き込めば良いでしょうか? 正直にすべて書くと物凄く冗長になると思うので、何か良い方法があったら...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: マウスクリックに反応せず、その後ろのウィンドウがそのクリックに反応するようなウィンドウを作成したいのですが、
返信数: 3
閲覧数: 3935

Re: マウスクリックに反応せず、その後ろのウィンドウがそのクリックに反応するようなウィンドウを作成したいのですが、

壁紙の一つ手前ということは常に一番後ろということでしょうか?

みけさんが提示している透明ウインドウを作成し
WinApiのSetWindowPosを用いて常に一番後ろにウインドウをセットすれば実現できそうな気がします。

参考サイト
http://www.geocities.jp/ky_webid/win32c/061.html
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: クラスのプロトタイプ宣言について質問があります
返信数: 3
閲覧数: 3209

Re: クラスのプロトタイプ宣言について質問があります

>>ISLeさん

プロトタイプ宣言じゃなかったんですね。
不完全型宣言とは初めて知りました。ググったところどのようなものか理解できました。
そのうちこんなクラスが出てくるよーってコンパイラに教えてるみたいですね。

>>せんちゃさん
普段こういった書き方をしているので、今回一つのcppに書いたときこのエラーが出たのが不思議でした。
今後はヘッダーで分けていけば問題はなさそうです。

お二方ありがとうございました。
解決といたします。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: クラスのプロトタイプ宣言について質問があります
返信数: 3
閲覧数: 3209

クラスのプロトタイプ宣言について質問があります

こんばんわ、お世話になります。 あるクラスのprivateメンバ、protectedメンバをほかのクラスで参照したいです。 参照するため、別クラスのポインタをメンバに持たせて privateメンバにアクセスする方法を考えてみたのですが、クラス自体のプロトタイプ宣言について質問があります。 試しに以下のコードを書いてみましたが 1>c:\users\admin\desktop\aaa\aaa\aaa.cpp(22) : error C2512: 'foo' : クラス、構造体、共用体に既定のコンストラクタがありません。 1>c:\users\admin\desktop\aaa\aaa\aaa.c...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】プログラミングについて 皆さんに訊いてみたかったことなのですが・・・・
返信数: 18
閲覧数: 9284

Re: 【雑談】プログラミングについて 皆さんに訊いてみたかったことなのですが・・・・

1、プログラミングに興味を持ったのはいつであるか、また勉強し始めたのはいつか? 28歳位のときで3年くらい前です。大学のとき講座で少しやったくらいでほぼ初心者でした。 年齢的には結構遅いほうだと思います。 2、何に触発されてプログラミングに興味を持ったか 自社の業務システムを開発したくてプログラムの勉強を始めました。 その後、自力でシステムを開発して現在業務で使用しています。職種はプログラムとは全く無縁です。 3、(C、C#、C++、Java)のなかでどの言語を一番初めに触れたか。(おそらくCかJavaだとは思いますが・・) C言語→C++→C#→で再びC++に戻ってきました。ほとんどC++し...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: 透明なウィンドウの枠だけが消えない
返信数: 4
閲覧数: 2962

Re: 透明なウィンドウの枠だけが消えない

>>WS_POPUP

のみにしたところウインドウの線が消えました。
お試しください。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: 透明なウィンドウの枠だけが消えない
返信数: 4
閲覧数: 2962

Re: 透明なウィンドウの枠だけが消えない

>>WS_POPUP | WS_BORDER,

ここをWS_OVERLAPPEDWINDOWでどうでしょうか。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルから読み込んだ文字列について
返信数: 4
閲覧数: 2236

Re: ファイルから読み込んだ文字列について

今まで出来たことが急に出来なくなったのならコードではなく
VisualStdioやWindowsのファイルパスが悪さをしている気がします。

ソリューションのクリーンをして再ビルドしてみてはいかがですか。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: 押し続けの回避処理
返信数: 44
閲覧数: 13130

Re: 押し続けの回避処理

WM_LBUTTONDOWNみたいな処理が必要ということでしょうか?

こちらが参考になると思います。
一つ前のフレームのボタンの押し下げ状態を変数に記録しておきましょう

http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=1196
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: メンバ変数をキーに自分自身をdeleteしたい
返信数: 18
閲覧数: 8150

Re: メンバ変数をキーに自分自身をdeleteしたい

>>ISLeさん

explicitという宣言がshared_ptrのコンストラクタについていました。
之が暗黙の型変換の禁止なんですね。ありがとうございます。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: メンバ変数をキーに自分自身をdeleteしたい
返信数: 18
閲覧数: 8150

Re: メンバ変数をキーに自分自身をdeleteしたい

もう一点スマートポインタの使い方についてご教示お願いします。 下記のようなコードを書いたのですが、スマートポインタに代入する際なぜ 型名(new int())の記述なのでしょう。 スマートポインタ変数 = new int();ではだめでした。スマートポインタがどの様に動いているのか教えていただけると有難いです。 #include "stdafx.h" #include<memory> using namespace std; using namespace std::tr1; int _tmain(int argc, _TCHAR* argv[]) { //型を宣言する typedef sha...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: メンバ変数をキーに自分自身をdeleteしたい
返信数: 18
閲覧数: 8150

Re: メンバ変数をキーに自分自身をdeleteしたい

>>ISLeさん ソースコードのご提示ありがとうございます。 VS2008SP1を入れていなかったため、 shard_ptrを使用する環境の構築に時間がかかってしまいました。 提示いただいたブログは読ませていただきましたが クラスの継承関係などの知識が不足していたため、十分に理解できませんでした。 スマートポインタを使った事がないのですが、後から提示いただいた shard_ptrのコードは理解が出来そうです。 コンテナのlistはメモリの確保必要ないですし、pushbackで要素の一番最後に代入できるので、 空きスペースを探すためわざわざnullポインタを代入する必要もないと思いました。 今作...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: メンバ変数をキーに自分自身をdeleteしたい
返信数: 18
閲覧数: 8150

Re: メンバ変数をキーに自分自身をdeleteしたい

やりたいことは、スコープを抜けての自動deleteではなく DXライブラリの中のwhile文で回っているスコープ内での敵クラス等の管理になります。 たとえば、そのなかで宣言している敵クラスへのポインタ変数を //例 #define enemymax 100 enemy *en[enemymax]; のように予め登場する敵の最大数へのポインタを宣言しておき 20体の敵がプログラム上に登場しているときは敵ポインタen[20]までの要素を使用している たとえばen[15]の要素を持つ、敵のHPが0になった場合はen[15]をdeleteしNULLを代入し次の敵が出現するタイミングを待ちます 次の敵が...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: メンバ変数をキーに自分自身をdeleteしたい
返信数: 18
閲覧数: 8150

Re: メンバ変数をキーに自分自身をdeleteしたい

みなさんアドバイスありがとうございます。 アドバイスいただいた後、デバックしたりメモリのアドレスを表示したりして考えました。 メンバ変数をキー値として、自分自身をdeleteし、そして新たにインスタンスを生成という手順を 同じポインタ配列を使いまわし、要素数は一番小さい場所を使うようにNull値を代入したかったです。 thisポインタがconstだったのにdeleteできちゃうところが非常に疑問でした。 おおよそdicさんがアドバイスしていただいた動作をしていたのだと思っております。 メンバ関数内で必ずしもdeleteすることにはこだわっておらず thisポインタをreturn出来ると教えてい...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: メンバ変数をキーに自分自身をdeleteしたい
返信数: 18
閲覧数: 8150

メンバ変数をキーに自分自身をdeleteしたい

あるクラスのメンバ変数(たとえばヒットポイントが0になったら)を監視し 条件を満たしたらインスタンスを自分自身でdeleteしたいです。 試しに、以下のようなコードを書いてみました。 xをキーにして、thisポインタを渡しdeleteしています。 そしてそのポインタは後で再利用したいので、NULLを代入しておきます。 ステップ実行で追っていくと、インスタンスがdeleteされてNULLで初期化されているのですが 再利用しようとするとif文が実行されずインスタンスが生成できません。 ステップ実行で追っていくときちんとNULLで初期化はされているようなのですが・・・。 thisポインタがconst...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: 武器とアイテムの実装方法について
返信数: 7
閲覧数: 5096

Re: 武器とアイテムの実装方法について

>皆様アドバイスありがとうございます。 結果的に読み込む武器データにすべてが0のアイテムを持っていない状態を定義することと 武器とアイテムの区別は装備フラグをつけて対応しました。 また、以下のようにクラス設計してアイテムを実装しました キャラクタークラスでアイテムクラスのポインタを所持し、インスタンス化して使っています。 dicさんに教えていただいた形で実装できました。 /////////////////////////////////////////////////////ItemTask////////////////////////////////////////////////////...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: 武器とアイテムの実装方法について
返信数: 7
閲覧数: 5096

Re: 武器とアイテムの実装方法について

お二方ご返信ありがとうございます。 専門の方のご意見を聞けて少し前に進んだと思います。 実装方法に関して武器に関して装備できるフラグを設ければ解決するというのは少しだけ考えていました。 ただヒットポイントを回復する傷薬に対しても「命中率とかを設けなければいかないのか・・・」とも思っていました。 クラス継承とかはあまり得意ではないので、softyaさんに教えて頂いた方法は近道だと思っています。 >>dicさん ご提示いただいた方法は、今考えている方法を進めた結果になると思います。 ここの宣言よくが分からないので教えていただけないでしょうか。(それ以外はなんとなく理解できております) *** it...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: 武器とアイテムの実装方法について
返信数: 7
閲覧数: 5096

武器とアイテムの実装方法について

こんにちは。 SRPGを作っており、ユニットが装備する武器と所持できるアイテムを実装したいと思っています。 そこで、実装方法についてご質問があります。 今は武器データをcsvから読み込んだ所で、どのように実装するべきか迷って止まっています。 将来的に、ユニットが所持できるアイテムはアイテム+武器含め8個にし まとめて管理したいと思っていますが武器クラスとアイテムクラスに分けるとそれが難しそうだと感じています。 また、武器は装備できユニットの影響を及ぼし、アイテムは使用できるといった切り分けもしたいと思います。 このような場合は、どのように実装するとベストでしょうか? 稚拙ですが実装中のコードを...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: 2.9章について
返信数: 4
閲覧数: 2188

Re: 2.9章について

その考え方で合ってますよ。 さらに確認するために if( Key[KEY_INPUT_Z] >= 60 )/* Zキーが入力されて1~59フレーム目は偽となるので実行されず、whileに戻る。 */ { DrawFormatString( 0, 0, GetColor(255,255,255), "?!" ); } の部分を DrawFormatString( 0, 0, GetColor(255,255,255), "Zの値 = %d", Key[KEY_INPUT_Z]); に書き換えてKey[KEY_INPUT_Z]に代入されている数値を見てみると挙動が解り易いです。 押してる間は数値が...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: スーファミのAボタンのような処理を実装したい
返信数: 3
閲覧数: 1891

Re: スーファミのAボタンのような処理を実装したい

softyaさんdicさんアドバイスありがとうございます。 アドバイスいただいてからずっと考えていて、以下のように実装しなおしました。 かなりコードもすっきりして、目的どおりの処理を施すことが出来ました。 この遷移状態を保存しておく技術は他のシーンでも役に立ちそうです。ありがとうございます。 //*各スイッチ部分を関数として分離する //*メニューの描写フェーズをここから抜き出し独立させる //*Switch化したことで不要なフラグが出てきているので整理する int Charcter::MoveCharProc(Cursor *Cur){ switch(nStatusTransition){ ...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: スーファミのAボタンのような処理を実装したい
返信数: 3
閲覧数: 1891

スーファミのAボタンのような処理を実装したい

現在SRPGを製作しています。 スーファミのAボタンのように、ひとつの処理に対してボタンを押したら決定し 様々なシーンに対応するといったような処理を施したいです。 今書いている決定処理は 2.9章 全てのキーの入力状態を取得する の処理を使っています。 http://dixq.net/g/02_09.html DXライブラリのメインループのwhile文にこの関数を加えると常時キーの状態が取得できるのですが いざボタンを押したときは、関連する処理が一気に実行されてしまいます。 SRPGの移動処理で例えると キャラクタ選択→移動場所決定→移動後のメニュー表示→待機のようにボタンを押される度順次実行...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: 猫でもわかるネットワークプログラミング第2版最初のプログラムについて
返信数: 2
閲覧数: 2269

Re: 猫でもわかるネットワークプログラミング第2版最初のプログラムについて

ヘッダファイルをインクルードするだけでは動きません
関数の実態はWinInet.Libに記述されているのでこのライブラリをプロジェクトに参加させて下さい。

もう少し読み進めるとWinsockの話になりますが
Winsockもヘッダファイルのみではなくライブラリを参加させて下さいね。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: STLのstring型への演算子の使い方について質問です
返信数: 3
閲覧数: 2137

Re: STLのstring型への演算子の使い方について質問です

お二方アドバイスありがとうございます。

なんか思いっきりズッコけていた気がします。

コード:

string as = str2 + "U";
これと同意なんですね。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: SRPG移動範囲と移動経路の求め方
返信数: 10
閲覧数: 6644

Re: SRPG移動範囲と移動経路の求め方

>>YuOさん 解説ありがとうございます。 ブレークポイントをかましてステップ実行していましたがそもそもstringの仕様を理解していなかったので UUUURLRとかどんどん文字が追加されていて悩んでいました。文字列の渡し方がおかしかったので大体この辺かなと睨んでいたのです。 別スレで回答をいただいたので理解は深まりました。 >>ちなみに,経路履歴持たせる実装書いた人間が書くのもなんですが,経路は逆演算で求められます。 softyaさんにご紹介いただいたページにこの経路方法も載っていたので試してませんが方法は知っていました。 ただ、読んでも理解が難しかったので言葉で説明いただいて感謝します。 ...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: STLのstring型への演算子の使い方について質問です
返信数: 3
閲覧数: 2137

STLのstring型への演算子の使い方について質問です

末尾に文字列を追加したくて、以下のようにテストコードを書きました string型に+演算子を用いたら文字は追加できませんでした。 そして、関数に引数を渡すときにはstring + 文字列で渡したところ 関数側で末尾に渡した文字列を追加したデータを表示することが出来ました。 引数として渡すときstring + 文字列が有効なのはなぜでしょうか? // string型テスト.cpp : コンソール アプリケーションのエントリ ポイントを定義します。 // #include "stdafx.h" #include<string> using namespace std; //string型の引数を受...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: SRPG移動範囲と移動経路の求め方
返信数: 10
閲覧数: 6644

Re: SRPG移動範囲と移動経路の求め方

悩み続けましたが経路文字列まで取得できました! 経路文字列の渡し方がだめだったようです。 以下の箇所を手直ししたところうまく取得できました。 //修正前 //暫定的にコストは-1 //最後の文字列が経路情報  if(di != 3)Serch2(ax,ay-1,cost-1,1,str += "U");//上 if(di != 4)Serch2(ax+1,ay,cost-1,2,str += "R");//右 if(di != 1)Serch2(ax,ay+1,cost-1,3,str += "D");//下 if(di != 2)Serch2(ax-1,ay,cost-1,4,str += ...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: SRPG移動範囲と移動経路の求め方
返信数: 10
閲覧数: 6644

Re: SRPG移動範囲と移動経路の求め方

お二方お返事ありがとうございます。 >>YuOさん リンク先のアルゴリズムだと、一度チェックしたところは再計算してくれないので そこから先に伸びない箇所が存在してしまうということが分かりました。 残りの移動コストを記録するようにして、渡されたコストが記録されたコストより大きければ処理を抜けるようにしました。 そうしたところ、きれいなひし形を描きました。 >>softyaさん ご提示ありがとうございます。移動経路はここを参考に書いておりました。 今どのようにやるか思考中ですが、経路はうまく記録できなくてとまっています。 スタックとかキューとかつかうんでしょうか・・・。 / 移動範囲検索テストP....
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: SRPG移動範囲と移動経路の求め方
返信数: 10
閲覧数: 6644

Re: SRPG移動範囲と移動経路の求め方

アドバイスありがとうございます。

少しデバッグかけてみたところ怪しい箇所を発見しました。
時間をかけて調べてみます。まだ解決とせず再度報告させていただきます。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: SRPG移動範囲と移動経路の求め方
返信数: 10
閲覧数: 6644

Re: SRPG移動範囲と移動経路の求め方

ところどころブレークポイントを設定して数値をみてみましたがわかりませんでした。

ブレークポイント設定以外に何かよい追いかけ方はありますか?
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: SRPG移動範囲と移動経路の求め方
返信数: 10
閲覧数: 6644

SRPG移動範囲と移動経路の求め方

移動範囲と経路を求めるプログラムを http://gumina.sakura.ne.jp/CREATION/OLD/MAKING/SESS03.htm こちらを参考に書いたのですが、うまく動作しなくて迷っています。 元言語はdelphiで書かれているようで読み解きながらCにしてみました。 狙った動作は移動範囲がひし形になり、移動経路もstring型の変数に記録したいです。 実際動作させるとひし形ではなく経路探索が途中で途切れてしまっています。移動経路も少しおかしいです。 コードは以下のように書きました。ご指導をお願いいたします。 // 移動範囲検索テストP.cpp : コンソール アプリケーシ...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: string型を動的確保して解放するとエラーが出ます
返信数: 4
閲覧数: 3398

Re: string型を動的確保して解放するとエラーが出ます

重ねてありがとうございます。デストラクタの問題だったんですね。

STLのvector<string>も使ったことがあるので、なんとなく理解できます。
必要に応じて使っていきます。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: string型を動的確保して解放するとエラーが出ます
返信数: 4
閲覧数: 3398

Re: string型を動的確保して解放するとエラーが出ます

softyaさんありがとうございます。

かなり基本的な事でした。解決といたします。
ポインタ配列を解放するのは[]がいるんですね、

#他にもint型の多次元配列を似たように確保→解放していたのですが
#エラーを吐くのはstring型だけでした。int型は何事もなかったかのように終了しちゃうんですね。。。
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: string型を動的確保して解放するとエラーが出ます
返信数: 4
閲覧数: 3398

string型を動的確保して解放するとエラーが出ます

以下のようにstring型の二次元配列を動的確保して解放すると プログラム終了時にBlock_Type_IS_VALIDと怒られます。 string型ってポインタでも自動的に解放してくれるのでしょうか? //変数定義 static string **MoveDirection; //確保と解放処理 int size = s_map.width; int size2 = s_map.height; //目的地に行くまでの経路を保存するstring型の二次元配列を用意する MoveDirection = new string *[size]; for(i = 0;i < size;++i){ Mo...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: SRPGキャラクタをマップに沿って移動させる処理について
返信数: 1
閲覧数: 1372

SRPGキャラクタをマップに沿って移動させる処理について

こんばんわ。現在SRPGの勉強をしていてキャラクタの移動処理を書いています。 カーソルでキャラクタを掴み、カーソルが指定したところまでキャラクタを移動させることが出来たのですが マップのマス目に沿ってカクカクと移動させる処理が思いつきません。どのように実装しているのでしょうか・・・? XとYを同時に処理しているせいかナナメ移動してしまいます。 ご教授お願いいたします 現在のコード int Charcter::MoveChar(Cursor *Cur){ //カーソル移動入力 if(Cur->nPos_x % 32 == 0 && Cur->nPos_y %32 == 0){ if(Key[KE...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: インスタンスをリサイクルするのはスマートではないでしょうか?
返信数: 7
閲覧数: 3209

Re: インスタンスをリサイクルするのはスマートではないでしょうか?

アドバイスありがとうございます。 しばらく理解できなかったのですが、少し考えているうちに頭の中でイメージできるようになりました。 以下のように要所を書き換えて、読み込み前にハンドルを要求する関数をかませました。 多態性を確保する一歩を踏み出せたかと感じています。 これに対して、STLのmapクラスを用いて、キーとペアにしてハンドルを返す関数を組みなおせば キャラクター構造体に代入した数値から画像ハンドルを引き出せるプログラムが組めると考えています。 //キャラクタ画像管理クラス class CharImage : public CharBase{ public: static void Loa...
by taketoshi
11年前
フォーラム: C言語何でも質問掲示板
トピック: インスタンスをリサイクルするのはスマートではないでしょうか?
返信数: 7
閲覧数: 3209

Re: インスタンスをリサイクルするのはスマートではないでしょうか?

すいません、ひとつ質問があります softyaさんの発言に対してなのですが >画像ハンドルを保持している場合は、画像ハンドルは別クラスで管理しましょう。 これはどのように実現すればよいでしょうか。 サンプルを書き出してみたのですがDraw関数のところで、ハンドル名を直指定してしまっているため キャラクタークラスを作っても同じ画像が表示されるようにしか書き出せませんでした。 main関係は省略しています //キャラクター定義構造体 typedef struct CharcterData{ string szName; int HitPoint; int Move; }CharData; //キャ...

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