Kazukiの同人3DRPG制作【第二話】
レス数が1000を超えています。これ以上書き込みはできません。
0001Kazuki
2010/09/19(日) 04:46:22ID:6P+qj1XKttp://www.kazuki-sendo.com/game/
発展途上中の素人Kazukiを中心として
DirectX9による3DRPG制作に挑戦します。
開発言語は、C++です。
長く苦しい戦いになると思われますが、
同人ゲーム制作の限界への挑戦が、当企画のテーマでもあります。
0947名前は開発中のものです。
2010/09/22(水) 06:50:11ID:VAUtS0z/数学における等号とは意味が違うけども、単にこの使い方は算数ではしないだけなんだけど…
y=x^2+2x+1; って書いたら
・Cでは変数yに式x^2+2x+1が代入される
・数学ではyとxの関係が定義される
じゃない。この数学的使い方だけを抜き出したのがCにおける代入演算子なんだよ。
数学では"="が代入と等号の両方の機能を持っていると考えれば、x=x+1という書き方を
Cでしてもいい理由が分かるかな。
http://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E6%84%9B%E6%80%A7%E4%BA%BA%E6%A0%BC%E9%9A%9C%E5%AE%B3
0948名前は開発中のものです。
2010/09/22(水) 07:22:39ID:uXUhUOYT>>936
とか素直に前から読むのの二倍走査してるし
流石に無理があるって気づかないのかねぇ
0949名前は開発中のものです。
2010/09/22(水) 07:33:44ID:VAUtS0z/事実はどうあれ自分が正しいんだろう
0950名前は開発中のものです。
2010/09/22(水) 07:37:04ID:uXUhUOYTコンパイラならプログラムする上で全く関係無いし
(例え後ろから前に読む変態的なコンパイラがあったとしても、ソースと出力は変わらない)
人が読むならどう考えても前から読む方が楽だし
実行ファイルになった上でCPUが、なら
そんな事最適化やら何やらされまくってソースの書き順なんて意味をなさないし
言語仕様として処理が後ろから前に「進む」のは
>>936で無理して前から実行される様にしてるから分かってると思うが、間違ってる。
0951名前は開発中のものです。
2010/09/22(水) 07:48:49ID:ij0YiTqO参加出来なくて残念
0952名前は開発中のものです。
2010/09/22(水) 08:28:20ID:ZhuFa4Bc0953名前は開発中のものです。
2010/09/22(水) 08:30:39ID:VAUtS0z/だいたい「ミス」で通してる
0954名前は開発中のものです。
2010/09/22(水) 09:02:54ID:cPiQEDdY0955名前は開発中のものです。
2010/09/22(水) 09:10:56ID:uXUhUOYT>>1の場合はミスじゃなくて理解の間違い
0956名前は開発中のものです。
2010/09/22(水) 10:11:39ID:ECFrVm3B貴方のサイトでC言語のプリプロセッサの解説をして頂け
ないでしょうか? ぜひお願いいたします。
C言語を学ぶうえで、プリプロセッサの理解は避けて通れ
ません。ぜひ、バKazuki様の分かり易い解説をお願いいた
します。
0957名前は開発中のものです。
2010/09/22(水) 10:12:50ID:ng3sPQSM解説の間違いを全部説明しようとすると何スレいるのやらw
0958名前は開発中のものです。
2010/09/22(水) 10:23:35ID:VAUtS0z/○ 主が間違いを犯すことを理解させようとすると何スレいるのやらw
0959名前は開発中のものです。
2010/09/22(水) 10:42:29ID:go2dVt0W根本的な所から理解できてないし
理解しようとしないんだもん。
むしろ自分で奇天烈理論展開して正当化しちゃうとか笑うしかないw
0960名前は開発中のものです。
2010/09/22(水) 11:28:25ID:VAUtS0z/0961名前は開発中のものです。
2010/09/22(水) 13:18:18ID:2NPM2emeやっぱり「 理 論 」演算子って書いてるじゃないか
0962名前は開発中のものです。
2010/09/22(水) 13:49:46ID:VAUtS0z/理論はtheory
論理はlogic
気づいても現実との不整合があったときは自己が優先
0963名前は開発中のものです。
2010/09/22(水) 15:37:28ID:KlyUHZKSいや。だから、
一番右が現在で
一番左が過去です。
現在から過去に向かって読むとき、
右から左に向かって読む。
なので、一番左が0地点である。
C:\Users\owner>
int a = 0;
C言語の文法も一番右が現在で、
一番左が過去。
現在から過去に向かって読むので、
右から左・・後ろから前になる。
コンパイラがコードを読むは、
時が動いています。
解りやすくジョジョで例えると、
コードを書く時点では、DIOが時を止めている。
そして、読む時点になると、「そして、時が動き出す・・」ってなって、
現在をスタート地点、過去をゴール地点に定めて、
そこに向かって読むから、右から左になる。
0964名前は開発中のものです。
2010/09/22(水) 15:40:40ID:ECFrVm3Bゲームの完成が楽しみです。
0965名前は開発中のものです。
2010/09/22(水) 15:43:21ID:kfs4f4gpc=1+2*3;
0966名前は開発中のものです。
2010/09/22(水) 15:43:38ID:KlyUHZKSC:\Users\owner>■
■は↑の場所から、←左にむかって読む。
なので、行の0列目が、ゴール地点。
なのでどこが文章の終わりなのかが、
コンピュータは理解できる。
int a = 0;■
↑
これもカーソルはあの場所から、←左に向かってよむ。
0967名前は開発中のものです。
2010/09/22(水) 15:47:06ID:MuuXCIIp>>966
素朴な質問だけど、初心者のためを思って独自に工夫して説明してるの?
それとも、コンピュータ内部でそういう動きをしているから、その説明をしてるの?
どっち?
0968名前は開発中のものです。
2010/09/22(水) 15:47:30ID:ij0YiTqO面白いギャグですね。今度友達に使ってみます。
0969名前は開発中のものです。
2010/09/22(水) 15:50:43ID:KlyUHZKS1.;
2.3
3.*
4.2
5.+
6.1
7.=
8.c
↑
こんな感じに後ろから読んで
一覧にする。
この中で一番優先順位の引くのはどれ?
とコンピュータが考えた時、=が一番低いと判断し、
7.の=と8.のcを後回しに考えるように判断。
行の最後まで読んだら、
次に今度は逆に読む。
1.c
2.=
3.1
4.+
5.2
6.*
7.3
8.;
0970名前は開発中のものです。
2010/09/22(水) 15:52:08ID:ij0YiTqOもういいよ、見てて悲しいから…
誰にだって誤解はあるんだから、もう諦めてよ。
0971名前は開発中のものです。
2010/09/22(水) 15:52:51ID:BJ6LqzHuC言語の勉強し直そうよ。
ネット上でも一から説明してあるところ結構あるよ。
ttp://qurl.com/4jrvj
0972名前は開発中のものです。
2010/09/22(水) 15:55:27ID:KlyUHZKS2.=
3.1
4.+
5.2
6.*
7.3
8.;
後ろから前に読んで
=が理解できたら、
今度は、前から後ろに向かって読み。
今度は優先順位の一番高いのはどれ?と
コンピュータは考える。
*が一位
+が二位
なので、6.を先に計算してから、
4.を計算する。
各演算子には、「左の値を右の値に」という意味があるので
2×3をやってから、1+6をやる。
0973名前は開発中のものです。
2010/09/22(水) 15:57:02ID:VAUtS0z/a=
a
+b;
こういうCソースの一部はどう解釈されるの?
0974名前は開発中のものです。
2010/09/22(水) 15:58:43ID:ECFrVm3Bって習いました。
だって前から見ていかないと、そもそも後ろ(NULLのある場所)が
何処なのか分からないから。
VBなんかは、文字列の先頭に文字列の長さを持っていて最後の位置が何処なのか分かるみたいですけどね。
0975名前は開発中のものです。
2010/09/22(水) 15:59:10ID:go2dVt0W0976名前は開発中のものです。
2010/09/22(水) 16:01:12ID:KlyUHZKS気が付いたら、
もう埋まりそうだ・・(^^;
0977名前は開発中のものです。
2010/09/22(水) 16:02:39ID:VAUtS0z/int a; a=0; a=a++; a=2; printf(a);
これはどうなる?
0978名前は開発中のものです。
2010/09/22(水) 16:04:19ID:kfs4f4gpこの順にする。
@演算子の優先順位に基づいて 順に演算される。
A演算子に基づいて結合規則が当てはめられる。(その部分だけの向きを意味する)
B演算子の優先順位が同じ場合は、向きはどちらからでもよい。
Bの説明は、
c=1+2+3
この場合は、 1+2+3でもよい、 3+2+1でもよい。
順番に依存するコードは機種依存があるので悪いコードである。
もし、最新のANSI規格で変更になったのならば、教えてください。
0979名前は開発中のものです。
2010/09/22(水) 16:06:28ID:N6b8LlOZ0980名前は開発中のものです。
2010/09/22(水) 16:07:11ID:6Sww9jS90981名前は開発中のものです。
2010/09/22(水) 16:12:04ID:KlyUHZKS↑
これを入力するとき、
1.i
2.n
3.t
4.スペース
5.a
6.スペース
7.=
8.スペース
9.0
10.;
こんな感じに一文字ずつキーボードから入力しているでしょ?
だから、入力している地点で、ゴールはすでに解ってる。
もっと細かく言うと、
キーボードのキーを押して「文字がディスプレイに表示」もプログラムが動いています。
キー入力もリピート状態で、
次の入力をコンピューターが待っている状態です。
そこでキーを押すと一瞬でプログラムが動いて終了し、
押したキーがディスプレイに表示される。
なので、どこがゴールなのかは、
すでにコンピュータは解ってる。
知りたいのは、スタート地点。
0982名前は開発中のものです。
2010/09/22(水) 16:13:12ID:6Sww9jS90983名前は開発中のものです。
2010/09/22(水) 16:15:47ID:go2dVt0W0984名前は開発中のものです。
2010/09/22(水) 16:16:13ID:6Sww9jS9コイツ絶対次スレ立てるぞ
0985名前は開発中のものです。
2010/09/22(水) 16:16:20ID:VAUtS0z/なんでスタートが分からないのにゴールが分かるの?
ソースを他から持ってきてもゴールは分かるの?
0986名前は開発中のものです。
2010/09/22(水) 16:16:25ID:MuuXCIIp>>967 の質問に答えてよ。またスルーですか?
0987名前は開発中のものです。
2010/09/22(水) 16:16:44ID:KlyUHZKS次回までの俺からの宿題にしておくよ。
俺が言っている「右から左=後ろから前」を詳しく調べて、
次回までに納得しておいてください。
上の宿題よりもこっちの方が面白いかもね。(^^
0988名前は開発中のものです。
2010/09/22(水) 16:16:50ID:kfs4f4gpKazukiは、どのコンパイラを使っていますか? Borland C++ですか?
0989名前は開発中のものです。
2010/09/22(水) 16:17:11ID:6Sww9jS9Kazu...いや、VCしか使えないと思う
0990名前は開発中のものです。
2010/09/22(水) 16:22:18ID:kfs4f4gpカセットテープから一文字づつ読み込んでコンパイルしていた。
2パスだから2度読みする。それはアセンブラコンパイラ。
0991名前は開発中のものです。
2010/09/22(水) 16:23:18ID:KlyUHZKSここまで付き合ってくれてありがとうございます。
次回スレはもちろん立てますが、
当スレでは現スレ完結でいきますので、
このスレはこのスレで完結です。
なので、次スレのリンクは貼りません。
次スレを立てたなら
そこから新たなスタートです。
このスレを知らない人が、
次スレから参加することもありえます。
では、皆さん。
また会える日まで、お元気で!(>▽<
0992名前は開発中のものです。
2010/09/22(水) 16:23:35ID:VAUtS0z/0993名前は開発中のものです。
2010/09/22(水) 16:24:27ID:KlyUHZKSほ〜た〜るの、ひ〜か〜り〜♪
0994名前は開発中のものです。
2010/09/22(水) 16:24:29ID:m4G9jaBa結合は同一順位の演算順序じゃなかったっけ
もし勝手に演算順序変えられるとover/underflowしたり誤差が捨てられたりして困るんだが
>981
ゴールもスタートもわかんねーよ
cpuに全てを見渡す能力はついちゃいねーよ
0995名前は開発中のものです。
2010/09/22(水) 16:25:01ID:go2dVt0Wこれで逃げるから無理w
0996名前は開発中のものです。
2010/09/22(水) 16:25:39ID:6Sww9jS90997名前は開発中のものです。
2010/09/22(水) 16:25:50ID:VAUtS0z/0998名前は開発中のものです。
2010/09/22(水) 16:26:29ID:KlyUHZKSまもなく、このスレは閉幕いたします。
皆さん、当スレの御アクセス御投稿、まことにありがとうございました。
0999名前は開発中のものです。
2010/09/22(水) 16:26:42ID:MuuXCIIp1000名前は開発中のものです。
2010/09/22(水) 16:27:03ID:6Sww9jS910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。