1人でゲームが作れるように修行します。2 (487レス)
1人でゲームが作れるように修行します。2 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
157: SGGK ◆6pZCoAtaxk [sage] 2011/02/28(月) 22:47:24.76 ID:ard6obcB 今回のプログラム修正は前回と違って、warningが出ないようにしたい。(前回あまりにもたくさん出てきたので諦めてしまった。) warning C4290: C++ の例外の指定は無視されます。関数が __declspec(nothrow) でないことのみ表示されます。 上記のwarningメッセージは、プログラムソースの例えば、void loadFiles()throw(int);と書いた行のような場所で多数出た。 エラー処理の命令でtry{この中でエラー出たら何かをthrowする。}catch(){左の()内とthrowされた値が同じ時に処理する内容をここに書く}というのがあって、 その最初の{}の中には関数を入れる事も出来て、その関数の中からエラー時にthrowすることも出来る。 つまり外に向けてthrow出来る関数を宣言するときにthrow(int);(注:この例ではthrowされる値の型はint型になる)を横に付けるらしい。 でも、VS2008では、この仕様をフォローしてないので、throwされる型は指定できない。 warning C4290: はそういう事を言っているらしい。 このwarningが出ないようにするには、 #pragma warning( disable : 4290 ) を書いてやればよいとの事。 たしかに出なくなった! http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/157
179: 名前は開発中のものです。 [sage] 2011/03/29(火) 00:57:27.76 ID:W5EaQ6/R 久々にまたがんばろうかな っと思ったけど この板すんげぇ過疎ってんのね・・・ このスレにちょいとお邪魔してもいいかな とりあえず2DでSLGぽいのを目指して。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/179
190: 179 [sage] 2011/04/02(土) 21:31:56.76 ID:YKJBI5s3 class HUMAN_UNIT { public: void Damage(int point); void Heal(int point); private: int hp; }; void HUMAN_UNIT::Damage(int point) { hp -= point; return; } void HUMAN_UNIT::Heal(int point) { hp += point; return; } ハンドルとか良く分かって無いですが、こういう事? んでも↓みたいな事やるときにhp取り出すのがめんどくて ついpublicに置いてしまう…w HUMAN_UNIT yuusya , souryo; if(yuusya.hp > souryo.hp)souryo.Heal(); if(yuusya.hp < souryo.hp)yuusya.Heal(); http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/190
196: SGGK ◆6pZCoAtaxk [sage] 2011/04/05(火) 00:03:40.76 ID:S0hRYVkN >>194 以前、動くところまで書いたのですが、試合前半後半で選手の向きを入れ替えたりとか いろいろ条件を加えていくうちにソースがわかりにくくなってきた事があったので、 もしまたそうなっても、今の状態からならやり直しやすいだろうと思い、ここを区切りにして保存しておこうと思ってます。 >>195 ともに頑張りましょう! get、set関数の件、たしかにそのとおりで、直すときは検索つかえばいいんだし、これから書く部分はpublicにしてみます。 今日は、プログラムをリリースモードでコンパイルしようとしてバグ。 どうもユニコードとかの文字コードの何かが原因らしいけど、ネット検索で見つけたコンパイラの設定画面が表示されず、 しようがないので、ソース内の”文字”をTEXT(”文字”)にしたという例を真似してみたり、 他にもいろいろやってみた結果、コンパイルは通ったけど、デバッグモードでは22人の選手が表示されるのに、 リリースモードでは2人しか表示されない…。解決には時間かかる予感。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/196
346: SGGK ◆6pZCoAtaxk [sage] 2012/03/03(土) 22:58:58.76 ID:7buMobyS しかし、良く見ると自分の選手がボールにタッチする前から選手全員がボールに向かおうとしてることに気付く。 移動出来る選手は自分が動かす1人だけだけで他選手は足元から移動方向に短い線を引くようにしていたので気付いた。 原因はボールにタッチした場合にボールに向かい、タッチしてない場にマウスカーソルに向かうのを 反対にプログラムしていたから。 次は、それでもボールが蹴れない問題。 it=(*listfp).begin(); while(it!=(*listfp).end()){ 押してるキーで移動関数(歩く・走る)を切り替える } ++it; } この1行を忘れてた → it=(*listfp).begin(); while(it!=(*listfp).end()){ ボールにタッチすると判定用変数を選手IDに上書きして、選手の移動目標をボールにして、ボールを蹴る。 } ++it; } しかし、ボールの動きが良くない。 最初は選手がボールを押してるような感じでずるずる動いたかと思うと 次の瞬間、勢いよく蹴ってしまう。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/346
364: SGGK ◆6pZCoAtaxk [sage] 2012/06/27(水) 22:59:33.76 ID:1q/ptGIo 昨日のプログラムを少し変えた。 1つの状態について1ヘッダーファイル、1cppファイルというのはファイル数が多すぎて分かりずらいのでやめて、 複数の状態を1ヘッダーファイル、1cppファイルにまとめた。 ステートパターンの参考にした本、オライリーのゲームAIプログラミングもそうなっていたし…。 一応、インクルードファイルや前方宣言も本に合わせてみた。 しかし、1か所だけSoccerGameクラスのヘッダーファイルのコンストラクタの行でエラーが出た。 コンストラクタだけ実装(というか定義?)がヘッダーに書いてあったので、 この定義部分だけをcppファイルに移したらコンパイル出来た。 とりあえず、この書き方で進めよう。 タイトル、ゲームオーバー画面が出せたので、次はメインのゲーム部分を書く予定。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/364
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s