1人でゲームが作れるように修行します。at GAMEDEV
1人でゲームが作れるように修行します。 - 暇つぶし2ch364:名前は開発中のものです。
08/09/16 23:24:40 4dpJpoja
>>363です。
連休中何もせず。今日は30分程触った。選手8人分の座標初期化に失敗。
変数の範囲のprivateをやめてpublicにしてみようと思ったところで終了。

365:名前は開発中のものです。
08/09/17 23:22:54 EW7hSUlh
>>364です。
アップしてから誰もいなくなった感じ・・・orz
ソースファイルを付けた事がいけなかったのかもしれないような気がしてきた。
ここはプログラマ板ではないからスレ違いに思われたのかも・・・。
ゲーム製作板らしく次からのアップは実行ファイルのみでなんとか話せるよう頑張りますw(独り言)

8人表示は予想外で一応出来たけど、何故上手く行ったか自分でもよくわかっていないorz
ただし、キーで動かせるのは自分のフォワードのみ。
それでもいいから次に行く事にして今度の目標は、ゴールの表示。
書き込みペースは少しダウンするかもしれませんが・・・。



366: ◆PSPI/D/D3o
08/09/17 23:31:23 Yd05IpA6
熱出て寝てた(・∀・)

弾表示のソートをしようと思ったらソートしなくても正常に表示されたりよくわからん
120方向弾とか見てたら目が変になった

367:358
08/09/18 01:20:07 FPeWRLke
連休はエンジョーイしてました。

思えばコマンド戦闘の処理ってどうやるんだろうなあ、と考察しつつも図は描けておりません。
最終的なプログラムの環境はC++&DirectXの組み合わせでやろうと思ってるので
その辺のことが書かれてるサイトめぐりしていました。

クラスの抽出とか不安要素は多いですがこっちも平行で進めていければと思います。



368:名前は開発中のものです。
08/09/18 23:49:39 n8c9UUdR
>>365です。
今日は進捗0でした。orz
最近時間が取りにくくなりつつあり、昨日ペースダウンと書いたのはそれが理由ですので大丈夫です。w

季節の変わり目は風邪引きやすいそうなので自分も気をつけます~。
自分はバグの逆の様な感じで原因不明で上手く動いてる箇所が結構あるけど、今はそのままにしてますw

目指しているのがサッカーゲームで、しかも勉強中レベルなのでコマンド戦闘に関して何も言えませんが、
お互い精進しましょ~。

369:358
08/09/19 01:41:59 jhD1w2oP
>>368さん

台風にも負けずがんばりましょう。

書き込んでから数日ですが早速当初の予定から逸脱してプログラムに取り組み始めました。

一先ずこんな感じで設計をはじめました。
かなり大枠で分けてますが、責務分けの観点だとこんな感じかなというところ。

GameMain(WinMain関数が含まれるエントリ)
┗ CGameAppクラス(アプリケーション動作を管理するクラス)
┣CGameWndクラス(ウィンドウ生成・表示を行うクラス
┗CDXGraphics(DirectXGraphicsの生成、デバイスアダプタ、DirectXGraphicsを使用する描画を行うクラス)

また上記とまったく関係ないですが特許電子図書館なんてのを見つけゲーム関係を興味本位で調べてみましたが
いろんな用語や開発の手法が新生されていてびっくりしました。
「人生ゲーム」とか「○○ゲーム」なんてのは大概登録されてるのでなんとなしにつけても著作権うんたら引っかかってしまいそうですねえ。
まぁそこまで考える必要はまったく無いのでしょうけどね。






370:名前は開発中のものです。
08/09/20 00:22:44 Bnkye9Uc
>>368です。
がんばりましょー。
今日は頭の中で考えただけで終了orz
プログラム開始との事でクラス分けも出来てるとなるとかなり早く進みそうな雰囲気ですね~。
特許電子図書館見てみました。「サッカーゲーム」でも色々登録されていました。
ネットであまりソースを見かけないのはもしかすると特許を恐れてるからなのだろうか?などと想像してみたw

371: ◆PSPI/D/D3o
08/09/24 01:03:45 /GusHeHA
弾生成部分を拡張中(・∀・)
複雑なショットを作りやすく

372:358
08/09/24 21:12:19 orZW5kCq
とりあえずウィンドウ作成からDirect3Dの初期化を行うまで完了。
後、ネットをさまよっていた所「マルペケつくろー」さんの「ビルボード文字」というのを見つけて
それを元に文字表示クラスを作っていましたが自前ではどうしてもエラーが出てしまい、
どつぼったので一先ず自作は置いといてマルペケさんのをそのまま組み込んで文字表示機能を使って完成(?)。

今度は気分転換に各キャラクターを管理するマスターリストクラスの作成に着手したいと思います。


>>370
確かにマリオ式なアクションゲームとか3Dマップを用いたダンジョン物、RPGなんて画材はよく書籍で見ますが
サッカーゲームってあまり見ないですね。

結局はアクションゲームを拡張させる形になるのでしょうけど近いサンプルがほしいですね。

>>371
コーディングの次段階ですか早いですねえ。(この段階は呼び名あるんでしょうか?)
予断ですが最近本屋うろついてたら「シューティングゲームアルゴリズムマニアクス」なんてのがありました。
ちょっと面白そうだったんで買ってしまいました。
(まだよく読めてないですが・・・)




373:名前は開発中のものです。
08/09/25 00:18:04 agBXh1hs
>>370です。
>365のゴール表示は初期化が上手く出来なかったので座標直接指定。
オブジェクト指向によるプログラミングは既に崩壊してますが、とりあえず気にしないで行きますw
>>371
は・・・早いですね。直接書き込まないで自動な感じで色々動きを設定できるようなプログラムでしょうか。
自分にもそんなのが出来ればと思いながらも、今のが初めてのプログラミングでまだまだ勉強中レベルなので
いつかは自分も挑戦してみたいです~。
>>372
マルペケさんのHPに行ってみましたが、超ハイレベルで自分にはまだ理解できませんでしたorz。
サッカーゲーム制作本が出版されれば一番なのですが、そんな時が来るのに期待しつつなんとかやる気を保っていきたいです。

374:358
08/09/25 02:46:02 BTO9WWSp
モンハン久々にやってたら遅くなりました。(-_-)zzZ

キャラクターのリストを作ろうとしてたらなぜかアイテム管理のリストになってました。不思議です。

URLリンク(www.dotup.org)

アイテムのカテゴリーは武具関連は細かくやってましたが薬草などの消耗品系はどうカテゴライズするか思いつかず
全部消耗品の整理となってしまってます。
アイテムのフラグも非売品と1つしか持てないというフラグを管理する以外特に意義が見えないような・・・。

後この辺いじってて今更気づいたのですがC++2008 Express Editionてリソース関係制限掛かってるんですね。
アイテムをEditorから参照できるようにツールを作ろうと思ってましたが思わぬ壁になってしまいました。
うーん、VisualStadio正規版高いからツールだけVisual Basicというのも考えますかね。

>>373
3Dはいまいち頭に入んないですね、座標や角度なんてのが特に。
この辺は資料も多いのですが数式が多くて頭が覚えることを否定します。。。

375: ◆PSPI/D/D3o
08/09/25 19:31:03 qAf+0xpr
リストとかの単語がわけわからんww一体何の話だ…w
ウィンドウ表示とかD3D初期化とかも全部ライブラリに丸無げだからそこまでわかるわけでもなかったりする…

>>372
本とかは一切持ってないなぁ…アルゴリズムとかほとんど全部自作の変なのだからほかの人には読みにくいはず

>>373
今の関数だと一方向弾と全方位弾しか撃てない(・∀・)
扇状弾とかショットガンとかも無理にやればできないことも無いが発射関数をいじったほうが後々変更があったときダメージが小さくなる(・∀・)

376:名前は開発中のものです。
08/09/26 00:16:22 ph8LXpmd
>>373です。

>>374
ファイル拝見しました。ビット管理←ググって見ましたが難解そうなイメージでした。(サッカーゲームにもつかえるかも?)
目標はオンライン3D対戦サッカーゲームですが、まだ勉強中なので3Dまでは到達できそうにないですw。
自分の現状です(方向キーで移動、Zで蹴る)・・・orz →  URLリンク(www.dotup.org)  

>>375
自分もDXライブラリ丸投げです。Windowsプログラミングまでは手を伸ばせていない状況です。(1度やろうとして諦めたw)
でもいつかまた挑戦しようと思っています。

377:名前は開発中のものです。
08/09/26 00:46:35 gLXN1iK9
サッカーゲームですね、
サンプル
URLリンク(www.dotup.org)


詳しく知りたければ、
URLリンク(www.oreilly.co.jp)
この本を買って読んでくだされ

378:358
08/09/26 02:51:39 q9tzDNxL
>>375
ちなみに私知ったかで用語っぽい造語を言うことあるので100%は信用しないでくださいませ。(;--)

私の言うリスト(はっ付けたファイル)はアイテムを管理するファイルのフォーマット規定ですね。
アイテムの名前は32byte分とって、アイテム説明は128byte分、アイテムの種類は・・・といった具合です。
最終的にこれをバイナリファイル形式で保存し、その情報をプログラム側へ渡すというのを考えてます。

なのでこのデータを作るツールを作ることを考えてましたが、私の使っているVC++の環境ではリソース関係がいじれないので
ツール作成だけVBを使って作るように今日から勉強始めました。
(コードは進んでませんが・・・)

本はこういうもんとかありましたよーという紹介程度の意識でお知らせしてました。
ライブラリにしろ関数処理にしろ一人で作ってるものですからその一人がわかっていれば問題ないですね!たぶん!


379:358
08/09/26 02:54:29 q9tzDNxL
>>376

はっつけたファイルの処理については「ビットフラグ」で検索いただければ概要がヒットすると思います。

大雑把に説明させていただくとlong型(32bit)の変数の各bitを
0or1で管理することによりキャラクターの状態異常や、アイテムの非売品情報を
管理する方法となります。

<mainプログラム内>

long Flag = 0; //フラグを初期化(32bit分全て0の状態)

//指定したBitを1にする(OR演算)
//UNKNOWNはenum(列挙型)に宣言されている定数のため、4の値を持っています。
SetUsageBit(Flag, UNKNOWN);

/******************************************
* SetUsageBit関数実行時の動き *
*******************************************
OR計算
Flag :00000000000000000000000000000000
UNKNOWN:00000000000000000000000000001000
-------------------------------------------
Flag :00000000000000000000000000001000
******************************************/




380:358
08/09/26 02:56:08 q9tzDNxL
//つづき
//すみません・・・ずれ無いように出来ませんでした・・・。

//指定したBitを0にする
ClearUsageBit(Flag, UNKNOWN);
/******************************************
* ClearUsageBit関数実行時の動き *
*******************************************
NOTAND計算
Flag :00000000000000000000000000001000
UNKNOWN:11111111111111111111111111110111
-------------------------------------------
Flag :00000000000000000000000000000000
******************************************/

//指定したBitの0or1を確認する

if(CheckUsageBit(Flag, UNKNOWN))
;//Flagは1(True)です
else
;//Falgは0(False)です
/******************************************
* ClearUsageBit関数実行時の動き *
*******************************************
AND計算
Flag :00000000000000000000000000000000
UNKNOWN:00000000000000000000000000001000
-------------------------------------------
Flag :00000000000000000000000000000000
******************************************/

381:358
08/09/26 03:00:33 q9tzDNxL
一人で連投しまくってすみません・・・。

>>376
サッカーゲーム少し触らせてもらいました。
一先ず気になる点だけ挙げさせて頂くと
ボールの上を通った後、キャラクターを移動させボールから離れた場所で「Z」ボタンを押下してもボールが移動しました。
#認識されているのであれば口うるさい指摘ですみません。




382:名前は開発中のものです。
08/09/27 00:14:52 3CGk2oic
>>376です。
>>377
サンプルの紹介ありがとうございます。
この様な形でサッカーゲームに関するものが既に出版されているとは知りませんでした。
ちょっと探しに行ってみようかと思います。

>>379~381
丁寧なご説明どうもありがとうございます。なんだか理解してきた感じです。
「ビットフラグ」でも検索してみました~。
ボールのバグは認識していませんでした。原因についてはなんとなく思いつく所があるので、
ソースの書き直しの時にそれを試してみようと思います。

383:名前は開発中のものです。
08/09/27 00:36:09 3CGk2oic
>>382です(汗;)
(補足です~)
バグの思いつく所というのは、ボールと選手の当たり判定がONの時に
別のフラグ的な変数をONにして、これがONの時にボールを蹴るための
Zキーを押せば、ボールが動き、変数をOFFにしているのですが、
これだと当たり判定がON→変数ON でZキーを押さずにボールから離れたら
変数はONのままなので、ボールから離れた所でZキーを押すとボールが動いてしまう。
・・・が原因かと思ってます。(寝)

384: ◆PSPI/D/D3o
08/09/27 10:07:25 o2cMNqnt
>>383
毎フレーム球に触れてるかどうかを判定すれば大丈夫かな(・∀・)触れてないならフラグOFF


扇状に弾を並べたいがどうも崩れるので別の計算式でやろうかな…
左右交互に並べるのではなく端から…

385:名前は開発中のものです。
08/09/28 00:25:19 qrZInzIL
>>383です。
進捗0。能力の限界が近付いてる気がしてきた。ボールにゴールが入った判定を考えて思考停止。
選手とボールの当たり判定関数、ボールとゴールの当たり判定関数というように
別々に関数をつくろうとすると、毎回それぞれの関数に判定時点のデータを渡さなくてはならず、
初級の自分にはそれすら頭痛の種になるので、当たり判定関数は1つだけにして、その中で全部の判定をできないかな~と思っただけで終了。

>>384
ソース書き直しまで行けたら、それでやってみようと思います。プログラムって難しい~。
シューティングゲームは計算が色々あって難しそうで、自分も何か出来ればとは思うのですが・・・。
>>377
AIの本、超難解でした。AIの実装で悩む事になるのは、今の進捗から楽観的に考えても6~7年先かもしれないだろうし、
それまでやる気が持続してるかも微妙・・・orz。ですが、今のソースに区切りがついたら頑張って読んでみようと思います。

386:名前は開発中のものです。
08/09/28 00:32:03 4xSjgapn
AIなんて考える必要ないと思う……。

少なくとも今の段階では不必要。
だが、おそらくもっと段階が進んでも不要だと思う。

387:名前は開発中のものです。
08/09/28 23:20:06 w/yJFD2W
>>385です。
>>386
アドバイス、どうもありがとうございます。
AIと言ったのは、紹介して頂いた本のタイトルにAIが含まれていた為、あのような書き込みになってしまったのですが、
参考にしたかったのはその本の4章のサッカー部分という意味ですので、いきなり方針を変えてAIに突入はないので大丈夫です。
(今の進行状況からみても、AIを考えるレベルに達する事が仮にできても、それは遠い先だろうと自分でも思っています。)

現実の方ですが、ゴール判定はちょっと後回しにして、チームを赤と青に分けようと思い、
ソースを少し変えただけで動きがおかしくなり、これを直すのにしばらく時間がかかりそうな予感。

388:358
08/09/30 02:31:31 R1IXZzji
今日の進捗。
土日はゲームしてて進捗はほぼなし。
月曜帰ってきてからVBを勉強し始めたが、こちらが考えていたバイナリ固定長での読み出しがVBではめんどくさいことを知り、再考。
ネットをさまよった結果、ResEditorというフリーのリソースエディタをハッケソしたのでそちらでツール作成に取り掛かるりました。
(まだほとんどコードは組めてませんが)


>>384
弾の計算方法はいくつか頭でイメージ出来てれば楽なんですけどねえ。
未だにsin,cos,radianといった数学の角度が頭の中でピンとこないので計算が苦手です。

>>385
んー当たり判定は当たり判定で一つでよいのではないでしょうか。

たとえば今の2Dで判定するならそれぞれのスプライトの大きさから当たり判定というのを割り出せると思います。

bool HitCheck(RECT rect1, RECT rect2)
{
//当たり判定
}

こんなのを共通で使えるように宣言していればいちいち専用の当たり判定関数入れるのは必要ないかと。

389:358
08/10/01 02:28:43 eNHXfyBh
モードレスダイアログというものを表示させるまで行きましたが、
CALLBACK関数との連携がうまく動かなくてスケルトン的なものしかまだできてません。

今週いっぱいくらいかかりそうな予感。

後久しく、三角形の定義、三角関数(sin,cos)を多少学びました。
現状3D的な要素は出てきてませんが、今のうちに学習してないとそのうち何かで詰まりそうです。





390:358
08/10/02 02:26:40 VxBwF2E3
ツールの害枠ができました。
今回はパスワード設けてて名前欄と同じになります。

URLリンク(www.dotup.org)

■現状できること
・ファイルの読み込み(Default.milのみ)
・EDITボタン、またはアイテムをダブルクリックで詳細画面表示
・NEWボタン押すと画面を閉じる
・詳細画面はCANCELボタンでウィンドウ破棄

■制限とかこれから作りこみ
詳細画面表示時の各テキスト、ラジオボタン等へのデータ格納
ボタンごとの動作


391:名前は開発中のものです。
08/10/03 23:05:07 ZVv6cRSc
>>387です。
アクセス規制のために書き込みが出来ませんでした・・・orz
>>388-390
とりあえずスプライトの大きさ使うあたり判定でやってみて様子みてみます。
今の自分には三角関数ぐらいしかわかりませんが、その三角関数も言語によって向きや正負が
違ったりして多様な記憶があるので、プログラムっていろいろややこしいです~w
パスがわかりませんでしたので画面は見てませんが、進みが早そうな雰囲気。

ここでいろいろやる事書いてはみたもののなかなか進まなくなり、現実の方も
忙しくなってきたので本の読み残しをパラリとめくりつつノッてきそうになったら、
プログラミングにも再び手を出してみようかな~といった今はそんな感じです。

392: ◆PSPI/D/D3o
08/10/05 03:12:57 XsZ0py6o
ツールとかすごいなー
次元が違うぜ(・∀・)

393:名前は開発中のものです。
08/10/05 23:55:08 iRhMCUmZ
>>391です。
こちらはなんとか選手の赤と青の色分け終了。
Turbo debugger をインストールしてどこでエラーが出て止まるのか調べようとしたら、
なんとソースがマシン語らしき別言語で表示されるので使用を断念。
結局、悪いところを勘で見つけた。これはかなり運が良かったとしかいえないw。
バグはアニメ表示処理部だった。画像を特定するための配列のような変数に使うidが初期化されてなくて
デタラメに大きな数字が入っていた。色分けする前は何故動いていたのかは
ソースを上書きしてしまったため調べられず。・・・orz
次の目標として画面に出る物は全部実装しようかなと思ったものの
その後それらに動きを与えられずに挫折する事もありえるので、先に挫折しそうな方に挑戦する予定。
(目標)自分以外の赤青の選手がアニメーションしなくてもいいからボールを追いかけ続けるようにする。


394:名前は開発中のものです。
08/10/06 22:09:17 ET4/fN2j
>>393です。
翌日自分の文章を見るとなんとなくデバッガが唐突過ぎた感じ。
これは、前いたスレでデバッグの指摘を受けていながら何もしていなかったのを思い出し、
ようやく使おうという気持ちになっただけですので一応付け加えておきます・・・orz
今日はまだ時間があるけど、本に少し目を通すぐらいにするつもり。

395:名前は開発中のものです。
08/10/07 10:10:39 8NURcQIi
デバッガつかうと世界が広がる。
そして、キミが断念したところは使い方間違ってただけだ。
いろいろやってみそ。

396: ◆PSPI/D/D3o
08/10/07 23:21:02 79k0oLAD
DXライブラリに変な不具合かもしれんもの発見(・∀・)なんかアニメパターンの横の画像が1ドットはみでる
公式に乗ってた気もするがいろいろ検証してみよう。バイリニア法だからかもしれんが

397:名前は開発中のものです。
08/10/07 23:36:27 +x6hpvJy
切り取った画像を90度単位で回転させたらって話か?

398:358
08/10/08 02:02:05 Q0BvAXdK
最近すっかりゲームする側になってます。

ツールだいぶ出来たんですが日本語入力が出来ないという致命的な欠陥があるのでそちらを対応中。
今のところどう直すのか想像はついてません。

>>392
ちゃんと元のサンプルがあって一部を自分用にカスタマイズしてるだけなんで
ほとんど置換程度の考える作業だったりもします。

399: ◆PSPI/D/D3o
08/10/08 19:14:02 5dbHegHl
>>397
回転は一切なし(・∀・)
自機の座標動かすとはみだしが消えたり別の位置に出たりする
表示はDrawRotaGraphF関数。拡大率、フルスクリーンでもウィンドウでもなる
アニメパターン作る時は画像サイズカッチカチに詰め込むのはよくないってことか。余白を1ドット取るだけで解消できそう

400:名前は開発中のものです。
08/10/08 23:47:42 KRqrVjef
>>394です。
>>395
ソース見てもわからないバグが増えてくるかもしれないので、その都度触ってみて
慣らしていこうかな~と思ってます。
>>396、397、399
1ドットの件、知りませんでした~。こういう時にDXライブラリの最新バージョンが出て
バグが取れてたなんて事があれば最高なんでしょうけど・・・orz
>>398
ゲ・・・ゲームもいいと思いますよ~。ノってる時に書くのが一番ですし・・・。

401: ◆PSPI/D/D3o
08/10/17 00:54:02 2JdknfP6
誰もいなくなってきたな(・∀・)

おおまかーなシステム面はほとんどできたからいろいろ練り込んで行く

402:名前は開発中のものです。
08/10/19 09:51:41 PB0Hd75g
>>400です。
あっという間に10日が過ぎた。
選手色分け以降の目標を未だ達成できず。
それと直接関係ない部分ではまっていた。
選手のデータ指定する処理内でswitch()命令に数字を使うと後々分かりにくいだろうと思い、
#define FW 1 //フォワード
と定義してみたら、switch文を使っている部分でコンパイラが「不正な文字 ' ' 」とエラー出すので
そんな空白文字使ってないのでやむを得ずcase FW:と書きたいのをcase 1:にしていたが、
ある時、#define FW 1 //フォワード の1と//の間の空白が全角だったのに気づき半角の空白にしてみたらと思い、試したらcase FW:でも動いた。
コンパイラがswitch文側にエラーメッセージ出すので、間違いが#define文側にある事に長いこと気づかなかった。

・・・という具合で、先はとてつもなく長くなりそうで、常にやる気停止とは背中合わせな状況です。



403:名前は開発中のものです。
08/10/19 10:00:35 OnC9W6RX
あるあるw

404: ◆PSPI/D/D3o
08/10/29 18:56:48 cqIWvSlS
レーザー実装についていろいろ(・ω・)

405:358
08/10/30 02:06:00 Cd/2iFfy
結構ご無沙汰です。

参考書丸写しをいろいろ続けていろいろ記述直したりすること多くなったので

URLリンク(cx20.main.jp)

この辺を中心にC/C++、VC++を見返して綺麗なコーディングを勉強中

406:名前は開発中のものです。
08/11/03 00:38:27 a3xJUb68
>>402です。
皆さん順調そうでなによりです。
こちらはなかなか取り掛かれずに遅くなりましたが、>393の目標がとりあえず出来たのでup。
URLリンク(www.dotup.org)
パスは、 hitori です。( 矢印キーで移動、Zキーでボール蹴る。)

主な参考書は、「14歳からはじめるC++わくわくゲームプログラミング教室」(株)ラトルズ です。

407:名前は開発中のものです。
08/11/03 00:47:15 qMBVWQI/
お~、確実に進んでますね。
これからも頑張ってください。

408: ◆PSPI/D/D3o
08/11/11 02:01:22 xMXeHBBW
ゆっくりだけど進行中(・∀・)
ひとつのレーザーを複数の連続した弾で構成する感じで実装中

矩形もいいんだがレーザーを分裂させるのが難しそうなので自機ショットのレーザーのみ矩形当たり判定にすることに

409:名前は開発中のものです。
08/11/16 09:48:10 jP1CZb+2
>>406です。
残念ながら進捗は0です。orz
時間がうまく作れない、やりがいとかやる気の維持の様なメンタル問題、
自分のプログラミング知識不足、次の目標を明確にしていなかった等、理由は様々です。
>>407
なかなか進まないかもしれませんが、時間とメンタルを立て直しつつ頑張ってみようと思います!
>>408
当たり判定って難しそう。細長い物を斜めに撃つ場合なんてどうすればいいのか想像出来なかったけど、
連続した弾で構成というのもアリですね。なるほど!

410:名前は開発中のものです。
08/11/16 10:03:01 rr20bFCp
>>409です。
次の目標(年内は無理かも)

1.ソースを見直す。
  参考にしているプログラムをよく理解してないからなのだろうか
  わずかな修正にも時間が掛かる様になってきた為。
2.自選手の移動方法を方向キーで4方向に移動する方法から、
  Zキーを押したらマウスカーソルのある位置に移動する方法に変更する。

411:名前は開発中のものです。
08/11/16 20:52:25 57T5krKV
>>410です。
今思うと>409の最初の4行(~様々です。)は、そんな事考えても無意味な類の不要な発言だった。
結局は独力で出来るか出来ないかの問題であって出来なければ去るだけだし・・・。
一応生きている間に出来れば良いのだから・・・。
余力の無い時に無理してもどうせ進まないだろうし、逆にちょっとでも
余裕ができた時に集中して考えられるようにしておこう~!
但し、全く離れてしまうとアッという間にソースの中身を忘れてしまうから、
時間ができた時に作業をすぐ再開できるように寝る時に少し関係書籍に目を通す位の事は
やっておくつもり。


412:名前は開発中のものです。
08/11/17 22:02:36 9UHjOMWR
>>411です。
このスレで本やHP紹介、ヒントを受けたり等してるので
昨日の「独力で」と言うのは、あくまでもPCの前で一人で手作業する時だけに限った話だと断っておきます。(汗;)

もしも本職プログラマならまだ会社だろうし、それに比べれば今家にいる自分はまだ時間ある方だな~と少し反省w

>410での見直し策は、クラス図(のような物)を作成して色々考えてみるつもり。
今クラス2個分できたから、あと11個程で出来てしまう。
プログラムに少しずつ書き足していく内にクラス間のデータのやり取りが分かりにくくなってきたので、
整理すれば何かが見えて今後の作業効率が上がるのではと思ったのが理由。

413:名前は開発中のものです。
08/11/17 23:37:36 xu4geijM
>>412です。
クラス図が完成。
これで何かが見えればよいのだけど・・・。

414:358
08/11/18 23:39:23 6yf+x9Ts
いろいろ寄り道して今はマップチップを使った背景画像の出力をやってます。
2D部分は大体は出来たので、最終的には3Dダンジョンのマップを作るのが一つの目標としています。
今は3Dを頭に叩き込むためとりあえず「実例で学ぶゲーム3D数学」というストレートなタイトルの本読んでます。

>>412
ソースを見直す作業は私も良くありますね。
2、3日見なかったら忘れますのでw

コメントとかはなるたけ簡潔に書いてるつもりですが
それでさえもわかんなくなるのはやはり作り方に問題があるのかもしれないです。

まぁこうやって愚痴るのも良いんじゃないですかねぇ、どうせ見てるの小数ですし。

415: ◆PSPI/D/D3o
08/11/19 18:48:01 uY8DDYIb
クラス…だと…(・∀・)未知の世界だ

どうもレーザー描画がうまくいかない
すすまないのでネタだけ頭にたまってゆく

416:名前は開発中のものです。
08/11/19 18:52:37 hrw60uDV
それをノートに書き出してしまえ

417:名前は開発中のものです。
08/11/20 00:17:53 zDO5xUL+
>>413です。
>>414
自分も3Dやってみたいのですが、もし実現するとしてもまだまだ先の話になりそうな感じです。
その本、ネットで検索してみましたら>377と同じシリーズ(何故か動物の表紙)で評判よさそうなので、
本屋に行った際にはチェックしてみようと思います。
>>415、416
うっかり忘れたりする事がしょっちゅうあるので、ノートに書くのは、自分も禿同(←2ch用語)です。
クラスといってもC++のゲーム本がなんとなく読めさえすればいいぐらいの気持ちでやってるので、あまり理解してないです。
クラス図についても自分の頭の中の整理が出来ればいいだけなので、かなりテキトーな書き方でやってます。

418:名前は開発中のものです。
08/11/20 22:53:33 WUvdnEKv
>>417です。
ネタが無いのでクラス図もどきをうpしてみました。パスは hitori です。
URLリンク(www.dotup.org)

クラスの宣言にある変数名と関数名を並べただけなので実はクラス図というわけではないです。
コピペにつぎはぎでやってたから、使ってない変数や無意味な変数が結構ある事がわかった。
よく理解しないで使っている関数も実はある。w
これを見て考えが整理できたら、プログラム再開しようかな・・・。

419:名前は開発中のものです。
08/11/20 23:09:11 WUvdnEKv
>>418です。
>412であと11個程と言ってたけど、実際はそんなに無かった。(苦w)

420: ◆PSPI/D/D3o
08/11/21 10:20:17 7ie+QlJg
>>418
今朝確認したんだがファイルが無かった…もう少し持つうpろだにしてもらえたら…

421:名前は開発中のものです。
08/11/21 23:01:33 v2mPoS0D
>>419です。
>>420
ここにうpしました~。
URLリンク(gamdev4.hp.infoseek.co.jp)

422: ◆PSPI/D/D3o
08/11/22 17:47:19 zNajiGnR
クラス図すげぇ(・∀・)
構造体オンリーの俺とはぜんぜん違うな

423:名前は開発中のものです。
08/11/23 20:10:50 HxMiBrvZ
>>421です。
>>422
ど・・・どうもです~(汗;)
今回の図はクラス同士の関連を表す線も無いし、
単にクラスの宣言を図に移し変えただけなのでクラス図っぽい図といった感じのものです。
頭を整理する方法が見あたらないな~と思ってたところにたまたまこの図の存在を知っていてちょっと
試してみただけなんで、また行き詰るまでは図は書かないで、ソース書きに移ろうと思ってます。
但し現実の方でいろいろあって作業は進んでいないです。(言い訳orz)ちょっと自分に負け気味な状態。

424:358
08/11/27 01:20:32 wnLJrU6F
すっかり3次元の狭間に捕まった為、3D数学とプログラムでの実行結果の間を右往左往してます。
基本的に理論で覚えるタイプではないので座標変換系を頭で理解するのが苦戦しています。

とりあえず3Dオブジェクトを描画する空間、Xファイルオブジェクトのインポート、カメラ制御といった
最低限の3D描画セットを用意してみましたが、Xファイルにテクスチャは反映されないわ、
カメラはどこ向いてるかわからないわでてんてこまいです。

Xファイルへのテクスチャ反映できない理由はすぐ追えそうですが、カメラ位置や注視点の考え方が今市なので
またしばらくテキストとにらめっこです。

>>423
クラス図お疲れ様です。
拝見させていただきました。

同じようにクラス図書こうかなと思っていた時期もありましたが
クラス4個くらいの時点で面倒でやめました(ハッハッハ)
今大小あわせてさらに増えてるのでやる気としてはほとんどありません。

こちらも煮詰まること多いので(現に詰まってますが)定期的にメンテナンスというか整理は必要なのかもしれませんね。

425:名前は開発中のものです。
08/11/27 23:47:47 B1vZP/Rc
>>423です。
>>424
「実例で学ぶゲーム3D数学」、本屋で見てみました。(最近の発売だとその時気付いた)
こ・・・これは、自分にはかなり難しい内容だと思いました・・・。
いつか3Dやりたいと思ってますが、やっぱり自分にはまだまだ難しい感じorz

こちらはしばらく進まないかもしれませんが、寝る時に少しずつですが
「14歳から・・・わくわく・・・C++・・・」の最後の7章に目を通してます。
この本のシューティングを説明してる章は何度か読んでいたけど、
今初めて読んでる部分はシミュレーションゲームを題材にしてマウスも使っているので
>410の参考になるのではと期待w

426:名前は開発中のものです。
08/11/28 00:00:45 mmfEhz1V
>>425です。
クラス図の方ですが、move関数にクラスのオブジェクト?を丸ごと引数として使ってるのがおかしい様な気がしている。
何故だかわからないけどなんとなく勘のようなものw
ソースの手直しも時間みつけて取り組む予定。

427: ◆PSPI/D/D3o
08/12/14 16:33:43 NllPo+j6
だれもいなくなっちまったな(・∀・)

そろそろ残機表示とかのレイアウトつくる

428:名前は開発中のものです。
08/12/14 18:53:49 iDbZG70w
URLリンク(www.caiman.us)

3Dゲームをプログラミングなしで作れるソフトだそうです。
無料らしいです。

429:名前は開発中のものです。
08/12/15 22:49:09 PfjDCaBs
>>426です。
>>427
たまに板を見に来てはいたもののあまり自分の作業が進んでいないので書けずにいました。・・・orz
今のところは>425の本をわからないまま1回目を通しただけ。
もう1~2回読んで感触掴めそうになればソース書き再トライの予定です。
>>428
英語が読めないのでわからないけど世界の広さが感じられる参考になるHPでした。
左側の3D sportsをクリックすると3Dのサッカーゲームが既にあることに気付く・・・orz

430:名前は開発中のものです。
08/12/15 22:53:20 VbZykIE5
? サッカーゲームなんて普通にあるでしょ?
承知で目指してたんじゃないの?

431:名前は開発中のものです。
08/12/16 23:08:17 ooDsGSL3
>>429です。
>>430
確かに進み具合の方はまるで止まっているかのように遅いかもしれません。
2007年8月頃から趣味感覚でゲーム作りの勉強を始めてますがまだまだゲームの形になるのは先になるだろうし
結局出来ない場合もあるので、今サッカーゲームがいくつ出ていたとしても
その事が理由でギブアップする気は無いので大丈夫(?)です。

432:!dama
09/01/02 03:13:47 3+aZDUN0
↑俺が作るゲームの評価

433:名前は開発中のものです。
09/01/02 03:17:36 3+aZDUN0
元日終わってたよ…今年も残す所あと364日ですよ皆さん…

434:名前は開発中のものです。
09/01/02 12:36:09 fa0NZpcB
去年の今頃だったら365日あったのになあ

435:名前は開発中のものです。
09/01/07 21:20:12 5JbPJmc6
>>431です。
残り359日!!!今年も頑張ろうと思いますw
でも生存報告しかできない・・・orz
進み具合はまるで止まっているかのように・・・というよりは、限りなく0に近いのかもしれません。
>425の7章を2回読んでみたけど、まだまだな感じでどうするか考えているところです。
生活、健康面の用事を優先せざるを得ないので、しばらくは時々生存報告するのが精一杯になりそうな感じ・・・。

436:名前は開発中のものです。
09/01/08 00:10:54 2kcs9s3H
うぅ、ボヤボヤしてたら今年も何も出来ず終わってしまう・・・
今までROMしてたマッサラな初心者ですが、参加させて下さい
C言語&DXライブラリの勉強と平行して、徐々に形にして行けたらと思ってます

437:名前は開発中のものです。
09/01/08 23:37:34 eqKx20GH
>>435です。
自分は今、ものすごくゆっくりで止まった感じな進み具合ですが、
まだ357日もあると思ってお互い頑張りましょ~!

438:436
09/01/09 00:26:46 6X36htv/
取り合えず開発環境を揃え、ネットで初心者講座を読み漁りました
まだ途中ですがループ・条件分岐・構造体・自作関数の使い方がなんとなく解った気がする
ポインタは良く解らない・・・
最初なんで、まずは作り易そうなADVで完成を目指します!
>>437
ういっす!頑張りましょう!

439:436
09/01/10 00:16:56 lP2FhPfp
ポインタを理解した気になる、けど使い道が解らないw
オブジェクト指向が主流らしいけど、解説読んでもサッパリ
手続き型のまま作り始めても大丈夫だろうか・・・
取り合えず絵と文字表示を知ったので、かまいたちの夜もどきを表示して今日は終わり

440:名前は開発中のものです。
09/01/10 01:25:58 6Qx6zqqf
修得が早いなw

441:名前は開発中のものです。
09/01/10 22:59:09 GXrYRhwd
>>437です。
習得早いのうらやましいです~。

ついに参加者が4名!←・・・と唐突に言ってみるw

>410で自分が言った目標1は時間が掛かりそう(というかそもそもこう直すべきというイメージが出てこない)なので、
もし現状のプログラムの直しで目標2が出来るならそれだけでもやってみるに方針変更。
目標2もできなかったら・・・、その時考えるつもりw

442:名前は開発中のものです。
09/01/10 23:02:40 GXrYRhwd
>>441です。
修得でした。変換ミスしてしまった・・・(汗;)

443:436
09/01/11 00:55:55 hGxbs0Ew
今日はファイル入出力、キー・マウス入力、フォント周辺、αブレンドや明度変更をちょこっと
なんだかゲーム、作れそうな予感・・・!なのでこのまま手続き型で行きます
フェードイン/アウト等演出効果・場面転換のやり方を考え中
実験用に棒人間と背景を描いて今日は終了

>シュウトク早い
結果だけ書くとスマートですが、実際は訳ワカメ!訳ワカメ!と叫びながらしっちゃかめっちゃかな行間をお察しくださいw

444:名前は開発中のものです。
09/01/11 01:19:17 zwd1Py/X
いやいや、一日でそれだけ進められるって事は
かなりの経験がないと無理でしょう。

でなければかなり頭がいい(勉強が得意)か。


>フェードイン/アウト等演出効果・場面転換のやり方を考え中

フェードイン、アウト程度ならブレンドモードの数値を変化させつつ
画面全体に黒いBOXでも描画すればいいんじゃないかな。

445: ◆Fp.xSEIREI
09/01/11 02:45:25 ZYgWOk/Z
シューティング作ってるPSPIだー 酉かえたぞー

なんか天才が来てるな(・∀・)俺なんか半年になるのにいまだにファイル入出力は恐ろしくてあんまり触ってないぞ

446:名前は開発中のものです。
09/01/11 22:48:35 cacqdQtu
>>442です。
1日でそこまでいくのは本当に凄いと思います~。

!!!。酉変更なんですね~。今年も頑張りましょ~!

今日は>410の目標2を実現するにはどこをどう書き直せば良いか考えて終了!。

447:436
09/01/12 01:22:04 ug24ph9R
早く形にしたくて駆け足で目を通したので、「こんな命令がある」って知識をストックしてるだけで、
実際組み立て始めたらエラーだらけです;

今日はお絵かきソフトをちょっと試すつもりが、気付けば一日経っていました
オープンキャンバスがシェアなだけあって良さげな感じ
本当はフォトショップが良いけど、自分の腕では宝の持ち腐れ過ぎるw
絵は慣れらしいので、これから1イラスト/Dayを目標に描いて行こうと思います

>>444
キャラごとに適用する事ばかり考えてました。そっちの方がお手軽でPCに優しそうですね

>>445
いえいえ紙一重の方です え・・・ファイル操作ってやばいんですか?;

>>446
なんかややこしそうですが頑張ってください!

448:名前は開発中のものです。
09/01/12 20:13:54 LJkMZ6t0
>>446です。
自分もエラーは頻繁にというか必ず出てます・・・orz

プログラムのどこを直すか大体の見当を付けたところで終了。
少しずつ直していく予定。

449: ◆Fp.xSEIREI
09/01/13 00:04:08 ngGUSVZ6
>>447
俺がアホなだけだ(・∀・)ファイル操作できないとなにもつくれんww
ポインタの概念はわかってるがポインタの使い道を知らない頭だぞ(・∀・)

バグの原因はいつも計算ミスやアルゴリズムの欠陥
たまに配列を激しくいじったら関係ない変数がいじられるバグ出てワロタ
ポインタ怖い

450:436
09/01/13 00:14:13 9YgrpDjJ
さっそくイラストを描き逃すw もっと基本の静物模写から練習を始めました
DXライブラリのブレンド命令によって、吉里吉里の様なボーダー・ストライプ・円や渦状の場面転換が出来る事を知った
これは便利と、さっそく関数化しておこうとするも、途中でメインの仕様が決まってないと関数も作り様が無い事に気付く
なので、まずは基本設計を決め打ちしなくては

451:名前は開発中のものです。
09/01/13 00:20:34 9YgrpDjJ
>>449
(゚∀゚il|l)ポインタコワイ

452:名前は開発中のものです。
09/01/13 22:20:43 TsQ0Jtlw
>>448です。
あまり余裕なくて今日の作業はちょっとだけ。
今直そうとしているのは、1ループ毎に移動先位置を計算する部分を
別の関数とでも言うのかクラスにして取り出す作業。

453:436
09/01/14 03:12:28 sQKXpTXd
プライベートで問題発生、烈しくモチベーション下がった・・・
絵を練習してサンプルコードをいじっただけです

454: ◆Fp.xSEIREI
09/01/14 04:18:25 DSJGU7v3
FPSが61.2になる(・∀・)なんだかきもちわるい
ウィンドウだと安定しなくもなる

うーm

455:名前は開発中のものです。
09/01/14 21:59:45 qd0uHzIt
>>452です。

>>453
自分も実生活でいろいろあって作業が止まる事が良くありますが、
マイペースでやってます~。
進まなくてもとりあえず2chでやる気だけは維持して行こうと思ってます。
>>454
こちらのプログラムはループ処理時間平均値を取り、その平均時間での
オブジェクト移動量を60Hzの時の移動量に変換して移動させるみたいな感じなので
14歳シリーズが限界な自分なので、その平均値そのもの(FPS?)を調整する方法については知識0です・・・orz

今日はプログラム書けそうに無いけど、とりあえず寝る時に
ちょっとだけ本に目を通す予定。

456:436
09/01/15 00:53:02 xgElujNM
>>454
GetNowCountを使っていたらGetNowHiPerformanceCountを使うとか・・・
ゲーム自体が重くて動作が遅くなるなら垂直同期を切って見るとか・・・
すいません全部聞きかじりで、書いてる本人は良く解ってませんw;

>>455
ありがとう(つд`)進みたいのに内容が頭に入ってこないです
切り替えの早さが欲しい・・・少しずつでも進めていきます

457: ◆Fp.xSEIREI
09/01/15 02:16:26 nnAj7wD0
FPSが62.5になるのは単純に待機のとり方が悪いみたいだ(・∀・)
もうすこし正確に1Fを待機させるようにせねば

あとFPSが不安定なのは他のソフトに割り込まれてるみたい
東方とかはいつでも60なのになー

458:名前は開発中のものです。
09/01/15 23:53:13 41EHPKeT
>>455です。
み・・・皆さん凄いです。自分もそういう知識を身に付けたいのですが、なかなか時間が作れなくて・・・orz
自分の場合、たぶん1ヶ月単位でほんのわずか進めるかどうか、下手すれば一歩も進まずな予感ですが、
とりあえずまずは14歳シリーズの本やネットで頑張ってみます。

459:名前は開発中のものです。
09/01/16 01:17:42 Gpm/i2u9
基本仕様を構想・リファレンスを眺めて終了
>>457
原因が解って良かったです。動き重視系は難易度高そう・・・
>>458
自分も大して解ってないです
他の専門スレを訳解らないままに目を通して、気になったレスをコピーして
何かの時に役立てられればと溜め込んでます

460:436
09/01/16 01:18:32 Gpm/i2u9
>>459
名前忘れた;

461:436
09/01/17 00:46:44 6JZ7PCSk
のんびりとお絵かき+基本構造を構想・・・特に進展無しです
Frieve Editerと言うエディタを試しに使った所
簡単なフローチャートからシステムの全体像まで
一目瞭然でかなり便利
キャラクターの相関図やストーリーの組み立てにも便利そう

462:436
09/01/18 01:39:40 E+kcrfNd
引き続き基本構造を・・・いい加減次の段階に行きたいw


463:名前は開発中のものです。
09/01/18 17:29:55 AgYI0BNY
FPSにふらつきがないのはVSync待ちだろう

464:名前は開発中のものです。
09/01/18 22:34:50 +nHfuYmN
>>458です。 今週ダメだった。また来週頑張ります・・・orz

465:436
09/01/19 00:20:28 NWUBpW7C
EditerじゃなくEditorでした
基本構造もう少しで出来そう、けど飽きたのでストーリーを考えつつ絵描き
イメージボードっぽいのを描こうとするも、腕の無さに撃沈
可愛い&カッコいいキャラが絶望的に描けませんw修業が足りんなぁ・・・

466: ◆Fp.xSEIREI
09/01/19 09:27:05 X5SZs/u2
>>463
待ってるはずなんだよな。でもスカイプ動いてる時だけはげしくずれる
FPSはどうにかするとして敵機オプション操作についていろいろ。敵機&弾幕制御はほぼ完成形に近づいてきた気がする
暫定の枠も作ってみたりした

467:名前は開発中のものです。
09/01/19 09:29:38 bUUm+BkQ
URLリンク(xn--tor36e.com)

468:436
09/01/20 00:28:55 N9MvLHd9
ちょこっとだけ。構想がようやくまとまる。キー入力処理を作りました

469:名前は開発中のものです。
09/01/20 23:38:54 EGDLC1Bx
>>464です。
早く寝なければならないのにちょっとだけやってみた・・・orz。
>452で言ってた移動の為のクラスが数行程度でそんなに大きくないので、他のクラスのソースに含めて
書いてたら分かりにくくなりそうな予感がしてきたので、面倒でも1つのクラスに対して
クラス宣言のファイルとクラスの中身の関数を定義するファイルを1つずつの構成に直す予定。



470:名前は開発中のものです。
09/01/20 23:49:39 EGDLC1Bx
>>469です。
>469の一行目は今思うとなんとなく書かなかった方が良かった気がしてきた。
と・・・とりあえずそれだけです・・・(汗;)

471:436
09/01/21 00:46:27 XlPVTJuS
ファイルからシナリオ読み込んで表示させただけっす

472: ◆Fp.xSEIREI
09/01/21 01:07:20 /+GwoesL
絵描き絵描き(・∀・)

473:436
09/01/22 00:40:34 b8zSFi5U
気付かれたw;今日は絵描きだけ・・・人物よりクリーチャー・モンスターのが感情移入して描き易い
不気味な絵がどんどん溜まって行く~
推理風味なADVを作ろうと思ってたのに、サバイバル系の方が性に合ってるのかしら・・・


474:名前は開発中のものです。
09/01/22 21:46:32 XXhQB+q5
>>470です。

絵を描くスピード早そうで凄い感じですね~

Zキー押すとマウスカーソルに向かって歩けるようにするところだけがなんとか書けたので、
久々にうpしてみました。
URLリンク(gamdev4.hp.infoseek.co.jp)

移動先を決める処理を関数みたいにして別ファイルにするのはうまくいくかどうかあやしいので、
後回しになってます。理由を書くとものすごく長文になるので省略するかまたは今後のネタにします。・・・orz

475:名前は開発中のものです。
09/01/22 21:54:08 L7DCPZeg
そろそろコテハンつけるとかしてみては。

476:436
09/01/23 00:21:16 MaN9qQQB
今日は絵描き&フルスクリーンとウィンドウを切り替えられるようにしただけ
うまく動かず、=と==を間違ってる事に気付くまですごい時間を無駄にした・・・
>>474
うちのPCではスムーズに動きましたよ~順調ですね!
やっぱり機能ごとに別ファイルにした方が色々いいんでしょうねえ
やり方勉強しなければ・・・

477: ◆Fp.xSEIREI
09/01/23 01:23:54 0rhrZEPm
>>474
おおwちゃんとボールもけれるww相手チームもちゃんと蹴るんだな(・∀・)すげー

478: ◆Fp.xSEIREI
09/01/23 01:27:41 0rhrZEPm
>=と==
あるあるあるあるうあう

479:名前は開発中のものです。
09/01/24 00:17:17 GwwrnR4K
>>474です。
>>475
コテハン付けない理由の1つとして「なりすまし」の被害を気にしていたのですが、
あまり気にせず付けてみるかちょっと考えてみます。例えばコテハン「SGGK」にしてみるとかw
>>476
確かif文の条件って=でも==でもコンパイラを通ってしまったような気が・・・
プログラムって難しい~。
>>477
相手チームがボール蹴れるのはたぶんバグっぽいです。
Zキーでボール蹴るとしていたのをそのままにしているからかもしれません・・・orz

480: ◆Fp.xSEIREI
09/01/24 00:36:48 sVqgjDN6
>なりすまし
そのためにトリップがある(・∀・)俺の名前はトリップ

名前の後に#(好きな半角英数記号1~10個)ってつけると固定でランダムな文字になる
毎回#のあとを同じ記号にしてればなりすましはできない(・∀・)


あれバグだったのかww

481:436
09/01/24 00:58:29 bfIOU/J5
コンフィグファイルから設定を読み込もうと奮闘中(絵はサボり・・・)
>=、==
でもうっかりミスはやるなら早い方がいいですねw

482:436
09/01/25 01:02:53 9YRwrTCX
やっとコンフィグファイルから設定がロード出来た
ifの条件文でまたやってしまって時間かかった;
絵描きはどうもやる気にならないので不定期にします

483: ◆6pZCoAtaxk
09/01/25 22:58:40 4KstzHOL
>>479です。
トリップ付けてみました!どうもありがとうございます~。
ファイル関係難しそうなので自分はまだまだ先になりそうです(汗;

時間見つけて少しずつやっていく予定~!

484:436 ◆Ozi/jnIj0I
09/01/26 00:34:02 EV62Rr3C
トリップお試し
ファイルいじってたらバッファオーバーフローとかでデバッグ不能になって焦りましたw
FPS回りをイジイジしてます

485: ◆Fp.xSEIREI
09/01/26 10:31:34 MupH4yIc
俺の酉は覚えやすいぜ(・∀・)

物理の勉強をいろいろ
平面上の点Aから点Bまでの距離がRで点PがAからBへ単位時間あたり速度Sで移動する。その時徐々に減速しT単位時間後に速度が0で点Pが点Bに到着するようにするには1単位時間当たりいくら減速すればよいか
とか(・∀・)

486: ◆6pZCoAtaxk
09/01/26 22:55:55 PZ6xLh+7
自分も将来ファイル関係やる時には気をつけてみます~。(バッファオーバーフロー難しそう・・・)
そういえば日本語読みで覚えやすそうな感じ!。自分の方はランダムっぽいけど、とりあえずこのトリでやってみます~。(物理についてはボール関係でいつか悩みそうな予感orz)

進捗なし・・・orzなので代わりのネタ→ >474で選手移動方法をカーソル追従化するために使おうとした
DXライブラリのGetMousePointの戻り値の取り方が分からなくて
C言語の「参照渡し」で取れるようになっていると気付くのに実はかなり時間掛かってましたw

487:名前は開発中のものです。
09/01/27 00:46:54 HyCbh5nh
コンフィグロードのソースが読み辛かったので書き直し
誤作動を防ぐ為に、設定ファイルの空白・タブ・無関係な文字を読み飛ばす様にしました
今は異常な数値を訂正させたり、アスペクト比を変えられる様にするか考え中
>物理
動くのを見るのは楽しいけど作るのは大変ですね;
>参照渡し
ポインタとかで見かけた様な・・・自分もマウスは必須なのでそのうち学ぶ事になるなぁ

488:436
09/01/27 00:47:36 HyCbh5nh
>>487
また名前忘れた;

489: ◆6pZCoAtaxk
09/01/27 23:23:07 nvZpC6T/
今日も少しやってみました。
コピペから始めたプログラムだから未だに不完全な理解でやってる部分も多く、時間もないので
自分でここが肝心かな~?と思う部分だけサッと手書きメモレベルで整理してみた。(約30分)
悩んでいるところが見えたような気もするが、でも微妙な感じ。
今日はここまで~・・・orz

490:436
09/01/28 00:46:38 Zv8NeSZ5
今日は全然出来なかった・・・リフレッシュレート関係を作り中です

491: ◆6pZCoAtaxk
09/01/28 22:33:25 BT9wNurf
自分の場合、プログラムは1ヶ月でほんの少し進むかどうかといった感じで
ほとんど止まってることもよくあるぐらいなので、気が乗らないときには休むのも有効かな~と時々思ったりします。
こちらは、この前言っていた移動計算の抜き出し?も出来てないし、とにかく気長にやっていこう~と思ってますw

492:436
09/01/29 00:56:22 0SSs3+bK
FPS表示とリフレッシュレート変更は出来たけど、高い周波数にするほどフレーム数が足りないまま安定しちゃう
30FPSぐらいだと問題ないけど、50、60と上げて行くと、なぜか5フレームほど足りなくなる;
そしてふれ幅も上下5フレームぐらいばらついて安定しない・・・う~むコードが悪いんだろうなぁ
>>491
ありがとう~
毎週火曜は歯医者に行ってるんですが、昨日は詰めた所が痛くてついぼんやりすごしてしまいました;

493: ◆Fp.xSEIREI
09/01/29 12:28:57 TI9WuV0B
敵機のオプション(子機)を操作する関連をいろいろ(・∀・)
もう少し手を加えれば孫機を配置したりもできるようになるはず

目指せ超弾幕(・∀・)


for文をどっかからコピペしてきて使ってたら条件式を書き換えるのを忘れててアドレス異常の書き込み違反が出て一時間悩んだ(・∀・)敵を倒したら黄色いもにょもにょが湧いてきてちょっとしたホラー

494: ◆Fp.xSEIREI
09/01/29 19:39:44 TI9WuV0B
子機操作まではほとんど完成(・∀・)

6機出してみるテスト
URLリンク(www.dotup.org)

495:SGGK ◆6pZCoAtaxk
09/01/29 23:01:47 jKwHiHD0
>>492
自分はFPS関係理解できなくてコピペ気味なプログラムなので、
技術的コメントが困難なレベル(・・・orz)ですが、歯を大事にする事については賛成です!!!
>>494
で・・・出来上がってきてますね~。
弾を目で数えるのはもう不可能・・・と思って右下見たら1000発超えてる!!!

今回からコテハン+トリップにしてみました~(見分けやすくするためですw)

496:436
09/01/30 00:51:26 Ubr3D3FD
FPSが61で安定する;ウェイトのかけ方がまだ悪いみたい
>>494
すごー;;;自分も早く動く部分を作りたい~
>>495
SGGKですかw失ってわかる歯の大切さ・・・

497: ◆Fp.xSEIREI
09/01/30 04:23:48 xtRLKZxM
>>495
重なってるから目で数えるのはむりぽ(・∀・)
5000発くらいまでなら安定して出せるけど避けれなくなる
SGGKてw

>>496
16ミリ秒待機とかにすると61.2FPSになる(・∀・)16.66666…で待機できるようにしないと…

498:名前は開発中のものです。
09/01/30 09:18:22 fJ+jbeBq
うちのノートPC、ウインドウモード45fps安定で俺涙目
全画面にしたら60fpsになるんだけどな。

某弾幕シューも処理落ちでクリア余裕でした!

499: ◆Fp.xSEIREI
09/01/30 10:05:50 rD/YU9yd
>>498
フレームスキップするのと処理落ち率をスコアのファイルに出力しておくようにしておこう(・∀・)

500:436
09/01/31 01:52:27 pjcRan1J
どうしても16.3msになって、あと0.3ms引き伸ばせない・・・もう61Hzでいいかなぁ
キーコンフィグっぽい仕組みを作りました

501:SGGK ◆6pZCoAtaxk
09/01/31 12:25:30 nxG0Rhj8
しばらくSGGKで頑張ってみますw
こちらはまだ言語の文法理解が足りなくてつまづいてる感じです。
>474で言った「移動先を決める処理を関数みたいにして別ファイルにする」に挑戦中。
>489の手書きメモ見て考え中。

502:436
09/02/01 01:22:03 d2a+qgnL
FPSもうヤダー

503: ◆Fp.xSEIREI
09/02/01 04:11:26 ppxlATZm
>>502
URLリンク(dixq.net)

504:436
09/02/02 00:48:40 XcNeBYjh
できた!ありがと~

505:SGGK ◆6pZCoAtaxk
09/02/02 22:53:46 +VJz49//
技術的な話は自分にはまだまだ無理な様ですが、いつかは分かるようになりたいです~orz

昨日、移動先を決める処理を関数みたいにして別ファイルにしてみたつもりでコンパイルしてみたら、
「Warning: パブリックシンボル _chaseballmover がモジュール XXX\DEBUG\SOCCERGAME.OBJ と XXX\DEBUG\FIELDPLAYERCONTROL.OBJ の両方に定義されている」
という警告文がずらりと出てしまった・・・。
それからずっと考えていてフッと思ったのが、移動処理はクラス化したのでその宣言をヘッダファイルに書いていたけど、今回のは宣言と同時にオブジェクトも定義?したから、
クラス{}オブジェクト; が記述されているヘッダファイルを何箇所かのファイルの先頭にインクルードしてたからかな~と思い始めた。
このオブジェクトがいわゆる「外部変数」になってるような感じで
それを複数箇所にインクルードした事で同じオブジェクトが外部変数として複数定義?されたという事になっていたとすれば、それが警告の原因かも???
今日はここまででちょっと試せそうにないです。




506:SGGK ◆6pZCoAtaxk
09/02/02 23:31:37 +VJz49//
と言いつつちょっとだけ書いてみたけどダメだった。
技術だけじゃなく文法的な話もまだ無理みたいな感じです・・・orz

507:436
09/02/03 01:26:13 U+3zAauW
アナログパッド入力出来る様になりました。コンフィグファイルから実数値も読み出せる様になりました
これによりFPSを0.001フレーム単位で指定という無駄な事が出来ますw

FPS関連で解ったんですが、変数型によって有効桁数が当然あって
それを考慮せずにあまりに桁が違う数同士を計算すると
情報落ちと言われる物が起こってしまうらしく。
自分の場合、システムカウント(整数)とμs(実数)と言う桁数が違いすぎる変数同士を計算した為
小数点以下の桁が消失して、細かいフレーム調整が出来なくなってました
自分と同じ様な初心者の方は注意です
計算の順序を考慮してコードを組んだらサックリ動きました。勉強になりました

その他過程で知った事
・時間でタイミングを取るよりフレームでタイミングを取る方がいいらしい
・floatよりdoubleの方が容量が大きく処理も早い
・動きの激しいゲームでは、キャラクター座標を内部で256倍とかして管理するといいらしい

>>505
オブジェクト指向の話はサッパリワカメです;広範囲に手を加えた後に出るエラーには変な汗が出ますw

508: ◆Fp.xSEIREI
09/02/03 02:43:01 b4/cfZ4i
オブ…ジェクト…?

変数はint、double、bool、LONGLONGってのを使ってるな(・∀・)
変数ごとの処理速度の差はあんまり考えたこと無かったなー。intにできるとこはintにしてるけど…

509:SGGK ◆6pZCoAtaxk
09/02/03 23:28:01 6PB7lMIm
>>507
小数点以下の十進数を小数点以下の二進数で一対一で表現する事は出来ないような事を
どこかの本で読んだ記憶がありますが、あまり自信は無いですw
こうなってくるとコンピュータの勉強も必要なのかもしれませんが、今は手が届きそうに無い状況です・・・orz
>>508
自分も変数は、int、float、boolぐらいしか使ってなくて、オブジェクトを変数と言ったのは、
今参考にしてる14歳シリーズのC++わくわくゲームプログラミング教室wにたまた変数と書かれてあった為で、
これもまたあまり自信は無いです。

昨日のバグはなんとか取れた感じ。
今回の移動処理のヘッダファイルをあるヘッダファイルに書くと、そのヘッダファイルもまた別のヘッダファイルに書かれていたりするので
結果的にヘッダファイルがヘッダファイルを呼ぶような状況になっていて思わぬ場所にも書かれていたからかもしれない。
でも、ヘッダファイルの2重呼出し防止策、#ifndef、#define ~#endifは書いてあったから、これが原因の自信はなくて、
結局、今回書いたヘッダファイルの中にあるクラス宣言と同時に定義したオブジェクトの変数?を必要としているcppファイルがあり、そのcppファイルの先頭だけに
今回作成したヘッダファイルをインクルードして、他にインクルードした所は全部消したら、エラーも警告も出なくなりました。

プログラムも長くなり、かなり危ないシーンがこれからも増えてきそうな予感w

510:436
09/02/04 00:56:29 Da4U9lAm
ちょこっとだけ、コードの整頓と、マウス入力をつけました
>>508
調べたらfloatが遅かったのは昔の話で、最近ではあまり差は無く、環境の影響のが大きい様で。
FPUによってfloatの方が高速だったりするそうです
>>509
解消された様で良かったです~

511:SGGK ◆6pZCoAtaxk
09/02/04 22:59:39 0WPinhOQ
かろうじて解消できてる様な感じです~w

抜き出した移動処理部分をメインループから呼び出せるようにしたつもりが動かず。
エラー20行出た。最初の数行はコンパイラの言ってる意味が分からなかったけど、
分かる所から先に直していったら、その意味不明なエラーもなぜか出てこなくなった。
しかし、プログラムを起動しても選手が動かなくなってしまった。エラーの出ないやっかいなバグ・・・orz

512:436
09/02/05 00:48:53 xwepftsp
キー設定ファイルからボタン名を読み込んでキーコードに変換する物を作ってます


513:SGGK ◆6pZCoAtaxk
09/02/05 23:07:23 O65/6Go1
こちらは昨日から変化無しです~。
移動処理部にprintfDxを書いてみたら何か適当な数字がずらーっと出てくるので
移動処理部に処理が移っているはずだけど選手は動かない。
という事で気分を変えて本を読む事に・・・。

514:436
09/02/06 01:05:54 DkLm7FbZ
>>513
自分も今日は変化なし・・・じっくり構想を練っています

515: ◆Fp.xSEIREI
09/02/06 07:39:07 kUyKQz9d
枠作ったりゲームシステム考えたりいろいろ
自機ショットのスムーズに曲がるホーミングレーザーを実装に向けていろいろ

516: ◆Fp.xSEIREI
09/02/06 12:17:19 kUyKQz9d
エフェクトのクラスいじってたら古すぎワロタ
開発初期のまんまだぜ…8月か…?

517:SGGK ◆6pZCoAtaxk
09/02/07 00:31:41 xxcJdwT9
自分もバグ取れたら、構想やゲームシステムを考えてみようかな~と思ってます。

選手のx、y座標を計算するのに使っている数値をデバッガで見ようと思いついたもののネット見ても方法が分からず断念。
もう1つ気になったのが、式の中にある1フレームあたりの移動量を現す数値をコンストラクタという初期化用関数?で設定していた点。
これをやめて、その式をコンストラクタの外に書いたら動いた。
理由は勉強不足で分からないけど、とりあえずこれで進めてしまう予定。
実はまた別のバグが出たけど今日は時間切れ~。

518:436
09/02/07 01:34:15 EB28/pCl
やる気が激しく低迷中・・・みんな俺にかまわず先に行くんだ・・・!!

519: ◆Fp.xSEIREI
09/02/07 18:29:46 aA+gcqfk
オーバーフローこわい
アイテムの初期化ミスったら音声ファイルハンドルぶっこわれたパネェ

520:SGGK ◆6pZCoAtaxk
09/02/07 23:35:24 fMJHJAn5
>>518
だ・・・大丈夫!やる気が0にならない限りは大丈夫です~。
>>519
「C言語 オーバーフロー」で検索してみましたが、む・・・難しそう・・・orz。

昨日の別のバグというのは、
1.Zキー押してないのに選手がマウスカーソルに向かっていく。
2.自分以外の選手全てがボールから離れていってしまう。
今日もあまりやれなくて未解決!!!

521:436
09/02/08 01:26:03 q6Hviut/
もう一ヶ月経ったか、早いなぁ
>>520
どうも~ 作成は止まってますが、なんだかんだでずっと考え続けてはいます

522: ◆Fp.xSEIREI
09/02/08 08:19:34 W7UWcBdq
>>520
正確にはオーバーフローじゃないかな?似たようなもんか。うちのは例えると

50個の配列変数をintで確保して、70回ループで初期化してしまいました。はみでた20回分はどこの変数を初期化したのでしょう☆

ってなった。画像や音声のハンドルを保存してるメモリ領域にはみ出てエラいことになったw


>>521
やる気が出ないときってあるよな~
書き出したらキリのいいとこまでとまらなくなるがそこまでが遠い…

523:SGGK ◆6pZCoAtaxk
09/02/08 23:11:00 DeawIxvP
時間経つの早いですね~。2月もあっという間かも・・・。
そういえば自分も画像データを読む時に配列変数1個ずれてプログラム書いてエラーになった経験がありますw

バグは>520の2.はなんとかクリア。
選手の座標決める式はおおざっぱに書くと、(次の座標)=(今の座標)+(1フレーム移動量)X(sinまたはcos)で、
その中のsin、cosを算出する式が別にあって、その中で(選手座標)-(ボール座標)としてたのが間違い。
その部分を(ボール座標)-(選手座標)にしたら直ったw

524:436
09/02/09 00:59:47 Mr5/Oitn
ちょっと出来そうな案が浮かんだので、ポチポチとやってます
>>522
ありがと~ ここに書き込む事で大分やる気をもらってます
>オーバーフロー
自分は文字列を上限超えて格納したら、以降コードを修正してもデバッグが起動不能に・・・w;

525:SGGK ◆6pZCoAtaxk
09/02/09 23:01:35 77ZsJA8v
>520のバグ1.は未解決です。
>517で言った構想やゲームシステムは、どちらかと言えば「やる事リスト」を考える事になりそうな感じ。
週末までになんとかできれば・・・。

526:436
09/02/10 00:42:25 CgwFXK0K
ずぅー っとキーコンフィグの仕組みをイジイジしてます

527: ◆Fp.xSEIREI
09/02/10 02:20:35 Bgt+PgnG
ゲームのプロセス優先度を変更して実行中のFPSのばらつきをほぼ0に(・∀・)
スカイプやってもエンコやっても処理落ちしない!けどフリーズしたらヤバそう

528:SGGK ◆6pZCoAtaxk
09/02/10 23:45:39 bVQ8HCA1
こちらは、「>520のバグ1.」未解決~。(間違いなさそうな気がするけどそんなはずないだろうし・・・)
こんな時は14歳から・・・の本に目を通してみます。

529:436
09/02/11 00:27:47 Up2cQUgT
今日も今日とてキーコンフィグ 今日も明日もキーコンフィグ
>>527
マルチコアならダイジョウブ!

530:SGGK ◆6pZCoAtaxk
09/02/11 15:14:11 mkWNCyhh
>>527、529
「ゲームのプロセス優先度を変更」、「マルチコア」で検索~!
む・・・難しい内容でした。

バグの原因発見!
原因のソース部分は内容的には下記の様になっていて、
このelseブロック内では最初以外の選手IDだけ処理される様な気がしていたけど、
良く見れば、Zキーを押さなかった場合、最初の選手のIDについても処理される事に気付いた。w
そして最初の選手のmove関数はマウスカーソル追従型にしていたから、
Zキーを押さなくてもmove関数が呼び出されて、選手がマウスカーソルに追従するというワケ。

while(選手IDが最後){
if( (選手IDが最初) && (Zキー押した) ){
(最初の選手データのクラス).move(0,0);//マウスカーソルを目指す関数が設定されている。
}
else{
(それ以外の選手データのクラス).move(ボールx座標,ボールy座標);//ボールを目指す関数が設定されている
}
 ID++する。
}

原因は分かったけど、どのように直すかは検討中・・・orz

531:436
09/02/12 00:40:35 qdQhKDNX
まだまだキーコンフィグ
一応途中のテストでは動いたものの、見た目が悪いので書き直しと残りの書き足しで、あと一日かかりそう

532:名前は開発中のものです。
09/02/12 20:18:47 3ETp66yJ
皆さん頑張ってますなあ。
僕も頑張らねば……

533:SGGK ◆6pZCoAtaxk
09/02/12 23:46:17 0sUNNefd
お互い頑張りましょ~!

(>530の続き)
else{
と書いてあるところを
else if(選手ID != 最初){
としたら直った!!!

次は、やる事リスト作成またはもう少しプログラムを手直しするかのどちらかで行く予定です。

534:436
09/02/13 00:58:37 Xaou+w4f
風邪引いたー最近ちょっと変だったからもしやと思ったけど・・・皆さんも気をつけて
まだテスト途中ですが、キーコンフィグ一応完成。アナログだろうがPOVだろうが何でもこいです

535:SGGK ◆6pZCoAtaxk
09/02/13 23:22:42 NesIqe+1
キーコンフィグ、気になってネットでちょっとだけ調べてみたらやっぱり難解。
もしかしてWindowsプログラミングかも?
自分もWindowsプログラミングにトライする準備勉強してみようかな~。(まだ早いかもしれないけど)
以前、すぐに挫折した経験ありです・・・orz (それで今はDXライブラリ+主に14歳シリーズ書籍)
風邪の方は、とりあえずマスクを用意してきます~。

「やる事リスト」はもう少し後にして、まずはボールのバグを直す事にしてみます。

536:436
09/02/14 00:35:45 XMi119GB
あ~何やってんだ自分; 「完成」したのはファイルからボタン名を読み込んだりキーコードに変換したり、各命令にボタンを割り当てる部分で
キーコンフィグ画面や設定を保存する処理などまだまだやる事沢山あります。誤解を招く書き込みしてすいません
今日はウィンドウのタゲが他に移って戻った時にFPSがおかしくなるのを修正

>>535
自分は基本DXライブラリのリファレンスとヘッダファイル?と標準関数の説明ページに書かれている事以外は使えません;

537:SGGK ◆6pZCoAtaxk
09/02/15 00:02:48 jh3k09Ob
>>536
そ・・・そういえば、自分はDXライブラリを説明見てインストールしてしまったら、
もうその時の事を忘れてしまい、なんで動いてるのかを良く知らないで使っている状態になってます。・・・orz

(ボールのバグの原因?)
全選手とボールの当たり判定が「当たり」の時に選手のフラグ用メンバ変数をtrueにする。
「Zキー押し」と「フラグ=true」が同時に成立していたら、カウント変数を初期化(=30)し、フラグ=falseにして、
ボールを蹴る選手の移動方向と同方向に移動させる。
カウント変数を毎ループ1ずつ減らし、if(カウンタ>0){ボール移動処理}にしてるので、
カウント0になるとボールは止まる。

これで分かった問題点は・・・、
1.ボールに触れた時にZキーを押さずにボールから離れてもフラグがtrueのままになる。

だから以前4方向移動だった頃、ボールから離れてる時にZキーを押すとボールが動いたと思われる。
今はZキー移動なので、触れた瞬間にボールが蹴られてしまうし、
他選手がボールに自分より先に触れた時に自分がZキーで移動してたら、他選手のフラグ=trueになるので、
他選手もボールが蹴れてしまう。

こ・・・これを直すのは辛そうな感じ。
そのままにしておいて他の事やるかもですw

538:436
09/02/15 01:02:19 INXhf2VE
コンフィグ画面を作ってます。やっぱり見た目が変化するとモチベーションが違いますね~

539:SGGK ◆6pZCoAtaxk
09/02/15 22:20:49 HE3msbh5
自分も選手11人出したらモチベーション上がるかもです~。(もうしばらく先になりそうな感じ)

ボールのバグについては、
アタリフラグを当たり判定でONして、ボールを蹴った直後にOFFしてるのがおかしいと思った。
これだとボールに触れても蹴ってない選手がいたら、その選手のアタリフラグはずっとONのままになってしまうから・・・。
という事で、当たり判定の関数内で選手がボールに触れたらON、離れたらOFFするようにしたみた。
そしてZキーは移動用にしてるので、「蹴る」をXキーにしてみた。

コンパイラは通ったけど、ボールに触ってる時にXキー押しても何故かボールは動かない。
原因不明~。また日数掛かりそうな予感。(一日あたり少ししかやれないので・・・)

540:436
09/02/16 01:19:41 /BiYzi6H
う~むどうもうまい処理の仕方が浮かばないです。引き続きコンフィグ画面を作り中

541:SGGK ◆6pZCoAtaxk
09/02/16 22:32:50 YITEZ4OH
バグ取れずです。・・・orz
if文の後に書いてあるボールの移動処理のブロックにprintfDx("%d",3);を書いても
何も表示されないので、if文の後のボール移動処理ブロックに処理が移ってない感じ。

542: ◆Fp.xSEIREI
09/02/16 23:27:24 agCOi5px
ブレークポイントつかってる?(・∀・)左の方クリックしたら赤い○つくやつ
そこで処理とめて変数の中身見たりできる
URLリンク(www.dotup.org)

543:436
09/02/17 02:43:28 u6gSAOgi
>>542
うわああぁこんな便利な機能を隠し持っていたとは・・・!
今まで変数を全て画面に表示してチェックしてました

544: ◆Fp.xSEIREI
09/02/17 04:59:49 0pJ8V4zK
クラスのメンバを一気に見たりできるから超便利だぜ(・∀・)

545:SGGK ◆6pZCoAtaxk
09/02/17 23:52:55 t8GcL2rZ
>>542
ありがとうございます~!画像も見てみました。
自分のはターボデバッガというのが入ってるのですが、何故かブレークポイントが最初の数行までしか設定できず、
その他いろいろ使いこなせない場面があり、ちょっと放置気味でした・・・orz
ネットで調べてもあまり情報が載っていない様なので、情報の多いデバッガを使えるコンパイラがあれば、それに乗り換えが必要かもしれません。
でも、もうしばらく頑張ってみます~。

546:せいれい
09/02/18 00:48:38 uhVOawfK
俺のコンパイラはVC++2008EEだ(・∀・)便利

547:436
09/02/18 01:08:38 4Q2oRHHM
今日はサボってしまた。。。明日がんばります

548:SGGK ◆6pZCoAtaxk
09/02/18 23:47:13 GV05nuHS
自分も今日はあまりできませんでした。・・・orz
VC++2008EE、検討してみます。(今度の土日で試してみるかも)

ターボデバッガ、何故か画面右上の「HELP」をクリックしても
何も表示されないので以前から放置して諦めてたけど、偶然解決。
自分はデバッガ画面をかなり縦長に初期設定していてたらしく、
実はHELP画面はその一番下側に表示されていて普段は隠れている格好になっていて、
スクロールしない限り見ることができなかったのが原因。
でも、肝心のブレークポイントの問題解決に繋がる説明は見つからず・・・orz
やっぱり、VC++2008EEに切り替えてそっちのデバッガでも同じ問題が出るかを
確認した方が早く解決するかも・・・?

549:436
09/02/19 00:40:29 +d/NyJF6
ゲーム内のウィンドウ単位で関数化してみれば管理が楽かも・・・と思い立ち、試しに組み立て中
>>548
自分もVC++2008EEです。トゥルースペースといい、無料で使っていいなんてマイクロソフトは太っ腹すねえ

550:せいれい
09/02/19 02:56:23 TWrN13Aa
そろそろいつか投げてたレーザーの処理をきちんと片付けておこうと思ったり
ある点Pが一辺の中点として存在する高さa幅bの矩形がr度回転している時の角ABCDの求め方って公式とかあるのかな

このゆとり脳をフル回転させると
点Pからr+90度方向にb/2進んだ座標に点A、-90度方向にb/2進んだ座標に点B、点Aから-90度方向にa進んだ座標に点D、点Bから+90度方向にa進んだ座標に点Cを取れば矩形が描けるはず…!!

自作の「角度と移動量を入れたら座標を返す関数」を駆使すれば余☆裕☆DA

フハハハハハ

551:SGGK ◆6pZCoAtaxk
09/02/19 23:27:19 l2on3TGr
>>549
現在はボーランドC++5.5コンパイラとBCCデベロッパーを使用(14歳シリーズC++がこれを使っていた為)していますが、
土日といわず今からでもと思いVC++2008EEをインストール中。今日はインストールまでで終わりそうです。
>>550
回転そのものの公式の存在については今の自分では見つかりませんでした。
やっぱり距離とsin、cosで1点ずつ位置を計算するかな~と思いますorz

552:436
09/02/20 00:15:20 BeiHPfXO
引き続きウィンドウの関数化
>>550>>551
数学苦手な自分にはさっぱりっす;

553: ◆Fp.xSEIREI
09/02/20 02:06:24 DwKgvB67
矩形回転についていろいろ(・∀・)
拡張性を求めて試行錯誤

554:SGGK ◆6pZCoAtaxk
09/02/20 23:59:53 6hmoFzm5
DXライブラリのサイトにある説明に従ってコンパイラを設定し、
プロジェクトの新規作成までで今日は終了。orz
土日前にここまでやっておいて良かったかもしれないけど、ややこしい~。

555: ◆Fp.xSEIREI
09/02/21 00:52:09 hRYbf/Bl
レーザー見た目だけ実装(・∀・)当たり判定はまだ
URLリンク(files.uploadr.net)

556:436
09/02/21 01:09:18 qlEwaizd
今日も今日とて部品作り
>>555
おぉぉすげ~ 

557:名前は開発中のものです。
09/02/21 23:36:37 lLbQtoox
>>555
うぉ!弾の絵が短い状態から細長く変化するという事は何か技がありそうな感じ。

こちらはバグが25箇所も出て、現在お手上げ状態~orz
ボーランドC++でやってた時はバグなかったのに・・・。

558:436
09/02/22 01:36:36 LjZlw/rK
ボタンの入力系統ごとの処理をかきかき
十字キーを押すと左アナログからも数値が返ってくる・・・
連動してるなんてしらなんだ

559: ◆Fp.xSEIREI
09/02/22 02:04:08 RhTsgzZG
予告線から発生するタイプも実装(・∀・)
URLリンク(www.dotup.org)
オプションにくっつけて回転させながら撃たせてみた


あとは当たり判定つけるだけ(・∀・)

560:名前は開発中のものです。
09/02/22 03:20:53 vuKwEEMt
>ボーランドC++でやってた時はバグなかったのに・・・。

それはバグっつーかコンパイラの仕様の違いでは……。

561:SGGK ◆6pZCoAtaxk
09/02/22 22:01:00 Iti7a7GO
>>558、559
みなさん進んでますね~。
こちらはバグが取れず当分の間足踏み状態が続きそうな予感です~。
>>560
仕様が違うとコンパイラってこんなにも違うものなのかと痛感してます。

昨日のエラーは最後の3行、残りはワーニング(警告)。
エラー内容は、言葉忘れたけど、同じ定義が他にもされているという類のもの。
以前、staticメンバ変数は外部に実体の定義が必要らしいと知り、それをたまたまヘッダファイルの中で定義してたから、
そのヘッダファイルが何箇所かで呼ばれてるのがいけないんだろうと思い、
定義の部分をcppファイルに移したら、コンパイルが進み、「おっ!?」と思ったら
ウインドウが出た直後に英文だけのエラーメッセージウィンドウが表示されて停止。
ワーニングも71個に増えた。・・・orz

562:436
09/02/23 01:09:18 6s8IHBJl
選択画面でのキーとパッド入力に対する挙動が出来た
今はマウスとホイールの分を組み立て中
>>561
コンパイラごとに書き方変えなくちゃ駄目って事ですか?
不便だー

563:SGGK ◆6pZCoAtaxk
09/02/23 23:10:38 ScQiYH5A
>>562
ボーランドC++で通ったなら、VC++2008EEでもいけると思ったけどダメでした。
VC++2008EEの方が何故かチェック厳しい感じ。

VC++2008EEで結構書き直ししてしまったので、もう一度ボーランドC++で書いて動いていた時の状態から
違う考えの修正をしてみようとボーランドC++のソースを見たら何故かVC++2008EEで今まで書き直してきた内容と同じになっていた。
VC++2008EEのプロジェクト?へのソース組み込み方法が分からなかったので、ソースをプロジェクトファイルのツリー画面に
ドラッグドロップして操作してたのが原因らしい。どうりでプロジェクトファイルのフォルダを開いてもソースファイルが無いワケだ。
もう戻れない~orz

564:名前は開発中のものです。
09/02/24 00:28:26 S/Istr7/
関数内で使われてない変数があるだけでもVCは文句言ってくるしな。
GCCは気にしないでくれるのにw


565:436
09/02/24 01:55:47 bo0/H7dJ
引き続きマウスの入力分をかきこき
>>563
あわわ;チェック厳しいのも場合によりますね
ユーザ側でゆるめられる設定とかあればいいんですが

566: ◆Fp.xSEIREI
09/02/24 03:18:11 5+X9BMJV
関数に構造体ポインタの渡し方がよくわからない(・∀・)
というか構造体ポインタの宣言?がよくわkあああああああああ

構造体が配列になってる時はどうすればいいんだろう(・∀・)

567:名前は開発中のものです。
09/02/24 06:03:45 uqndkdFp
/* 何がわからないのか知らんが! */
#include "stdio.h"
#define MS "z'goku"
/* 構造体とその別名の定義 */
typedef struct tagS { char the_red_comet; } S;

/* 構造体のポインタをとる関数
ポインタ経由の場合「->」で要素にアクセス */
void func1(S *ps){ ps->the_red_comet = '3'; }

/* 構造体の配列をとる関数
関数に渡すとサイズの情報が欠落するので
渡す配列のサイズ(要素数)を一緒に渡す */
void func2(S ps[], int num){
int i;
for (i=0; i<num; i++)
ps[i].the_red_comet = MS[i];
}

int main(void){
S s, as[sizeof MS];
int i;

func1(&s); /* &で変数のアドレス(ポインタ) */
printf("%c\n", s.the_red_comet);

func2(as, sizeof as/sizeof as[0]);
for (i=0; i<sizeof as/sizeof as[0]; i++)
printf("%c", as[i].the_red_comet);
return 0;
}

568: ◆Fp.xSEIREI
09/02/24 11:51:58 5+X9BMJV
うぉぉ(・∀・)こんなに難解なのか…
もうちょっとがんばってみる

ともかく㌧

569:名前は開発中のものです。
09/02/24 14:01:41 cPcauKWt
>>568
あー、いや、そんなむずいもんじゃないにょ。
多分俺の書き方が悪い。ぶっちゃけズゴックって言いたかっただけ。

構造体に限らず、変数はメモリのどっか特定のアドレスに格納される。
変数のアドレスは変数名の前に&付けると取り出せて、ポインタ変数へ保存できる。

int *pi;でint型のポインタ変数piが作れるように、S *ps;でS型のポインタ変数psが作れる。
int ai[num];でint型num個の配列aiが作れるように、 S as[num];でS型num個の配列asが作れる。
構造体のメンバにポインタ経由でアクセスする時は「.」じゃなく「->」。
構造体配列sのi番目の要素のメンバにアクセスする時はs[i].member。

>>567のtypedefのとこは純C用の書き方。C++ならふつーにstruct S{char the_red_comet};でいい。
ちなみにfunc2(S ps[], int num)のとこは実際はfunc2(S *ps, int num)と同じだったりする。
配列にsizeof使うと配列全体のサイズが取れるけど、関数に渡した場合その中では
配列じゃなくポインタが正体なんで、sizeof使ってもポインタのサイズしか取れないのに注意。
配列の名前は単体で使うと先頭要素のアドレスを指すポインタになるんで、
呼ぶ時にfunc2(&as[0], sizeof as/sizeof as[0])としても同じ。
(関数に配列渡してる訳じゃなく、ポインタを渡してる)

うん、確かに自分で言ってて難解な気がしてきた。俺は説明が下手だ。
このへんは構造体の話というより配列とポインタの話やね。
細かいこと気にせず動きゃいーんだの精神でがんがれ!

570:名前は開発中のものです。
09/02/24 14:16:53 cPcauKWt
う、よく見返したら'\0'まで出力してんな。恥ずっ。

571: ◆Fp.xSEIREI
09/02/24 14:28:51 5+X9BMJV
>>569
MSとかズゴックがCの関数か何かかと思った俺は

うちのソース風にやりたいこと書くと
~~ヘッダー~~~~~~

typedef struct{
  char the_red_comet;
} S;

void func1(ぽいんたっぽい引数){うんたら};
~~~~~~~~~~~~


~~別のソースファイル~~
extern void func1(ぽいんたっぽい引数);
extern S MOBILE_SUIT[100];

void func2{

int i;

 for(i=0;i<100;i++){

 funk1 (ここにMOBILE_SUIT[i]のthe_red_cometのポインタをあげたい);

 }
}

こんな感じ。ちなみにmainとかは行数の都合により省略。mainは別のファイルにあるよっ
あとDXライブラリだからstdio.hは入れられないんだ

572:名前は開発中のものです。
09/02/24 15:27:17 cPcauKWt
>>571
↓こんな感じ。

void func1(char *p) {
/* 何かの処理 */
}

void func2(void) {
int i;
for (i=0; i<100; i++) {
func1( &(MOBILE_SUIT[i].the_red_comet) );
}
}

アドレス取得の「&」よりメンバ選択の「.」が優先度低い演算子なので、
括弧で順序を指定してやる必要がある。
URLリンク(takagi.in)

573: ◆Fp.xSEIREI
09/02/24 15:37:15 5+X9BMJV
>>572
うおおおおおおおおおおおお!!!?コンパイル通ったwwwwwwwwwきちんと動いたSUGEEEEEEEEEEEEEEEEEEEEEE
できたうっひょおおおおおおおおおおおおおおおおおぴょおおおおおおおおおおお
某関数がシンプルになったぜええええええええええええええええええええええYEAAAAAAAAAAAAAAAA

ありがとう、ありがとうズゴック先生(;∀;)


てか->とか * とか考えなくても &つけりゃよかったのねorz

574: ◆Fp.xSEIREI
09/02/24 15:45:04 5+X9BMJV
URLリンク(www.dotup.org)
ここに使われますた

ポインタって便利だね

575:SGGK ◆6pZCoAtaxk
09/02/24 23:16:12 AWriAbTE
>>564-565
チェック厳しいですが、なんとかVC++2008EEでやってみようと思います。
ソース上書きしてしまって直前の内容には戻れなくなったしw
>>566-574
ポインタっていつ見てもややこしいですね~。勉強してる時はなんとなく分かった感じになっても
しばらくして自分で書こうとするとまた分からなくなってしまってたりする・・・w

今日もコンパイラの使い方で足踏み状態。
既にあるソースをコンパイルに含める方法はわかったので、もう前のバージョンに上書きされる事は無くなった。
プロジェクトファイルのフォルダにソースをコピーしてから、「新しい項目の追加」の▼押して「既存項目の追加」で出来る。
処理がどこで止まっているかわからないので、画面右下の「呼び出し履歴」を表示させたいが、
デバッグでプログラムが止まった時に出るエラー画面でデバッグの「中止」を押すと、「呼び出し履歴」が消えてしまう。
これはエラー画面でデバッグの「再試行」を押し、次に出る画面で「中断」を押せば、「呼び出し履歴」が残る。
履歴は上からじゃなく下から上に向かっている事に気付くのに時間掛かった。
とりあえず、ゴールのデータを初期化する所で止まっているらしい。
ちなみにエラー画面の英文は、イテレータがどうのこうのという感じの内容でよく分からなかったけど、
たしかにそういうのを使っているので、その辺が原因かも?というところまで来てマス。

576:436
09/02/25 01:06:52 ueY3gPVj
マウスとホイールの挙動も大体出来て、今はコンフィグ画面を組み立て中

577:SGGK ◆6pZCoAtaxk
09/02/25 23:02:59 yn9MVXN6
バグ変化無し・・・。
一行ずつ実行させようとすると勝手にWinMain関数から始まり、内部の関数を呼ぶところで
「現在の場所のソースコードを記述できません」と表示され先に進まず。
それならばと思い、昨日問題があると思ったゴール関係の処理関数内部一行目にブレークポイントを設定し、デバッグ開始し、
ブレークポイントで止まったところからF11キーを押して一行ずつ実行させてみたら
いつの間にかエディタ画面内に「list」というタブが付いた画面が表示され、
その画面中身は見覚えのない理解不能なソースが書かれていて、何故か一行実行がこの画面に移ってしまっている・・・orz
ちなみにエラー文は、「Experssion:list iterator not dereferencable」
一応検索してみたけど、自分に分かりそうなのは見つからず・・・。
気持ちを切り替えた方がいいと思い、今日はここで終了。

578:名前は開発中のものです。
09/02/25 23:18:59 M83kTzla
リリースモードでやって、逆アセの画面みてるとかw
MOV AX,BXとかそういうんあった?

579:436
09/02/26 01:18:57 F2EPEs+N
引き続きコンフィグ画面を~

580:名前は開発中のものです。
09/02/26 04:04:36 qHLjortN
>>577
ひょっとしてiteratorを++とかやってたり

581:名前は開発中のものです。
09/02/26 04:13:26 qHLjortN
いや、ちがうなんだっけ
えーとstd::list.iterator itr とかしたとき何かができなかったような…

582: ◆Fp.xSEIREI
09/02/26 10:02:19 0TSvd06Q
二次元上での物体の自由落下についていろいろ(・∀・)
既存の関数を利用してそれっぽいのなら作れそう

583: ◆Fp.xSEIREI
09/02/26 11:43:11 EbeM2R2x
矩形の4点座標を計算する関数に便利機能をつけたら引数14個のアホみたいな関数になってしまった

584:SGGK ◆6pZCoAtaxk
09/02/26 22:12:21 1SuK1bkP
>>578
確認したところデバッグモードでした。listというタブと逆アセンブルというタブの付いたウィンドウが出てきて
デバッグを中断すると見れます。MOVとかは逆アセンブルの方に出ていて
listのウィンドウは、
#if _HAS_ITERATOR_DEBUGGING
if (this->_Mycont == 0
|| _Ptr == 0
|| _Ptr == ((_Myt *)this->_Mycont)->_Myhead)
{
_DEBUG_ERROR("list iterator not dereferencable");
_SCL_SECURE_TRAITS_OUT_OF_RANGE;
}
#else
・・・のような感じで意味不明な文が延々と1300行近く出力されます・・・。
>>579
早くバグを取って自分も先に進みたいです。w
>>580、581
iteratorをあまり理解しないうちにプログラムを書いていたら、
やっぱりそういうところがバグになって現れてしまうみたいです。
iteratorはプログラム内のあちこちで使ってるので大変ですが、
とりあえず本当にすべてのiteratorを使っているところでバグになるのか
切り分けをしてみようと考えてます。
>>582,583
自分もいつか選手にジャンプ&自由落下させてみたいけれど、バグが・・・w

585:436
09/02/27 00:36:41 JFxOaYgu
まだまだコンフィグ画面
項目をオンマウスでアクティブ、から、オンマウス+クリックでアクティブ、に変更
たったそれだけの変更でもあちこち書き換えなきゃならない羽目に
仕様は予め細部まで熟考しとく事!>自分

586: ◆Fp.xSEIREI
09/02/27 02:03:40 gp2A0UAm
>>584
俺はそんなことなったこと無いなぁ…難しいことしてないからかもしれないけど


レーザーの幅と長さに対する倍率で当たり判定のサイズを指定できるようにしてみた
長さ0.9倍、幅0.5倍を当たり判定に指定するとこの赤い四角が当たり判定に(・∀・)一枚目:最大時 二枚目:消滅時
きちんとレーザーの状態に合わせて自動で当たり判定のサイズも変わる便利仕様

URLリンク(www.dotup.org)

587:SGGK ◆6pZCoAtaxk
09/02/27 23:24:49 U/xgHr9a
>>585
なんだか自分も仕様について考えてみたくなってきました。w
>525の頃に言っていた「やる事リスト」の前に仕様決めた方がいいのかも・・・。
>>586
製作中は当たり判定表示した方が便利そうですね~。(引数が15個に増えてる~!)
自分もバグ取れたらちょっと考えてみたいです。

バグはまだ取れないけど、iteratorを使っている関数(選手、ボール、ゴールの初期化、
選手、ボール、ゴールの移動、当たり判定)の内、コンパイラで停止した関数がゴール関係だったので、
とりあえずゴールの初期化と移動の関数を呼び出す行に // をつけて注釈文にしたら、画面が表示された!
なので、ゴール関係関数と他の関数でのiteratorの使い方に違いが無いか見比べてみるつもり。

588:436
09/02/28 01:22:18 BN0uPU4y
そう、コンフィグです、今日も
>>586
複雑そう・・・自分には無理だ;
>>587
おぉ復活しつつあるようで、ひとまずホッとしました

589:SGGK ◆6pZCoAtaxk
09/02/28 23:41:24 6cM45uPX
なんとかコンパイルできるようになりました。
初期化関数については、元々上手くいってる選手やボールの初期化関数ではiteratorを使ってませんでした。
ゴール関係初期化関数だけiteratorを何故か使ってしまっていてそれがプログラム実行中のエラーになっていたらしい。
結局>577のエラーメッセージの意味は分からなかったので、先がちょっと不安な感じ。
何故か移動用関数内では、(*it). で要素にアクセスできているので不思議~。
これでやっと>539のバグ取りに戻れる・・・orz

(プログラム実行時エラーになる書き方、詳細は略)
init(){
 goallist.clear(); //GoalData型(ゴール関係のデータが入ってるクラス)のリストgoallistの要素を空にする。
list<GoalData>::iterator it; //GoalData型リストgoallistのどれかを指定するためのiteratorを設定
it=goaldata.begin;      //iteratorをGoalData型リストgoallistの先頭を指すようにする
(データの数だけループ){
(*it).x1=10; //GoalData型の要素に初期データを代入する
(*it).x2=50;
 ++it; //iteratorを1つ上げて次のGoalData型の要素を指すようにする。


(プログラムが無事実行できた書き方、詳細は略)
init(){
 GoalData gd;  //GoalData 型データ1個分を仮保存するためのローカル変数gdを定義
(データの数だけループ){
gd.x1=10; //GoalData型の要素に初期データを代入する
gd.x2=50;
 goallist.push_back(gd); //gdに仮保存したgoallistの要素一個分のデータをまとめてgoallistの最後尾の要素に登録
 }





590:436
09/03/01 02:02:50 fK/bT0En
>>589
お~おめでとうございます 自分は停滞気味・・・

591:SGGK ◆6pZCoAtaxk
09/03/01 22:35:05 4AGEbIXn
>>590
ありがとうございます~。 今日はほとんど進みませんでした。orz
この数日のバグ取りの反動かもw

592:436
09/03/02 01:26:59 yUGCkh1E
マウスオン+クリックで選択できる様に変更
もう3月!今年も残り10ヶ月を切ったぞーいそげいそげ

593: ◆Fp.xSEIREI
09/03/02 17:23:38 O2JzSRpM
list<GoalData>::iterator it;

こ…これはいったい何をしているんだ…俺にはわからない…/(^o^)\


ゲームシステムについていろいろ(・∀・)
面白くするにはどうすればいいか、を考えてみる
クソゲーを観察してみるのも勉強になるみたいね

594:SGGK ◆6pZCoAtaxk
09/03/02 23:46:06 MvrVI/rB
>>592
そういえばもう3月ですね~、時間の流れが速すぎる~。
>>593
C++で、配列みたいに複数のデータを管理できるコンテナクラスというのが標準でいろいろ用意されていて、
そのひとつにlistクラスというのがあり、そのlistクラスでGoalData型(←これは自分でプログラムの中で宣言して作った型)のデータを複数管理したいので、
どのGoalData型かを指し示す為にイテレータit(←配列変数の要素にアクセスするための添え字みたいなやつ)というものを宣言しますみたいな感じで自分は理解していますが、
自信はあまり無いです・・・orz

ボール動かないバグ取れないですね~。
if(ボール蹴る時のキーが押されてる)&&(ボールと選手の当たり判定用フラグ変数==true)の条件部分が真になっていない感じ。
ボールと選手の当たり判定用フラグ変数が、当たり判定関数で当たり=1と成っていても
if文に来る直前でprintfDX()使って表示させて確認してみると何故か0になってる。
プログラム中では同じ変数名で書いていても中身は違うとなると
変数のスコープ(有効範囲みたいなやつ?)をよく分かっていなくてそれが原因なのかもしれないというのが思いついたけど
それを確かめる方法が無い・・・orz

595:名前は開発中のものです。
09/03/03 00:53:43 j/EdIaTK
ひょっとして「押されている」と思ってるのが「押されたとき」だったり

【ハウツー】最初にマスターしたいVisual Studioのデバッグ機能 - 基本編 (1) ブレークポイント | エンタープライズ | マイコミジャーナル
URLリンク(journal.mycom.co.jp)


596:436
09/03/03 01:13:26 B6hdHZko
ウィンドウモード変更・表示倍率変更・フレームレート変更・FPS表示切替を選択できる様になりました
>>593
面白く・・・最大の問題すなぁ・・・

597: ◆Fp.xSEIREI
09/03/03 21:05:59 9wM7nouk
URLリンク(www.dotup.org)

回転行列による矩形と点の当たり判定実装(・∀・)

598:SGGK ◆6pZCoAtaxk
09/03/03 22:56:23 vs8eMq8g
>>595
ありがとうございます~。デバッグは機能が色々ある様なので少しずつ覚えていこうと思います。
キー入力の状態については、実は自分はまだよく理解できぬままプログラムやってます・・・orz
>>596
かなり順調にいっててうらやましいですー。
>>597
回転行列を当たり判定に使う・・・、む・・・難しそうな世界。

ボール動かないバグの原因なんとなく見えた。
フラグ用変数のスコープが違ってて名前は同じでもアドレスが異なっている別々の変数を
それぞれの関数内で操作してるのではないかと思ったけど、どうもそうではなさそう。
ボールが選手に当たっている状態を表すフラグの立て方に原因があったと思われる。
これを説明するには一週間分の書き込みスペースを使ってしまいそうな感じ。

599:436
09/03/04 01:23:23 +kKOKlkp
フルスクリーンから復帰すると古い方の拡大率になってたのに気付いて修正
マウスで窓枠ドラッグした時の拡大率を取得出来る様にした
今になってもっとシンプルなインタフェイスを思いつく・・・あ~全体的に作り直したい
>>595
勉強になります
>>598
一つの結果が出るまでのスパンというか下ごしらえが段々長く大変になってきました;

600:せいれい
09/03/04 21:55:43 1TDttkKc
もうちょっと調整したらゲームシステム部分の作成に移れそう
そろそろ背景やファイル入出力もいじらねば(・∀・)

601:SGGK ◆6pZCoAtaxk
09/03/04 22:20:50 M0lqZAHx
こちらは、まだまだバグ取り中~。

昨日言っていたバグの原因は、プログラムをかなり略して書くと、

メインループ(){
 選手.move();//選手の移動処理
 ボール.move();//ボールの移動処理
 ゴール.move();//ゴールの移動?処理
 当たり判定();//それぞれのオブジェクトの当たり判定をここでまとめて行う
}
・・・となっていて、当たり判定関数の中では、

while(最後の選手まで繰り返す){
if( 選手とボールが当たっているか? ){
 a->atari=true;// 選手のメンバ変数atariのフラグをONする。
      b->atari=true;// ボールのメンバ変数atariのフラグをONする。
}
else{
 a->atari=false;// 選手のメンバ変数atariのフラグをOFFする。
 b->atari=false;// ボールのメンバ変数atariのフラグをOFFする。
}

ボールを蹴る処理は、メインループの「ボール.move();//ボールの移動処理」の中にあって、蹴れる条件は、

(Xキーが押されている)&&(ボールのatariフラグがONである)

なのに対し、今のプログラムでは、自分がコントロールできるのは一番目の選手だけなので、
選手をボールに接触させてatariフラグをONにしても当たり判定関数のwhile内で最後の選手まで
判定するので、最後の選手はボールに触れてないから、b->atari=falseになって、ボールのatariフラグは結局最後にはOFFにされてしまう。
その状態でメインループのボール移動関数に戻るので、いつまでたってもボールを蹴れる条件が成立しない・・・orz

602:名前は開発中のものです。
09/03/04 22:40:39 /ZV4wLD2
何故else条件でボールのフラグを落とすのか、40文字以内で説明せよ(5点)

フラグ落とすのは選手だけでいいと思うんだが。そもそもボールのフラグもいらない。
ボール持ってる選手しか蹴る(移動の初期値を与える)ことができないのなら
ボール支配できたときにボール蹴る関数にでも飛ばせばいいと思うが、どうか。

603:436
09/03/05 00:50:31 LR5dYdvr
ああああせりました;
窓枠ドラッグ時の拡大率を取得する為SetAlwaysRunFlag();をON-OFF多用してたら
なぜかSetAlwaysRunFlag();をOFFにするとデバッグに行く途中で止まり、
ON状態の一文を入れないと動かなくなり、とうとうそれを入れても入れなくても動かなくなり・・・
VCリインストールしたら今度はヘッダファイルを読まなくなり(パスは渡してるのに)、
レジストリからVC関連を全消去してリインストール、さっきようやくまともに動いたっぽい

SetAlwaysRunFlag();を乱用乱発してたのが悪かったのかなぁ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch