トップページgamedev
1001コメント329KB

C/C++ゲーム製作総合スレッド Part5

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/01/16(木) 00:00:31.27ID:w6WW3hAo
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
DXライブラリ 総合スレッド その17
http://toro.2ch.net/test/read.cgi/gamedev/1383795645/

前スレ
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
C/C++ゲーム製作総合スレッド Part2
http://toro.2ch.net/test/read.cgi/gamedev/1351015269/
C/C++ゲーム製作総合スレッド Part3
http://toro.2ch.net/test/read.cgi/gamedev/1357899040/
C/C++ゲーム製作総合スレッド Part4
http://toro.2ch.net/test/read.cgi/gamedev/1376262450/
0110名前は開発中のものです。2014/01/26(日) 17:56:52.23ID:RpTDvif5
要は固定サイズの配列だろ?
好きなようにやればいいさ
0111名前は開発中のものです。2014/01/26(日) 18:42:00.91ID:f2NeeHoK
いや可変サイズだが
あらかじめ取得しといた容量よりも大きなサイズが必要になったら倍のサイズに領域を拡張してる
0112名前は開発中のものです。2014/01/26(日) 18:47:27.36ID:f2NeeHoK
>>108
つーか>>102の場合はvectorよりもlist使った方が良くないかい?
0113名前は開発中のものです。2014/01/26(日) 18:52:43.37ID:y8TPPY9Q
一見listの方が速そうに思えるんだけど、
実際ベンチマークを取るとvectorの方が速いことが多いので侮れない。
0114名前は開発中のものです。2014/01/26(日) 18:59:37.83ID:f2NeeHoK
いや速度よりもフラグメンテーションでアプリが跳ぶ事を気にしてるんだが
0115名前は開発中のものです。2014/01/26(日) 19:20:58.79ID:1jTIwhcQ
>>109
>>114
やっぱり瑣末かと。換言すれば、取るに足らない、微レ存、取越苦労、枝葉、の話かと。
いや違う考慮に値するというなら問題が再現可能な状況を示してみればいいのでは。
異常な頻度で確保/再割当/解放を繰り返すような無理な状況設定が必要になるけど。
件の話なら適切にreserve使えばいいかと。それで解決しない問題ってあるかな?
0116名前は開発中のものです。2014/01/26(日) 19:22:33.48ID:1jTIwhcQ
補足
ヒープ割当はフラグメンテーション回避で独自のメモリプールをーとかこの手の
取らぬ狸の皮算用になりがちな話題は何度目かというくらい既視感があったので
過去発言を適当に検索。関連ありそうなので貼り

> PCの場合、例えば平凡なDoug Lea Malloc(の亜種)を使うことについて
> 処理速度上の問題で難癖を付けるには、意図的に相当に意地悪な(過酷な)状況設定を
> 引っ張ってくる必要があると思うなぁ

> 例えば3D視点のゲームで、視覚効果に使う粒子状の短命オブジェクトが盛り盛り
> 無数に画面上に散りばめられてて、それらが何と一粒一粒馬鹿正直にヒープから
> メモリ割り当てされてて何の工夫もない線形リストに挿入されてて、毎フレーム
> 線形リストを馬鹿正直に巡回して一粒一粒更新したり削除即時解放したりとか

(この状況設定がなぜ意地悪かというと)

> 描画関数に渡すパーティクル用のデータ構造と明らかに違う状態だから

(不必要な)

> セットアップもあるしね。まぁ、いずれにせよ、何でそんな馬鹿な
> 想定を持ち出すんだと閉口するような話に持っていかないと処理速度上の
> 問題で横槍いれるのは難しいと思う
0117名前は開発中のものです。2014/01/26(日) 19:24:03.74ID:y8TPPY9Q
>>114
オレオレ用語じゃ意味が分からん。
おそらくその現象は君の脳内世界でしか発生しない。
0118名前は開発中のものです。2014/01/26(日) 19:43:21.57ID:f2NeeHoK
>>117
1jTIwhcQには意味が通じてるぞ?w
>>115
いや、そこまで分かってるなら特に問題は無い……な
ただ、ゲームの場合、ムチャなメモリーの使い方する事が多いから、
reserveを忘れる事も珍しくないのでは?と思ったんだが

まあ、些末な問題と言えば些末な問題か
0119名前は開発中のものです。2014/01/26(日) 20:01:52.93ID:NBq5fzCq
無能がしったかかまして大恥をかきましたってさ
0120名前は開発中のものです。2014/01/26(日) 20:31:03.96ID:q4s5e5oc
つまりどういうこと?
初期化したときに必要な分確保しとけってことでいいの?
0121名前は開発中のものです。2014/01/26(日) 20:59:04.35ID:RpTDvif5
アホの戯言を相手にせず、普通にSTLを使いましょうってこと
0122名前は開発中のものです。2014/01/26(日) 21:10:15.17ID:RpTDvif5
std::vector<T>のTが構造体かクラスであるとき、内部バッファのリサイズに際して
コピーコンストラクタのコストが多数生じること、またコピーコンストラクタにおける
コピーの実装に関する適切さ(シャローコピー・ディープコピー)といった面倒が生じる
リスクを考慮すると、ポインタ型にすることを心がけた方が良いってのはあるかな

もちろん、プリミティブ型に関してはなんの心配も必要ない
0123名前は開発中のものです。2014/01/26(日) 21:16:08.13ID:f2NeeHoK
あれ?ポインタが領域拡張で無効になるケースの解決にはならないような……
容量を十分確保しておけば、無効になりにくいだけで
0124名前は開発中のものです。2014/01/26(日) 21:59:47.79ID:f2NeeHoK
>>120
必要な分が分かってる場合はそれでいい
分かってない場合はポインタを取得し直す必要がある。
0125名前は開発中のものです。2014/01/26(日) 22:16:48.30ID:QJMQDIrF
ここでいうのもアレだが
ソースのバックアップとレポジトリは取れってのをテンプレに入れないか?
0126名前は開発中のものです。2014/01/26(日) 22:24:33.83ID:f2NeeHoK
それ、個人的な問題じゃね?
0127名前は開発中のものです。2014/01/26(日) 23:17:21.24ID:lvnLOcR2
メモリ断片化は気にした方がいいぞ。

参考:ゲ製におけるSTLの問題
ttp://i-saint.hatenablog.com/entry/20101012/1286822888
0128362014/01/26(日) 23:44:04.69ID:UYS8+7kl
俺にはあまり関係ない話だな
処理が多少重いとはいえ、致命的な重さじゃないしな
処理を軽くする場合にはSTLを使うが、それもかなり拡張してあるしな
0129362014/01/27(月) 00:09:52.23ID:H+nDAORl
メモリ断片化=メモリのフラグメンテーション
0130名前は開発中のものです。2014/01/27(月) 00:16:52.22ID:EXjzd9fa
固定サイズメモリを使っているオレに、死角は無い!
0131名前は開発中のものです。2014/01/27(月) 01:48:26.16ID:mugBVfcb
ハードがしょぼくてCPUやメモリがきつい家庭用ゲーム機を前提とした記事だろ
Effective C++ とか与太本に洗脳されて全メソッドにinline修飾するようなもんだ
0132名前は開発中のものです。2014/01/27(月) 02:09:19.06ID:4xmtC5j/
vectorの場合はポインタじゃなくて添字で管理したらいいんじゃない?
0133名前は開発中のものです。2014/01/27(月) 02:31:16.30ID:R0saBUqG
あまり良いやり方ではないな
配列の先頭や中間に挿入されたら
バグのもとになりやすい
0134名前は開発中のものです。2014/01/27(月) 06:25:50.94ID:qr20Z00A
>>124
「必要な分がわかっていない場合」を回避すればいいじゃない
0135名前は開発中のものです。2014/01/27(月) 07:45:48.10ID:qHfddkTR
メモリ断片化ならスクリプト言語を自前すればすぐに起きるぞw
0136名前は開発中のものです。2014/01/27(月) 07:48:53.10ID:vLlLVDDe
>>135
間違えた
×>自前すれば
○>自作すれば
0137名前は開発中のものです。2014/01/27(月) 11:18:44.83ID:EXjzd9fa
>>134
未来の自分にバグを押し付けるようなやり方は、あまり好きじゃないが……ま、人それぞれか
0138名前は開発中のものです。2014/01/27(月) 12:25:27.76ID:qr20Z00A
>>134は、レベル中で発生するオブジェクト最大数をあらかじめ限定してヒープ確保するって手順を想定してた。
※元々の>>124の問題は、ポインタ再取得ってのもあったが

>>135
kwsk

>>137
話が見えんw
0139名前は開発中のものです。2014/01/27(月) 14:38:03.04ID:LXwSCF8m
ん?
vectorにインスタンスをaddした後
vectorが要素数増やそうとメモリ上の位置が変わってもnewしたメモリ位置は変わらないよね?
vectorが移動してるだけでvectorのメモリ上の参照してインスタンスを取ってくるわけじゃないから
newした時点でインスタンスのメモリ上の位置は変わらないんじゃないの?
0140名前は開発中のものです。2014/01/27(月) 15:44:25.62ID:mugBVfcb
vectorが内部で何してるのか見当つかないのか?

vectorは配列を内部でもってるだけ
T* m_buffer = new T[buffer_size];
add(T obj)されると m_buffer[index] = obj; のようにコピーする

そしてバッファサイズが足りなくなると再確保してコピーするわけだ

int new_size = old_size * 2;
T* newBuffer = new T[new_size];
for(i < old_size)
{
newBuffer[i] = m_buffer[i]; // 構造体とかだと、ここのコピーコスト(大)
}

delete[] m_buffer; // <= ここで以前確保したポインタは無効
m_buffer = newBuffer;
0141名前は開発中のものです。2014/01/27(月) 16:15:48.48ID:0NY/NAUW
自分は使ったことないんだけど、boostのIntrusiveコンテナってゲーム制作的にはどうなんだろ
0142名前は開発中のものです。2014/01/27(月) 17:01:18.91ID:mugBVfcb
オレオレSTLの学習コストが嫌でなければ使ってみてもいんじゃない?
大した利点もなさそうだが、プリミティブはSTL::vector、
クラス・構造体はboost::ptr_vectorとか使い分けるのも悪くないと思う

メモリ断片化が〜とかいう話だったらもういいかげんにしろ
0143名前は開発中のものです。2014/01/27(月) 17:57:35.18ID:HdFzU7eb
なんか自信なくなってきたわ

値型(スタック型)を格納してるvectorから、
ある要素の参照(生ポインタ)を取り出しておいた場合、
vectorのリサイズが起きた後はその参照はアテにならなくなる。

っていう話だよな。


vectorに値型そのまま入れるなんて、自分で線形台数用のクラス(それこそ名前がVectorとかになりそうだが)
作ろうと思った時くらいじゃない?
0144名前は開発中のものです。2014/01/27(月) 18:20:18.10ID:mugBVfcb
日本語でOK?

もしプリミティブ型の意味が分からないとしたら、
int, double, float, long, char, short, wcharのことだからな
あらゆるポインタ型も実際はただのintだから同じノウハウで扱える
0145名前は開発中のものです。2014/01/27(月) 18:35:32.27ID:HdFzU7eb
ごめん俺は噛み付いたわけでもなくって、プリミティブ型の話でもなくって、
ヒープとスタックの話・・・というのも語弊があるか、
なんつーか、メモリ上への確保の仕方とかメモリレイアウト考えたらこうなるよねって話だったのよ、ごめん
0146名前は開発中のものです。2014/01/28(火) 00:45:58.29ID:qfuPw86M
うふふ
0147名前は開発中のものです。2014/01/28(火) 00:52:07.03ID:uQ48xUyE
データの使い方によって正しくコンテナ選べばstlだけでも十分
要素がでかくて頻繁に入れ替えが発生してインデックスアクセスがしたいならshared_ptrで包んでvectorにでも入れときゃいい

>>144
64bit環境だとintとポインタのサイズが同じとは限らないから泣くぞ
0148名前は開発中のものです。2014/01/28(火) 01:18:23.07ID:ZKatshV9
>>127の日本語のblogでは「PC環境」って訳されてるけど
原文は「non desktop」なんだよな。

前から思ってたんだが、
限定されたハイエンドPC環境で「しょぼい」コンテンツを走らせられるからドヤ顔ってどうよ?
ゲ製道を究めようとしているワコウドを、間違った方向に導いてるって自覚あるか?
無策無能をアピールして幸せか?
0149名前は開発中のものです。2014/01/28(火) 01:21:24.73ID:ZKatshV9
誤:「PC環境」
正:「非PC環境」
くsっそおおおおおおおおお
0150名前は開発中のものです。2014/01/28(火) 02:11:44.70ID:IvP/YXMv
意味分からん
0151名前は開発中のものです。2014/01/28(火) 10:18:11.91ID:GoTWhCD+
くだらねーメモリの話なんかあとにしな
0152名前は開発中のものです。2014/01/28(火) 10:42:27.82ID:S18aQwZb
>>147
それで64ビット対応出来なかったorz
0153名前は開発中のものです。2014/01/28(火) 12:23:39.88ID:OCGZ+qT0
>>151
俺のメモリがサザエさんみてーだとっ!?
0154名前は開発中のものです。2014/01/28(火) 21:43:15.57ID:29GW3hhm
思出話に花を咲かせよう
0155名前は開発中のものです。2014/01/29(水) 17:24:08.73ID:zjmYRHvL
>>148
おっちゃん、BeagleBone Blackとかで遊ぼうよ。なかなか楽しいよ?
0156名前は開発中のものです。2014/01/30(木) 00:48:09.40ID:Ft4RSVu9
そうだな・・・
Linuxいじるのも大概飽きたが、
画期的な商品開発にでも
いっちょう取り組んでみるか?
しかし発火とかしないよな?www
0157名前は開発中のものです。2014/02/02(日) 08:52:27.78ID:txo1/+Rb
無償のオープンソース・ライブラリも溢れ返っていることだし、
何か良い組合せアイデアでもないもん加納おっぱいおっぱい
ゲ製だと教育、もしくは協力作業を通じた相性判定、もしくはお前ら童貞が最も好きなコンテンツ分野みたいなんになるんかねwww
0158名前は開発中のものです。2014/02/02(日) 12:41:35.95ID:8PIr/JRW
日本語でOK?
0159名前は開発中のものです。2014/02/02(日) 14:11:43.15ID:HpiJy6Kg
ヒント:行末濁点、三連草

残念な人が棲み憑いてるんです
0160名前は開発中のものです。2014/02/02(日) 19:49:39.87ID:HpiJy6Kg
濁点→読点
0161名前は開発中のものです。2014/02/02(日) 20:11:53.27ID:8PIr/JRW
そんなときにはゲーム爺退散の御札を貼ろう

88 :名前は開発中のものです。:2014/01/24(金) 17:30:23.22 ID:jYeepMxG
さすが中3だ
匿名掲示板で自分の事を勝手に語り始めた
自分が特別な存在であり、周囲より目立って当然であるという厨二病症状が伝わってくる

そんな貴方に対し、先輩として一つ、大人の現実を教えよう
ゲームを作りたければ、プログラミングだけじゃ駄目だ
プログラミングと絵を練習しなさい
音楽が得意なら音楽にも手を付けなさい
絵が描けないまま大人になれば、辿り付く先はゲーム会社のディレクターではなく、過労のIT豚小屋企業だ
さぁ、若者よ、時間が無いぞ
今日からpixivに通うんだ
0162名前は開発中のものです。2014/02/03(月) 00:20:11.99ID:v+BnfntH
何気に、これ正論だよな
他人に企画任せられる環境ならPGだけでいいが
0163名前は開発中のものです。2014/02/03(月) 00:38:34.47ID:/+Ylube7
同人なんてあるもので作るしかないだろ
0164名前は開発中のものです。2014/02/03(月) 08:14:19.87ID:Lht//rT6
最近は絵にも色々種類があるからなぁ
アスキーアート
ドット絵
ローポリ
リアルポリゴン
アニメシェーダ
イラスト
まあAAはほぼ完全に廃れたが
0165名前は開発中のものです。2014/02/03(月) 09:48:24.68ID:2oQL0ulv
2D素材はある程度フリーでまかなえるが、
3D素材は自分で作らないと厳しい。
0166名前は開発中のものです。2014/02/03(月) 20:57:27.18ID:0M4cDuVx
絵にしろ音楽にしろプログラムにしろ
たいして才能の無い凡人が練習したくらいで通用するものなの?
0167名前は開発中のものです。2014/02/03(月) 21:22:38.34ID:/+Ylube7
どうせ作ったこともないやつが適当に知ったぶってるだけだろ。相手にすんな
0168名前は開発中のものです。2014/02/03(月) 21:51:26.39ID:svmXZgc+
どんな職場で働いてるんだよ
スキルに応じて仕事は分担されてるだろ
何でプログラマが絵を書かなきゃならんのだ
0169名前は開発中のものです。2014/02/03(月) 22:07:10.79ID:eCQAtwWs
インディーズでは一人とかの少人数で作ってる事も珍しくないが?
自分の作りたいゲームを作りたいとか、分け前を増やしたいとか、動機は色々だが
0170名前は開発中のものです。2014/02/03(月) 22:10:32.11ID:/+Ylube7
評論家専門君が憶測でそんな話をしてなんになる?
0171名前は開発中のものです。2014/02/03(月) 22:11:53.17ID:eCQAtwWs
一人で作ってますよ?
0172名前は開発中のものです。2014/02/03(月) 22:15:15.46ID:xlOVneBM
専門に在籍中だが確かに1人で作ってるな
チーム制作も1人で作ってるチームが大半だな
絵とか音楽とかのリソースはネットで拾うけどね
でもそれって結局のところは1人で作ってないよね
リソースまで全部っていう意味で1人で作ってる上で有名なのを作ってるんだとしたらただの天才だからどっかの企業に引き抜かれてろ
0173名前は開発中のものです。2014/02/03(月) 22:27:34.48ID:eCQAtwWs
なぜ企業に入らないといけないの?
好きに作らせてくれて、好きに売らせてくれるような、夢のような企業があるの?
むしろ、売れ行き重視で好きに作らせてくれない、
倫理観とかが大事で好きに売らせてくれない、
といった企業がほとんどじゃね?
0174名前は開発中のものです。2014/02/03(月) 22:30:48.05ID:/+Ylube7
俺はフリー素材+一部絵師に描いてもらってる
趣味なんだから人それぞれのスタイルでいいだろう
0175名前は開発中のものです。2014/02/03(月) 22:49:21.68ID:xlOVneBM
>>173
うん、わかった
自分の生活費さえなんとかできるなら1人で自由に作ってな
0176名前は開発中のものです。2014/02/03(月) 22:55:48.33ID:HKt11pxu
はやく仕事辞めてゲーム作りに没頭したい
0177名前は開発中のものです。2014/02/03(月) 23:24:56.58ID:/+Ylube7
それは言わないお約束だろ
もっと時間のかからない遊びに流れるのも手だけど
0178名前は開発中のものです。2014/02/03(月) 23:32:32.16ID:eCQAtwWs
しかし一番金になりそうな趣味がゲーム作りなんだよな
0179名前は開発中のものです。2014/02/03(月) 23:37:42.57ID:eCQAtwWs
売れてからじゃないと仕事を辞められないのが難点だが
0180名前は開発中のものです。2014/02/03(月) 23:49:11.10ID:Ny+RFe0l
お前は金のことばっかりだな
0181名前は開発中のものです。2014/02/04(火) 00:08:11.00ID:uJ0GtlwQ
>>180
金持ちに成りたいと考える事は悪い事だと思う?
0182名前は開発中のものです。2014/02/04(火) 00:23:08.29ID:J1FJfMJW
スレッドの主旨を考えてくれ。どっかのスレみたいに株の話をされても困る
0183名前は開発中のものです。2014/02/04(火) 00:33:58.33ID:uJ0GtlwQ
そうだな……コッチに移るか

【同人】作ったゲームを金にする その4
http://toro.2ch.net/test/read.cgi/gamedev/1336913652/
0184名前は開発中のものです。2014/02/04(火) 19:06:59.83ID:uJ0GtlwQ
>>166
昔のゲームはアスキーアートを絵として使ってたわけだが?
0185名前は開発中のものです。2014/02/04(火) 19:09:55.94ID:uJ0GtlwQ
しかも音楽はbeep音だw
とはいえbeep音でwevファイルを再生させてた事もあるからあなどれん
0186名前は開発中のものです。2014/02/04(火) 19:58:16.47ID:J1FJfMJW
それくらい無いものの中でなんとかしてきたということだな
やれメンツが無能だとかいってたらきりが無いわけだ
0187名前は開発中のものです。2014/02/04(火) 20:14:51.47ID:uJ0GtlwQ
>メンツが無能だとか
そういやそれも一人で作るようになる理由の一つだったな
まあ、人数が増えると衝突も増えるからな

むしろあの頃は、DQ1が出る前までは独りで作るのが当たり前だったような……
0188名前は開発中のものです。2014/02/04(火) 20:22:21.38ID:J1FJfMJW
"あの頃"から制作してるの?
ひゃあ!ゲーム爺は生涯現役だぜ
0189名前は開発中のものです。2014/02/04(火) 20:27:51.59ID:uJ0GtlwQ
作成はしてない!
が、パソコン持ってないのにパソコン本を買ったりするぐらいに憧れてたな
0190名前は開発中のものです。2014/02/04(火) 20:41:31.66ID:uJ0GtlwQ
というか今丁度ドラゴンクエストへの道って漫画を読み返していた所だ
0191名前は開発中のものです。2014/02/04(火) 20:55:24.69ID:G5JzxpFK
伝説級の漫画だよなあれ
0192名前は開発中のものです。2014/02/04(火) 21:09:48.44ID:uJ0GtlwQ
うん、長編ゲームを作る人には是非とも読んで欲しい
0193名前は開発中のものです。2014/02/06(木) 07:38:03.22ID:Mklm8P+v
読めば読むほど
中村光一氏がDQ抜けたのが悔やまれる。
お色気コンテンツに憤慨していたエピソードは笑える。
0194名前は開発中のものです。2014/02/06(木) 20:33:21.38ID:wgo5Jh7Q
ドラゴンナイトやカオスエンジェル以前のエロゲだよな?興味はあるな
0195名前は開発中のものです。2014/02/06(木) 21:01:16.01ID:YaLd/g6Z
軽井沢なんとかのことだろうかw
0196名前は開発中のものです。2014/02/06(木) 21:10:32.33ID:wgo5Jh7Q
複雑な操作や手抜きグラフィックに怒ったりしてた話やね
0197名前は開発中のものです。2014/02/09(日) 03:20:30.53ID:yNPMLa+Y
中村光一って不思議のダンジョンシリーズ一発屋で終わったな
0198名前は開発中のものです。2014/02/09(日) 03:48:09.82ID:n/hHVigC
高校時代から名作を生み出してる中村光一が一発屋……?
0199名前は開発中のものです。2014/02/09(日) 03:53:10.61ID:CEeCxVwx
まぁウィザードリィみたいに不思議のダンジョンを伝統化しようとして
燃え尽きた印象があるな
一発屋というより、沢山あった弾を同じ場所に撃ち込んじゃった感じ
0200名前は開発中のものです。2014/02/09(日) 04:22:56.68ID:eECi/LC1
ドアドアいまいちだったけど
あの時代にスクランブルを完全移植した情熱の炎は、そう簡単には消えないさ!
俺は信じてるぜ!
0201名前は開発中のものです。2014/02/09(日) 16:33:33.68ID:Om4RLWnj
今C言語でオセロゲームを作成中なのですが、AIを作るところで行き詰ってしまいました。
とりあえずminiMax法で作ろうとしており参考にしているサイトのURLは
http://hp.vector.co.jp/authors/VA015468/platina/algo/2_2.html
です。

このサイトの
for(最初の子節点の手; 未評価の子節点がある; 次の子節点に移る)
という部分を見る限り先に子節点がいくつあるのか調べておく必要があると思うのですが
その解釈でよろしいですか?
0202名前は開発中のものです。2014/02/09(日) 16:43:02.64ID:c5g9RcWt
>>201
先に子節点を調べなくてもできるけど
先に調べておかないと置けないにも拘わらず置くかどうかを計算するから無駄な計算が増えるし、バグで置いた場合に何処でバグが発生してるのか調べるのが大変になる
0203名前は開発中のものです。2014/02/09(日) 16:50:59.29ID:Om4RLWnj
>>202
ありがとうございます。
先に子節点を調べることにします。
調べる上で、次の子節点を調べるときにその前に調べた子節点以外から探す方法が
よくわからないのですが、どのような実装を行えばいいでしょうか
0204名前は開発中のものです。2014/02/10(月) 08:15:56.04ID:EeAxagpY
木構造の探索はスタック使うと楽
再帰処理で実装するといいよ
0205名前は開発中のものです。2014/02/10(月) 16:50:10.78ID:r9rJHs9v
>>204
スタックとはどのようなものかはわかりますが、実装法などは全くわかりません。
二分木なら
typedef struct node_t{
typedef struct node_t *left;
typedef struct node_t *right;
int data;
}NODE;
のようにすればいいと思うのですが、探索となると多分木になると思うので
同じようには実装できませんよね?
0206名前は開発中のものです。2014/02/10(月) 17:57:20.00ID:zYS9MiyX
typedef struct node_t{
 struct node_t *child;
 struct node_t *next;
 int data;
}NODE;
0207名前は開発中のものです。2014/02/10(月) 18:19:16.50ID:r9rJHs9v
>>206
つまり二分木と同じ実装法で見方を変えるということですか?
0208名前は開発中のものです。2014/02/10(月) 19:22:37.65ID:zYS9MiyX
多分木を表現できるデータ構造の一例ってだけだよ
要件は、多分木であることと、ルートから葉に向かって再帰的に処理できること、でしょ?
その要件に足るようなデータ構造で自分の使いやすいものを選択すればいい
0209名前は開発中のものです。2014/02/11(火) 10:42:36.42ID:MuB9VwbG
三角関数を使ったカメラの回転が上手くいきません・・・
横回転は綺麗に回るんですが、縦回転がY軸しか動かず変な動きになります
分かりやすく解説してるとこは無いですか?
■ このスレッドは過去ログ倉庫に格納されています