[過去ログ] ゲームプログラミング相談室【Part5】 (970レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
456: 03/11/16 16:04 ID:X2F6x4IR(5/5) AAS
>>455
その辺突っ込んだら傷つくだろ・・・。
457(1): 03/11/16 16:11 ID:DmkNbY6h(4/8) AAS
言ってる事がめちゃくちゃで頓珍漢なんだよな。
”OSなしで既存の動的確保がバグる”ってしか取れないんだけど。
では、その動的確保はその状況下で使用する前提の物なのか?
そもそも、OSないならヒープもスタックも自分で管理、構築する以外に無いと思うんだけど。
人が用意してないら。
メモリマップとハードのメモリ使用の仕様は知ってるのか?
根本的にOS無いのに作る事自体が間違ってるレベルだと思う。
458(1): 415 03/11/16 17:05 ID:2l7gzWNA(9/12) AAS
議論が「メモリ確保が失敗するわけがない」というその一点に絞られているようですが
どうやら、OSの無い状況下でのプログラムというのが
理解してもらえないようですね^^;
携帯電話、炊飯器などの組み込み機器などようなイメージで捕らえて貰えると
わかりやすいかと思います
>453
OSが存在しないのでメモリを確保するのにAPI等は使用しません
省19
459: 415 03/11/16 17:15 ID:2l7gzWNA(10/12) AAS
>457
まったくおっしゃる通りでこのまま作成するのは無理のある状況だと思います
しかし、無理を承知でなんとかこじつけながら作成していこうと考えています
プログラム自身が単純でメモリの残量についてあまり考慮しなくていい場合は
難しいメモリアロケートの心配などせずに、まさに適当に勝手に確保することで
それなりのモノが作れました
が、それでは上手くいかない事態に陥ったので、みなさんの知恵をかりにきた次第です
省1
460(1): 03/11/16 17:16 ID:DmkNbY6h(5/8) AAS
>>415
ああ、君のレベルが理解出来たよ。
システムコールって分る?
>自分で勝手に確保して勝手に開放します
それがバグと言うか、決定的な間違い。
じぁ、メモリが実アドレス以外を確保するのは
”自分のバグじゃん”
省1
461(1): 03/11/16 17:31 ID:UylUiHD8(1) AAS
一般的なプラットフォームの場合、mallocだって最終的には、メモリ確保のAPIなりシステムコールなりを呼び出すと思うんだが、ということは、そのAPIやらシステムコールが無効なアドレスを返してくるってこと?
それとも、mallocがAPIもシステムコールも使ってないのなら、どういう基準で確保可能領域を割り当てるんだろうか?
メモリ確保可能な領域を知っているコードはどこかに在るの?
もし、存在しなくて、手元にメモリマップの資料も無いならどうしようもないと思うんだけど。
462: 03/11/16 17:37 ID:sJV9ESEo(3/3) AAS
みんな良くこんな電波君に長々付き合ってるな…
暇なのか?
463: 03/11/16 17:52 ID:DmkNbY6h(6/8) AAS
今まで自分がどんなに頓珍漢な事言ってたか、
バカな実装してたか、アホな考えだったか、
を画面に向かって恥じてれば、まだ遅くはないレベルかと…
464: 415 03/11/16 17:53 ID:2l7gzWNA(11/12) AAS
>460
あまりレベルの高い話でなくてすみません
「システムコール」は
MS-DOSでいうシステムコール
WindowsシリーズでいうWin16、Win32API
もっとローレベルでいうならBIOSコールのことだと推察したのですが?
違っていたのでしょうか?
省14
465(1): 03/11/16 18:02 ID:DmkNbY6h(7/8) AAS
>>415
OSが無いのにライブラリのmallocを使ってるのがありえない。
>まったく同じ疑問をもっています
>この環境においての動的なメモリ確保については完全に信頼できないと考えています
完全に自分に責任がある部分でこの発言では
君には無理だからプログラムを辞めなよ。趣味だろうがねってしか言えない。
466: 03/11/16 18:05 ID:9dhGVUv0(1) AAS
ていうか、組み込み系の得意な人に聞いた方がいいんじゃねぇか?
467: 03/11/16 18:11 ID:czdrL/Nj(2/2) AAS
>>458
>そこでオブジェクトを量産するためには、追加されたオブジェクト用に
>逐次動的にメモリを確保していくことになると思います
C++なら必要とされる最大量を静的に確保すればいいだけの話。
クラスだろうが構造体だろうが、データの置き方に変わりはない。
オブジェクト指向とは何の関係もない。
それでオブジェクト指向言語と動的メモリの確保に、何の関係があるのか説明はまだなの?
468: 03/11/16 18:15 ID:shoK9bJg(1/3) AAS
>>415
やっと具体的な環境が出てきたね。
↓で聞いたほうが早いかもしれない。最近は止まってるから見てる人がいるのか分からんが。
そして僕はもういちど夢をみる[DCPrograming]
2chスレ:gamedev
newlibのmallocに問題があるって聞いたこと無いけど、本当なの?
469(1): 415 03/11/16 18:18 ID:2l7gzWNA(12/12) AAS
>465
mallocの実装自身にOSは関係ないと思います
mallocの性能には関係するとおもいますが
一番単純な実装は指定された量確保してポインタをずらすだけですから
大雑把にいって今つかっているmallocのコードはそうなっています
「ありえない、出来ない、出来るようにしろ」の議論ばかりで
「問題を回避するためにどう工夫したらよいのか?」については意見がもらえないようですね
省3
470: 03/11/16 18:23 ID:shoK9bJg(2/3) AAS
だいたい、OSは、KOSを使ってるんじゃないの?
471: 03/11/16 18:25 ID:shoK9bJg(3/3) AAS
>>469
>一番単純な実装は指定された量確保してポインタをずらすだけですから
ええと、じゃ、newlib環境では、どうやって「確保」してるの?
それが分かってれば、確保してはいけないところまで確保してしまうことは避けられるでしょ?
472: 03/11/16 18:27 ID:DmkNbY6h(8/8) AAS
>mallocの実装自身にOSは関係ないと思います
システムコールのbrk()を使ってるだろ。
>「問題を回避するためにどう工夫したらよいのか?」については意見がもらえないようですね
だからさ、間違った前提の上の解決を求めるな、根本的な間違いを直せって理解出来ない?
…この先、一生出来ないと思うよ。
473: 03/11/17 00:12 ID:Q76r5V+r(1/4) AAS
なにはともあれ、去ってくれてよかったよかった。
なんで、あんなに偉そうなんだろうねぇ?
まぁ、自分の質問が理解できないのはこのスレの奴らがレベル低いからだ、とか思ってるんだろうな…
じっさいには、まったくその逆なんだけどね。
もしかして「いや、ですから」とか書きたかったのかな?w
474: 03/11/17 00:35 ID:d6iGidgw(1) AAS
駄目な奴ほどプライドだけはなぜか高い。
475: 03/11/17 00:51 ID:YWpMo6q6(1) AAS
プライドチキンってやつだな。
476: 03/11/17 10:21 ID:afp8msI9(1) AA×

477(3): 03/11/17 10:55 ID:Dih7ip87(1) AAS
まったく、議論になってないな
少なくとも相談に答えてやれよ
メモリ環境は対応プラットフォームによって違うんだから
そんなこと議論しててもしょうがないだろ?
Q,動的メモリ確保をなるべく使用せずにクラスを構築するコツを教えてください
A,なら、クラス宣言において使用する変数の量を減らしなさい
大容量のメモリが必要な場合はクラスの外側に変数おいて
省5
478: 03/11/17 11:35 ID:MkS3owz3(1) AAS
>>477
エスパー?
479: 03/11/17 12:32 ID:Q76r5V+r(2/4) AAS
>>477
というか、(同じ答えではないが)そう答えてるだろ?
480: 03/11/17 13:33 ID:ChG5qnJg(1) AAS
句点がないあたり、本人じゃないかとエスパーしてみる。
481(2): [んんんんん] 03/11/17 18:51 ID:nHrAdo0+(1) AAS
モンスターの行動ルーチンを作るにはずばりどんな関数を作成すればよいのでしょうか?
【例】FF3 魔王ザンデのケース
ターン1 メテオ
ターン2 ライブラ
ターン3 ほのお
ターン4 ライブラ
省5
482: 03/11/17 19:04 ID:Q76r5V+r(3/4) AAS
>>481
モンスターの行動ルーチン以外の部分はどうなってるの?
それが分からないと答えようが無いと思うんだが…
483: 03/11/17 19:19 ID:BhEtARh7(1) AAS
>>481
if(ターン数%7 == 1) メテオ
if(ターン数%7 == 2) ライブラ
以下略
ぐらいが簡単でいーんじゃない?
484: 03/11/17 19:20 ID:0/Zp/7+M(1) AAS
ターン1 メテオ
ターン2 ライブラ
ターン3 ほのお
ターン4 ライブラ
ターン5 地震
ターン6 ライブラ
ターン7 メテオ
省2
485: 03/11/17 19:24 ID:VAoWFetB(1) AAS
外部リンク[html]:jbbs.shitaraba.com
486: 03/11/17 22:01 ID:YvKYoc+x(1) AAS
>>477
あのさ、よく基地外の言ってる事を読みなよ。
>大容量のメモリが必要な場合はクラスの外側に変数おいて
>自分で管理するようにしなさい
OSがないので自分で管理しなくてはいけないが
その管理が全く信用出来ないので、その部分を触らずに違うところで回避したい。
>各インスタンスに優先度をつけてメモリが足りなくなったら優先度のやつから開放できる
省6
487: 03/11/17 23:10 ID:Q76r5V+r(4/4) AAS
うまく話が読み取れないのはオレだけですか?
488: 03/11/17 23:12 ID:cjWRDNX6(1) AAS
>OSがないので自分で管理しなくてはいけないが
>その管理が全く信用出来ないので、その部分を触らずに違うところで回避したい。
「その」がかかっている部分が「自分で管理」なんだけど、
自分で管理すること自体が信用できなかったらどうにもならないと思うんだが。
>OSないので、自分でgccのライブラリのmallocを仕様してるが
だから動的ではなく、静的に空の領域を大きくとって、それを割り当てればいいだけの話。
静的メモリまで信用できなければ、そもそも身動きがとれずプログラムなど組めないことになる。
省5
489: 03/11/17 23:14 ID:lakADyEp(1) AAS
「銀の弾丸」だけを求めたがる奴っているんだよな。
そういう奴と話してもはっきり言って時間の無駄だから、さっさとメタな方向にもってって、
終わらせるのが吉。
490(1): 03/11/18 14:56 ID:4PINorV9(1/2) AAS
//これで正解ですかね?
#include <stdio.h>
typedef struct {char flg; void (*func)(void);} FUNCAD;//コマンド一覧
typedef struct {int count; int size; int *cm;} CMPG;
void func1(void); void func2(void); void func3(void); void func4(void);
void zanteAT(FUNCAD*, CMPG*);
FUNCAD fncAD[4] = {{'a',func4},{'b',func3},{'c',func2},{'d',func1}};
省23
491: [あああああああああ] 03/11/18 16:42 ID:NBkLb5fa(1) AAS
>>490 大体あってると思ふ しかし何故目潰し?
492: 03/11/18 17:44 ID:4PINorV9(2/2) AAS
「クチバシ」にしようかと悩みました
493(1): 03/11/18 20:04 ID:/VGdCARJ(1) AAS
死人にクチバシ
494: 03/11/19 16:21 ID:d58/2cg8(1) AAS
>>493 寒
495: 03/11/19 19:56 ID:PlTZ7QM3(1) AAS
まぁまぁ
496: 03/11/20 00:26 ID:hd1kSRtY(1) AAS
2chで他人が偉そうに見えるのは、自分の心が弱いからさ
ムキになるほど自分の弱い心を隠したがってる
ただ、強く・・・
497: 03/11/20 21:39 ID:d3ck8ymk(1) AAS
最近新しいノートパソコンを買うことになったので
家に余っている【ThinkPad A20m】を3台(一台は汚れていますが・・
MDコンポ1台を無料で譲ります。欲しい方居ましたら貰ってやって下さい
Googleから【副収入徹底攻略まにゅある】と検索してサイトまで訪れて下さい。
498: 03/11/20 22:02 ID:FUhsK+NV(1) AAS
あの手この手
499: 03/11/20 22:37 ID:Ye+SEMtz(1) AAS
新しいノートを買うのと、MDコンポを譲るのになんの関係があるんだろう。
それから無料で譲るという使い方はおかしい。
無料なら差し上げますとしなければならない。
500: 03/11/21 15:24 ID:umwRRSHD(1) AAS
500Get!
501: 03/11/21 23:43 ID:pGOQg9QV(1) AAS
厨房の質問ですが、ゲームをJAVAで作るってどうなんですか?
重いですよね。C++のほうが絶対速いですよね。
ユーザーのほとんどはWindowsなわけだし、C++のほうがいいですよね
502(2): 03/11/21 23:52 ID:d5YxEAkF(1) AAS
VisualC++6.0でDirect3Dを使ったゲームを作ってみたいと思い
DirectX9 SDKをダウンロードしてインストールしたのですが
VisualC++でDirect3D8のクラスや関数の引数などの入力候補の表示がされず
使いにくく困っています。
何が原因なんでしょうか?
503(1): 03/11/22 00:30 ID:ohOBvK1O(1/2) AAS
ヘルプ見りゃいいじゃん。
504(1): 03/11/22 00:53 ID:LbsHJKcQ(1/2) AAS
>>503
駄目だそんな状態じゃプログラム組めない。
>>502
プロジェクトにC:\DXSDK\Includeに入ってるファイル(DirectX8関係だけの方がいいか?)をすべて突っ込んで保存。
そのあとVCを終了する。
拡張子がdswのファイルと同じフォルダにある拡張子がncbのファイルを削除する。
ここでVCを起動する。
省2
505: 03/11/22 01:02 ID:ohOBvK1O(2/2) AAS
「組めない」のは重傷だな…
506: 03/11/22 11:49 ID:V+srHBX5(1) AAS
IrisFilterの特許とは?
2chスレ:cg
「申請中」の特許をネタにフリーソフト作者に恫喝メールを送りまくるシェアウェア作者。
公開停止した人まで出たモヨリ。
お前らも暈しいれるときは絡まれないように気をつけろよ。
507: 502 03/11/22 18:26 ID:AYzmgC7c(1) AAS
>>504
そのやり方で出来ました
ありがとうございます。
やっぱりあるのとないのじゃかなり違いますね
これからがんばってみます。
508(2): [あああああああああ] 03/11/22 23:29 ID:6bfsxbS4(1) AAS
次のプログラムはどのように作ればよいのでしょうか?
@あるキャラクターを作成する(変数名cha)
Aある武器を作成する(変数名wep)
Bキャラクターの攻撃力を初期化(初期値は20)
C武器の攻撃力を初期化(初期値は12)
省3
509: 03/11/22 23:48 ID:LbsHJKcQ(2/2) AAS
>>508
まずゲーム作ることを一旦やめることをお勧めする。
基礎能力がまるで足りない。
この状態だと、今はおそらくどんなアドバイスをしても駄目だと思う。
C/C++の入門書をたくさん読むことが先だと思う。
(とにかく基本的なプログラムをたくさん写してみることが大事だと思う。)
「できなくてもやらなくちゃいけないんです」とかそういう状況なら
省2
510(1): 03/11/23 00:04 ID:5ilOVNRf(1/4) AAS
>>508
502 に禿同
でも一応。
@あるキャラクターを作成する(変数名cha)
clase C_Cha {
...キャラの内容...
};
省13
511: 03/11/23 00:05 ID:5ilOVNRf(2/4) AAS
みす ×502 ○509
512: 03/11/23 00:10 ID:5ilOVNRf(3/4) AA×

513: 03/11/23 00:21 ID:7lIkxGuJ(1/2) AAS
class CHero{
int cha_id; // キャラのID
int strength; // キャラの力
CWeapon* pWeapon; // 装備武器
void setAttack(const CWeapon* p){ pWeapon = p; } // 武器を装備する
int getAttack() const{ return strength + pWeapon->attack; } // 攻撃力を返す
};
省5
514(2): 510 03/11/23 02:37 ID:81yBiszZ(1) AAS
まだミスしてた --; 脳内コンパイラはミスだらけだ・・・・合体して動くの出すよ
#include <iostream>
using namespace std;// <---これいらないかも
class CWeapon{// 武器のクラス
public:
int attack;// 武器の攻撃力
CWeapon(int pow) { attack=pow; }
省20
515: 03/11/23 03:09 ID:7lIkxGuJ(2/2) AAS
ちなみに何も装備しないで(素手で)攻撃するとエラーでるよ
あれだ…発売当時のRPGツクール2003のバグ…。
エラー出ないようにするにはどうすればいいのか考えてみてね。
516: [あああああああああ] 03/11/23 12:17 ID:tSKJTIzS(1) AAS
>>514 わかりやすくて(・∀・)イイ!
517(1): 03/11/23 13:09 ID:QtG4HSSG(1) AAS
(・∀・)イイ!じゃなくてとっとと(・∀・)ヤレ!
518(1): 03/11/23 16:22 ID:5ilOVNRf(4/4) AAS
>>517 とっとと(・∀・)ヤレ!
とは、エラー処理か?、簡単すぎて下らん。
やりたいんなら、おまえがやれ!
519: 03/11/23 17:07 ID:WauLd5th(1) AAS
>>518
きっと君は勘違いボーイ
520: 03/11/23 18:41 ID:J4atYXVd(1) AAS
エラーももちらんだが次は敵を作成して(・∀・)ヤレ!
521(2): [ ] 03/11/24 00:05 ID:P4JvmJJc(1/2) AAS
放物線を描きたいのですが
最も処理が軽くて簡単な方法は何ですか?
522: 521 [ ] 03/11/24 00:07 ID:P4JvmJJc(2/2) AAS
あ。整数のみの処理でです。
523: [あああああああああ] 03/11/24 00:30 ID:y1O+xSWo(1) AAS
だれか514の続きをしてやれ
524(1): 03/11/24 01:13 ID:jvU8bqbW(1) AAS
>>521
y = x * x;
525: 03/11/24 09:56 ID:UUxn7nSE(1) AAS
>>524は何故ベストを尽くさないのか?
526: 偽524 03/11/24 10:53 ID:rvwKDc/0(1) AAS
ふぉぉぉぉ!!
ベストだーー!!
527: 03/11/24 11:21 ID:fe0QjvTd(1) AAS
ベストエフォートです
528: 03/11/24 15:41 ID:HoJo3JBu(1) AAS
今時整数のみとかいってるなんてプゲラッチョすぎてもうダメポ
529: 03/11/25 04:50 ID:b47pLzot(1) AAS
ゲームだし結局は整数が最速だろ?(プゲラウヒハムヒョー
530(1): 03/11/25 05:09 ID:pJ/rVsUL(1) AAS
放物線なら三角関数で描けるよ。
531(1): 03/11/25 06:37 ID:G5ewz3ab(1) AAS
>>530
まあ三角関数(cosかなんかを0まわりで)を二次近似したらそんな項が出てくるから
間違っては無いけど、なぜx^2でいかんのかと・・。
532: 03/11/25 20:37 ID:myR/xvCb(1) AAS
528はヘボプログラマーかな?
533: 03/11/25 23:56 ID:Qk78KVyQ(1) AAS
画像でも音でも浮動小数使う時代だしなー
534: 03/11/26 02:16 ID:FDG9W9vy(1) AAS
>>531
三角関数云々は由緒あるネタなので、あまり気にするな。
535(1): 03/11/26 05:08 ID:+cuEUmib(1) AAS
質問。
浮動少数のゼロ割チェックってどうしてる?
たとえば長さがゼロのベクトルを正規化する
ときなんかに長さを求めてゼロであればエラーでとめたりしてるの?
536: 03/11/26 08:47 ID:ueZRq0X0(1/7) AAS
>>535
ゼロだったらじゃ駄目だろ?
ゼロ付近(かなりあいまいだが)を調べなきゃ。
上下前次1-新書関写板覧索設栞歴
あと 434 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.030s