Kazukiの同人3DRPG制作【第一話】
■ このスレッドは過去ログ倉庫に格納されています
0001Kazuki
2010/09/10(金) 06:35:05ID:8vGP1TSQttp://www.kazuki-sendo.com/game/
発展途上中の素人Kazukiを中心として、
DirectX9による3DRPG制作に挑戦します。
開発言語は、C++です。
長く苦しい戦いになると思われますが、
同人ゲーム制作の限界への挑戦が、当企画のテーマでもあります。
2ch当スレを本スレとし、
ニコニコ動画、zoome、mixi、の3コミュメンバー合同で同人3DRPG制作に挑戦します。
※本格的にゲーム制作に協力していただけるメインメンバー様へは、
ゲーム完成後に平等に利益分配されます。
(詳細は公式サイトのメンバーページ)
0139名前は開発中のものです。
2010/09/13(月) 21:53:22ID:vw14tCDdえ? まだ大量にウソ書いてる。
ウソ書くのなら、やめた方がいい。
0140名前は開発中のものです。
2010/09/13(月) 21:55:24ID:eE7b0Ftc悪いけど、あんたの相手はしないよ。
ずっと一人で言ってればいいよw
0141名前は開発中のものです。
2010/09/13(月) 22:06:22ID:eE7b0Ftc共用体ってのは、
このあと解説するつもりだった、
構造体に似たようなもので、
メモリ内の領域を複数の変数で使うためのもの。
union uni
{
int a;
char[5];
}kazuki;
共同体を使うには、
このようにunionを使って宣言する。
これを関数の中で呼び出して使えばいい。
int main(){
union uni;
}
で、実用的な使い方ってなんだい?
何がしたいんだい?
0142名前は開発中のものです。
2010/09/13(月) 22:10:58ID:eD2Excddじゃあ、どこが嘘なのかを言ってくれるかい(キリッ
WEBデザイナーって真性のアホでもなれるんだな。
※サイト内ソースと解説
#include <stdio.h>
int main()
{
int a , b;
{
a = 50 * ( b + 10 );
printf( "%d" , a );
}
printf( "%d" , a );
return 0;
}
ちなみに、これは前回のおさらいですが、
このようなコードを書いた場合、ローカル変数は関数を抜けた時に解放されるため、
aの領域もbの領域も消えて無くなります。
存在しない領域を表示しようとしているので、
コンパイルエラーになります。
0143名前は開発中のものです。
2010/09/13(月) 22:14:36ID:0mVb50Liじつよう‐てき【実用的】
[形動]実際の用に適するさま。実際に役に立つさま。「―な贈り物」
unionの意味ぐらいは知ってる。どういうときに使えるの?
無いなら無いって答えて欲しい
俺は経験上、unionを使うべき機会に立会ったことが無いんだ。応用が効かなかっただけかもしれないけど
例えば、そうだな。
ガベージコレクションも実装されてるものとして、ネットゲームのクライアントとする。FF14でいいかな。どこに使えばいいと思う?
0144名前は開発中のものです。
2010/09/13(月) 22:27:21ID:eE7b0Ftc0145名前は開発中のものです。
2010/09/13(月) 22:35:38ID:eE7b0Ftcえっと、これもこの後、解説するつもりだったんだけど、
列挙体と構造体を組み合わせて共同体を使うのが実用的な使い方です。
その前に、列挙体と構造体の意味が解ってないとダメですね。
じゃあ、次は、構造体と列挙体の解説をするから、
その後に、共同体を解説することにしましょう。
まあ、要するに、
3Dポリゴンの描画の際に、
列挙体を使って宣言しておいて、
構造体の中で、共同体を呼び出して使う。
説明するの難しいな・・。
0146名前は開発中のものです。
2010/09/13(月) 22:39:44ID:uHGV5Rl50147名前は開発中のものです。
2010/09/13(月) 22:41:08ID:eD2Excdd3Dポリゴンの描画の際に、
列挙体を使って宣言しておいて、
構造体の中で、共同体を呼び出して使う。
えっ・・・そんなにめんどくさい事するんですか?
0148名前は開発中のものです。
2010/09/13(月) 22:42:19ID:uHGV5Rl5回りくどい言い方せずに普通はenumだな
0149名前は開発中のものです。
2010/09/13(月) 22:42:25ID:mHW+Bk/O// 色データ
union{
struct{
unsigned char b_;
unsigned char g_;
unsigned char r_;
unsigned char a_;
};
unsigned long color32bit_;
};
ところでたまに「共同体」ってなってね?
0150名前は開発中のものです。
2010/09/13(月) 22:47:35ID:eE7b0Ftc異なる型を一つのデータとして使えること。
つまり、int型とchar型をメンバ変数で宣言して、
構造体変数を宣言して、メンバ変数に数値を代入する。
列挙体は、定数ってのを使うんだけど、
定数ってのは、
#defineというプリプロセッサ命令を使って、
ソースコードを解りやすくするためのもの。
その定数を連続して使いたい時に、
列挙体を使う。
列挙型を適当に宣言して、
それをまあ、int型などで使うわけですね。
それに共同体を組み合わせる!
説明難しいww
0151名前は開発中のものです。
2010/09/13(月) 22:51:47ID:eD2Excdd0152名前は開発中のものです。
2010/09/13(月) 22:54:30ID:eE7b0Ftc列挙型は型名。
列挙体は、そのものを指す。
列挙型は、○○である。
て言うのは日本語的におかしい。
列挙体は、○○である。
って言った方が日本語っぽい。
0153名前は開発中のものです。
2010/09/13(月) 22:55:26ID:uHGV5Rl5列挙体と列挙型の説明をもう少しkwsk
0154名前は開発中のものです。
2010/09/13(月) 22:56:48ID:mHW+Bk/Oこのまま言い続けたら関節極めんぞ
0155名前は開発中のものです。
2010/09/13(月) 22:57:33ID:eE7b0Ftcそんな奴しらん!w
眼中にないから、
見向きもしていない。
あとで暇な時に間違えを探しておくよ。
どうせ、簡単な間違いを大きく取り上げて騒いでるだけでしょ?
0156名前は開発中のものです。
2010/09/13(月) 22:58:25ID:uHGV5Rl5難しすぎて理解できないのですが・・・
0157名前は開発中のものです。
2010/09/13(月) 22:59:02ID:eE7b0Ftcあらw本当だwwwwwwwwww
自分で言ってて吹いたww
0158名前は開発中のものです。
2010/09/13(月) 23:00:36ID:0mVb50Liいや真剣に聞いてるんでどれだけ説明が難しくなってもいいし、
ぶっちゃけ抽象的でもいいんだけどできればネトゲのFF14あげてるんだからそれで例えてくれw
>列挙体を使って宣言しておいて、
>構造体の中で、共同体を呼び出して使う。
例えば戦闘シーンに入るごとに敵グラフィックを呼び出すとする。
その敵グラフィックのメモリには共用体を使うってこと?
それとも似たような敵でサイズが同じ奴(スライムとスライムベスとか)に適用ってこと?
>>149
それは釣り師のよくやる手だよ
俺も昔はよくやったな
突っ込みどころが多いとスルーしやすいんだよね
>>151
俺からも>>151の質問に答えてあげて欲しい
無いなら無い、というべき
レスがないのは無能の証拠になってしまう
0159名前は開発中のものです。
2010/09/13(月) 23:04:16ID:Bp0mHrKP0160名前は開発中のものです。
2010/09/13(月) 23:07:49ID:Kh1yuN/20161名前は開発中のものです。
2010/09/13(月) 23:08:33ID:uHGV5Rl5>>149を見て、なるほどって思わないと共用体そのものを理解していない
0162名前は開発中のものです。
2010/09/13(月) 23:12:36ID:eE7b0Ftcスライムの図形を列挙体で定義しておき、
もっと具体的な情報を構造体で定義する。
それを共用体を使って統一的に扱い、
例えば色を赤にしてスライムベスを作る。
元の図形は一つで済む。
こんなところか。
0163名前は開発中のものです。
2010/09/13(月) 23:15:38ID:rfZsSMdB・int型の宣言で確保されるのが1byte
・int a,b; 確保しただけなので、各領域には何も入ってません。
基本的には何が入っているか解らないはず。
・b+10 この時点でbの領域に10が代入
→+は代入演算子じゃ無いのでbには入らない
b+10に演算結果が埋め込まれる感じ
→何が入っているか解らないので10になるとは限らない。
→bを初期化してないのでコンパイルエラーか警告もしくはエラー落ち。
・aの領域もbの領域も存在しないためエラー
ブロックの前で宣言してるから領域はある。
初期化してないからエラーか警告か。
今回クリティカル気になったのはこれくらいです。
コンパイラーやマシンによって違う部分もあるけど
メモリー領域の話をするなら初期化は最重要だと思います。
0164名前は開発中のものです。
2010/09/13(月) 23:20:00ID:eE7b0Ftcえ??
何言ってるの?
0165名前は開発中のものです。
2010/09/13(月) 23:20:56ID:rfZsSMdB0166名前は開発中のものです。
2010/09/13(月) 23:25:15ID:ThQtFFC10167名前は開発中のものです。
2010/09/13(月) 23:26:16ID:eD2Excdd気がつくまで教えないでおこうと思ったが乙。
多分bの初期化エラーでコンパイル通らないと思う。
なんだかなぁ。
C++とかの解説って本当に出来るのかよって思うよ。
生半可な知識で初心者に教えてもこんがらがって初心者が可愛そうだわ。
0168名前は開発中のものです。
2010/09/13(月) 23:26:43ID:ThQtFFC1期待してるぜえ
0169名前は開発中のものです。
2010/09/13(月) 23:27:01ID:xFsIn/+aえ??
わからないの?
0170名前は開発中のものです。
2010/09/13(月) 23:28:21ID:uHGV5Rl50171名前は開発中のものです。
2010/09/13(月) 23:28:42ID:0mVb50Liいや、理屈では理解してるよ。同じメモリ領域を色んな変数で使うんでしょ
やさしいC++のunionnの項目でも読んだ。あんまり使わないからピンと来ないのかな
>>162
なるほど!特に3Dで動的に作成するならとても有効だろう。特にグラボのチップセット内部ではかなり使ってそうな感じは伝わてきた
ところでスライムの画像って3Dで事前に用意してメモリに格納しておくとおもってたんだけど、ゲームでは動的に作成するの?
・予め作成してある3Dデータを格納するメモリ
と、
・3Dデータを動的に作成グラボの値段
を天秤にかけると、前者のほうが圧倒的に安い、つまり商業的に敷居が低いと思うんだけど
そこはどうなの。もちろんメモリの扱いもうまく、グラボにも負担をかけないのが理想だけど
開発の経費が決まってるとして、ね
0172名前は開発中のものです。
2010/09/13(月) 23:29:59ID:vw14tCDdプログラムコードは違う、
1bit違っていてもコードは停止する、bugを探し出すのに数ヶ月を要することもある。
0173名前は開発中のものです。
2010/09/13(月) 23:31:25ID:eD2Excddを読んでて、ふとコンストラクタの初期化リストでリソース読み込んでるバカが居たのを思い出した。
0174名前は開発中のものです。
2010/09/13(月) 23:31:55ID:eE7b0Ftcあ・・・・。
しまった。
0175名前は開発中のものです。
2010/09/13(月) 23:33:01ID:eD2Excdd0176名前は開発中のものです。
2010/09/13(月) 23:33:11ID:eE7b0Ftcうわwwどうしよう・・。
0177名前は開発中のものです。
2010/09/13(月) 23:35:49ID:eE7b0Ftcでもちょっと待て。
問題はそこじゃないよね?
あの解説のメインは、
C言語の計算の考え方についての解説なので、
これでいいじゃない。
って言い訳になるか・・ww
あとで修正しておこう。
0178名前は開発中のものです。
2010/09/13(月) 23:36:40ID:aVfTnKWR気づいたついでに>>142も修正してきたら
0179名前は開発中のものです。
2010/09/13(月) 23:38:23ID:Kh1yuN/20180名前は開発中のものです。
2010/09/13(月) 23:38:36ID:0mVb50Liごめんなさい無学なので本気でわかりません
殺す気で教えて頂けないでしょうか
0181名前は開発中のものです。
2010/09/13(月) 23:41:27ID:ThQtFFC1int a,b;
a=50*(b+10);
printf("%d",b);
結果----------------------------------------------------------
10
0182名前は開発中のものです。
2010/09/13(月) 23:41:59ID:uHGV5Rl5> この時点では、領域を確保しただけなので、各領域には何も入っていません。
忘れてたとか言ってる割には意図的に初期化してないじゃんw
つか何も入ってないってどういうことだよw
0183名前は開発中のものです。
2010/09/13(月) 23:42:18ID:nTSsO+Fienumで定義する定数を一緒にすんな馬鹿たれ
気づいてしまったが教えるんじゃなくて、
赤ペンで教えてもらおうとする巧妙なワナだろw
0184名前は開発中のものです。
2010/09/13(月) 23:43:27ID:eE7b0Ftc明日にでも修正しておくよ。
ご指摘ありがとう。
マジで見落としてた・・。
>>178
うん。
>>142の方が致命的ですw
0185名前は開発中のものです。
2010/09/13(月) 23:43:42ID:vw14tCDd俺も、そう思う
0186名前は開発中のものです。
2010/09/13(月) 23:44:04ID:0mVb50Li0187名前は開発中のものです。
2010/09/13(月) 23:46:35ID:xFsIn/+aそうだな
問題はそこじゃないな
プログラム的にはあの式でbの中味は変わらないもんな
規約の緩いコンパイラならそのまま通るだろうし
暗黙的に0に初期化されてるなら、問題無く実行されるだろうな
んで、どこを修正するかわかったかい?
0188名前は開発中のものです。
2010/09/13(月) 23:47:16ID:eE7b0Ftcいやいや。
その時点は別にいいだろう。
領域を確保しただけだから、
領域の中身は空っぽだよ。
その後に初期化するわけだろ?
1.領域確保
2.初期化
3.計算
これが基本じゃないのか?
0189名前は開発中のものです。
2010/09/13(月) 23:47:43ID:ZKZVi0D6>C++とかの解説って本当に出来るのかよって思うよ。
>生半可な知識で初心者に教えてもこんがらがって初心者が可愛そうだわ。
はなっから教えてあげようなんてつもりは無いだろうよ
専門知識を並べて解説して、プログラム初心者を騙して、自分が如何に優秀で才能持った人間であるかを示そうとしてるんだよ
この人根っからの嘘つきだから、嘘やデタラメでもいいから周りからの信頼を得たい訳なのです
何しろ、お金の話もしているし本格的に商売も計画している、目標1万本以上という事で
だから自分は能力不足だってはっきり言えないんだよ
本当の事言ったら協力者得られないし、どうやってお金を稼げるのか
0190名前は開発中のものです。
2010/09/13(月) 23:47:53ID:mHW+Bk/Oもう2〜3年してから公開したほうがいいんじゃね?
いまの注意力と理解力で何かを作るってのが無謀じゃね?
一旦使えないって印象与えるとみんな寄り付かなくなるよ
とりあえず一通りやってんだよ!って気合はわかるけど
経験やら時間やらが圧倒的に足りてないだろ
0191名前は開発中のものです。
2010/09/13(月) 23:48:58ID:eE7b0Ftc>>188は、>>182への返信
0192名前は開発中のものです。
2010/09/13(月) 23:49:00ID:eD2Excddいや、あんまり関係無かったりする
小規模〜中規模のゲームならば、ローディングシーンとかで一括で読み込んでしまっても問題無い。
場合によってはローディングは分けたりする(初回のロードが長すぎたりする時)
↑ここらへん人による。
で、俺が言ったのは
例えばスライムクラスでスライムのテクスチャだったりモデルを使う時に
コンストラクタでテクスチャ(モデル)の読み込みを行ってたアホが居た事を思い出したって話。
当たり前だけどスライムを生成する時(要するにnew suraimu();とかした時)
に、初期化リスト内でリソースが読み込まれる。(小規模なロードが挟まるって事)
スライムとかのオブジェクトは沢山生成してナンボ(ゲームによるが)なので
100体生成すると、同じリソースをオブジェクト毎に読み込んでいる減少が起こるからマズイってこと。(めちゃ重くなる)
0193名前は開発中のものです。
2010/09/13(月) 23:50:02ID:uHGV5Rl50194名前は開発中のものです。
2010/09/13(月) 23:57:16ID:ThQtFFC10195名前は開発中のものです。
2010/09/13(月) 23:57:20ID:eE7b0Ftcあれ画像で作ってるから、
全部作り直さないといけない。
b=0を入れるだけなんだけど・・。
0196名前は開発中のものです。
2010/09/13(月) 23:58:05ID:0mVb50Liなるほど。ロードは動画・複数の音楽とか挟んだら大変でしょうね
ちなみにそれはnewじゃなければどう解決するべきでしょうか?
一度弾幕ゲームを作ったことがあるのですが、その時、まず弾の構造体を1000-10000ぐらい用意しておき、
loopで 出現/非出現 判定から軌道計算、接触判定全てを行っていました
やはりC++では関数ポインタ、C#でデリゲートですか?
一度も使えたことがありません・・・
0197名前は開発中のものです。
2010/09/13(月) 23:58:07ID:uHGV5Rl5なるほど、未初期化の変数は空っぽになるんですね
空っぽってなんですか?www
0198名前は開発中のものです。
2010/09/14(火) 00:06:47ID:pI9OYyYQうっせーなw
0199名前は開発中のものです。
2010/09/14(火) 00:08:22ID:YCDdRPmAそこらへん俺のやり方ではC++にあるSTLのlistを使って管理している。
敵のコンテナと味方(玉とか)のコンテナに分けて
そいつらをイテレーターでブン回して全判定かな。
オブジェクトの削除とかはdeleteとかよりも準標準ライブラリのboostのスマートポインタをオススメする。
弾幕ゲーだったら玉一つ一つをオブジェクトとして考えて、一つ一つに動きを付けると良い。
玉の生成時にスピードとか角度とかをコンストラクタから渡して、それを元に動くみたいな。
玉が生成されてから、玉が消えたり、敵に当たったりするまでを玉クラスで完結するのが一番ベスト。
まぁ作り方が楽でも面倒でも、C++だろうとCだろうと動けばいいんだよ。
細かい事気にしたらキリが無いから、個人製作ならばあんまり設計とかコードに凝らないほうが良い。
0200名前は開発中のものです。
2010/09/14(火) 00:12:12ID:4HJgK4wQ今まで見てきたから分かる
完全に無駄
0201名前は開発中のものです。
2010/09/14(火) 00:19:51ID:79ii0GBvありがとうございます
僕も>ならばあんまり設計とかコードに凝らないほうが良い。
派だったのですが、弾幕ゲームって、一つ要素を入れただけでものすごく重くなってしまって、
これは基本を大事にしないと大変なものができるなと思ったんです
>>200
まぁいいんじゃないでしょうか
無駄でも回答することにより自分の記憶がより強固になり、
また、間違った知識なら誰かに突っ込まれる
常に本気で回答するのもいいことだと思いますよ(自分の分野で常にそうしてるので)
0202名前は開発中のものです。
2010/09/14(火) 00:33:36ID:pI9OYyYQこれからは、Visual C++ 2010のエディタ画面をキャプチャーして作ることにしよう。
その方が確実だし楽だ。。
ついでに実行結果もキャプチャーして載せれば
完璧だろう。
ああ・・。今日はもう疲れた。
少しネトゲで狩りにでも行って
憂さ晴らししてくるw
0203名前は開発中のものです。
2010/09/14(火) 00:35:56ID:pI9OYyYQ穴があったら入りたいぜ・・・。
0204名前は開発中のものです。
2010/09/14(火) 00:36:07ID:hroAEm3n0205名前は開発中のものです。
2010/09/14(火) 00:37:35ID:NJhMEymm全力でやるのはいいけど
そこにお前の見栄やら嘘やら、相手の見栄やら嘘やら入ってくるから
おかしくなっちゃうと思うけどね
こうやってやりとりするだけで結構時間とっちゃうし
上げ足とるのに精を出す人間も出てくるし
また、くだらない虚栄心を取り繕うためにお前も妙なレスするし
やっぱり突っ込まれる部分は最小になるようにしろよ
せめて自分で5回は見直してから上げたらどうなの?
回数が無理なら1週間置いてからもう一度読んでみるとか・・・
0206名前は開発中のものです。
2010/09/14(火) 00:40:33ID:79ii0GBvちょ、ちょっと待って!俺は自分の専攻してる学問のスレでレスしてるだけだよ
ちなみに理系一般板
ここでは質問してるだけだよ
0207名前は開発中のものです。
2010/09/14(火) 00:47:48ID:NJhMEymmおお、人違いすまんかった
0208名前は開発中のものです。
2010/09/14(火) 00:53:41ID:pI9OYyYQいいや。
無職じゃないよ。
これでもSOHO個人WEBデザイン事務所を一人で経営している。
肩書きはフリーWEBデザイナー。
本来はこっちがメイン。
そもそも、プログラミングを勉強しようとしたキッカケは、
これまで外注に任せていたWEBシステムを自分で作って、
コストを抑えようと思ったのがキッカケ。
だが、ただ単にプログラミングを勉強するだけではつまらないので、
ゲームでも作りながらプログラムを学ぼうと思っていたら、
こっちの方が面白かったので、
ゲームプログラミングがメインになってしまったw
掲示板かブログとか、
そういうWEBシステムを作るのに
DirectXとか、扱わないと思うしw
0209名前は開発中のものです。
2010/09/14(火) 05:44:35ID:4HJgK4wQ0210名前は開発中のものです。
2010/09/14(火) 09:47:26ID:m5PuDjuc0211名前は開発中のものです。
2010/09/14(火) 09:48:23ID:dA9hCkod0212名前は開発中のものです。
2010/09/14(火) 09:51:53ID:QB7AcnS4思う壺だよ
0213名前は開発中のものです。
2010/09/14(火) 09:55:45ID:m5PuDjuc俺は3DSTG作ってたけど1ヶ月くらいで飽きてやめちゃったからな・・・。
グラフィックデータが作れないのが痛いわ。
0214名前は開発中のものです。
2010/09/14(火) 11:07:23ID:JMWUq/2Y0215名前は開発中のものです。
2010/09/14(火) 11:29:19ID:pI9OYyYQそうだったのか。
int型って4バイトだったのか。
さすが2chのゲー製作技術板ですね。
口先だけの馬鹿と違ってよくご存知ですね。
適当なことを言うとすぐに叩かれそうだな。
というか即答で指摘しているところに驚いた。
ちょっと調べてみたけど、
正確にはint型は32ビットです。
値は-2147483648〜2147483647までです。
int a = 2147483647;
int b = a +1;
つまり、こんな感じにaを2147483647で初期化して、
aに1を足すと、-2147483648になって、
オーバフローになる。
0216名前は開発中のものです。
2010/09/14(火) 11:36:59ID:pI9OYyYQそうだったのか、
個人業って無職だったのか。
それは知らなかった。。
前から気になっていたんだけど、
教えてくれてありがとう。
てか、ちょっと知識を知ってるからって偉そうにすんなよw
まあ、教えてくれたことには感謝するけどな。
0217名前は開発中のものです。
2010/09/14(火) 11:40:19ID:hgp+4eCVワシの目はごまかされない!
0218名前は開発中のものです。
2010/09/14(火) 11:44:15ID:QB7AcnS4ほとんどが4byteだけど
H8で組んでた時は2byteだったな
つか、解説するんならこれくらい知っとけw
0219名前は開発中のものです。
2010/09/14(火) 11:48:01ID:pI9OYyYQサラリーマン時代に、
アフェリエイトをしたのがキッカケです。
それまで個人業を難しく考えていたけど、
わりと簡単に稼ぐことができたから。
だったら、WEBデザイナーとして
本格的に個人事業を開業してみようと思い、
知り合いの社長に教えてもらって事務所を立ち上げました。
まあ、最初はほとんど仕事がなくて苦労したけど、
人脈をうまく使って
「仕事回してください。」とか言いまくっていたら、
少し仕事が入って、
また、そこから仕事が入る。
仕事をやればやるほど仕事が入ってきて、
実績がついて、口コミでまた仕事が入ってくる。
しかも、一人でやってるから全部自分の報酬なので
やればやるほど稼げる。
給料なんてサラリーマン時代では、考えられない金額です。
もうサラリーマンには戻れません(^^;
ちなみに俺、FXとかもやってたりする。
0220名前は開発中のものです。
2010/09/14(火) 11:59:33ID:pI9OYyYQもう、いっぱい稼いでしまったら、
何かやる気がなくなってしまってね。
今では、月に1、2件やる程度です。
個人業な生活ってすごく退屈。。
そりゃ、バリバリ仕事をやっている頃は、
すごく忙しくて、
一ヶ月でどこまで稼げるか挑戦してみたこともあるけど、
たくさん稼いでしまったら、
これ以上稼ぐ気になれなくてね。
サラリーマンと違って、
自宅が職場です。
お茶を出してくれる可愛いOLさんもいなければ、
同僚も上司もいない・・。
俺はいつも独り・・。
まあ、そんなわけだから、
こんな真昼間から2chやったりネトゲ三昧の生活を送っております。
同人ゲームが完成して、
そこそこ売れたら、
別会社を作ってゲーム制作事業をやってみたいとか真剣に考えてるよ。
0221名前は開発中のものです。
2010/09/14(火) 12:06:40ID:pI9OYyYQ今度オフ会でも開いて見せてあげるよ。
多分、その金額に誰もが驚くと思う。
0222名前は開発中のものです。
2010/09/14(火) 12:07:50ID:FW6HEKO5正確にも4Byteだろw
4[Byte]*8[Bit]=32[Bit]だぜ?
こんな計算も出来んのか
まぁ>>218が正解なんだけどな
何でこう知ったかぶろうとするかなー
0223名前は開発中のものです。
2010/09/14(火) 12:16:35ID:BvU3tXWRちなみに昔作った奴移植するのどうするか途方にくれてるぜ
0224名前は開発中のものです。
2010/09/14(火) 12:29:22ID:XpWGSie1C言語の規格としてはint型のサイズは処理系依存ってことになっていますが、最低限保証されているのは2byteです。
32bitの処理系はほぼ4byteになるようですが、組み込み系ではまだまだ2byteでまかり通っているところもあるようです。
intで宣言した実体が1byteになるとしたら、それは少なくともC99の仕様に則っているC言語ではありませんね。
0225名前は開発中のものです。
2010/09/14(火) 13:55:46ID:WJ31r0pzこんなことで関心するとは、kazukiは本当にコンピュータやプログラミングに関して無能なんだな
1byteなら0〜255のような256通りの数値しか格納できない、1000や10000などの値を使用できない
1byte,1bitの意味が理解できないとかC言語プログラミング学んでて恥ずかしいレベルだ
0226名前は開発中のものです。
2010/09/14(火) 14:38:45ID:DvriFlDDC言語のそのへんはすぐに理解できたのに。
戻り値とかポインタとか、アセンブラでスタックやインデックスレジスタを知ってたから
一発で理解できた。
0227名前は開発中のものです。
2010/09/14(火) 15:38:18ID:XWdrVcFF普段なら適当なこと言っても困るのは本人だし、突っ込んでる人も遊び半分だからいいけど
言語解説とかは困るのは参考にした初心者の人だからマジで
int main(void){
int a,b;
{
b=0;
a=50*(b+10);
printf("%d,",a);
}
printf("%d,\n",a);
return 0;
}
> このようなコードを書いた場合、ローカル変数は関数を抜けた時に解放されるため、
> aとbの領域は空っぽの状態にリセットされます。
実行結果が「500,500」になりました。値生きてます。
話の流れ的にここは「関数」というよか「ブロック」じゃないの?
a=50*(b+10);
> 10の変数(数値)をbの領域に代入します。
> この時点では、aの領域は空っぽです。
10は変数なの?+は代入の機能持ってんの?変数bのメモリ領域に10が入ってるけどどうしてくれんのこれ?
あと初期化についてだけど
僕の環境では初期化しないとコンパイルの時に警告 演算に使用とすると強制終了。
でもリリースではコンパイル警告後 演算は通った。
初期化しない状態では2015115236が入ってた。
偶然でた値なのか決まってる値なのかは別として、これを値として扱える以上は空っぽではないんじゃないの?
初心者なめすぎじゃね?初心者でもこの程度は気になるほどには賢い人は賢いよ
0228名前は開発中のものです。
2010/09/14(火) 16:07:16ID:FW6HEKO5さて、>>1は>>142に指摘された点がどこかようやくわかったかな?
あんたの間違いはスコープの理解と変数の寿命だよ
初期化とかよりよっぽど致命的だよね
とりあえずこのソース実行結果どうなると思う?
答えてみなよ
#include <stdio.h>
int main(){
int a,b;
printf("%d %d",a,b);
{
b=0;
a=50*(b+10);
printf("%d %d",a,b);
}
printf("%d %d",a,b);
return 0;
}
あのページの解説の通りに動くとしたら
1行目: 空っぽ 空っぽ
2行目: 500 10
3行目: 空っぽ 空っぽ
になるね
そもそもコンパイルエラーになるっていってるが、
警告は出るかも知らんがエラー無しで通るよな?
0229名前は開発中のものです。
2010/09/14(火) 16:26:25ID:6IA8IO5N俺は逆に混乱したw
なんでポインタに1加算すると1バイト次のアドレスじゃなくて数バイト先を指すんだよ! とかw
0230名前は開発中のものです。
2010/09/14(火) 16:30:05ID:pI9OYyYQいや。それはもういい。
とりあえず、先に進もう。
こんなところでマゴマゴしてたら、
C++の解説がいつになるかわからんw
俺は早く、ゲームプログラミングを解説したいのだ。
なので、現在、構造体の解説を作ってる。
0231名前は開発中のものです。
2010/09/14(火) 16:34:02ID:pI9OYyYQコンパイラによって違うんだって。
とりあえず、間違ったソースを組まなければいいだけの話でしょ。
そんな、コンパイラ別に解説してたら日が暮れるってのww
0232名前は開発中のものです。
2010/09/14(火) 16:42:01ID:kwiSf8mq説明しないとまずいだろ。
>>230
それはもういいとか言っちゃう自信はどこから来てるんだろうか。
正直説明サイトを作ってくれるのはありがたい。
ただ、致命的な嘘をさも正常なように言い放っちゃってるサイトが
google検索に引っかかるようになったりするとそれはもうテロ行為だよw
0233名前は開発中のものです。
2010/09/14(火) 16:42:29ID:XWdrVcFF解説なんてやめちまえよwww
0234名前は開発中のものです。
2010/09/14(火) 16:47:27ID:FW6HEKO5じゃーCの解説せずにゲーム解説からやれば?
てか製作はどうしたの?
ここって解説スレだっけ?
てかなんでゲーム製作に解説が必要なの?
それを2chに晒して何が目的なの?
ゲーム製作しつつ質問あったら解説とかその辺は良いと思うが
今のところゲーム製作の過程がまったくないんだが?
プログラムの勉強からするなら解説する必要なくね?
ぶっちゃけ、今どこまで製作進んでるのか、からの報告で良いよ
ただし、かまってちゃんは簡便な
0235名前は開発中のものです。
2010/09/14(火) 16:51:04ID:xtJ1rdKJhttp://9cguide.appspot.com/
間違って覚えると後が大変。
0236名前は開発中のものです。
2010/09/14(火) 16:53:43ID:RsxN/3Kk↑9月7日の発言
>もうミニゲームをいくつか完成させました。
↑9月12日の発言
0237名前は開発中のものです。
2010/09/14(火) 16:55:45ID:LRy0+Jlt0238名前は開発中のものです。
2010/09/14(火) 16:59:12ID:WJ31r0pz嘘でもデタラメでもどうでもいいんだよ
彼の本音は、教えたり解説したりじゃなくてゲーム作って商売することだから
現にゲーム会社設立して本格的に事業やりたいと言っている訳だし
当然、資金や協力者を集めないといけない
それなのに、正直に間違いを認めてたら信頼無くすし誰も協力してくれなくなる
嘘でも自分が優秀な人材であると主張し信頼を得ないとお金儲け出来なくなるでしょ
■ このスレッドは過去ログ倉庫に格納されています