以下の投稿。
http://dixq.net/forum/viewtopic.php?f=3&t=14959
ソースを見てみると、WinMain一つだけですね。
C言語初めて一年ですか…
このままいくと、最長不倒関数(ググってくださいw)になってしまう。
今は200行ぐらいですが、私なら耐えられません。
多くても100行ぐらいですよね?
へにっくすの掲示板日記
関数が一つしかないなんて。
Re: 関数が一つしかないなんて。
ゲーム部分のロジックを書いてると一つの関数に処理を完結させた方が直しやすいと感じることもあり、200行超えることがあります。
たとえばパズルゲームの連鎖判定とか、パネル移動だとか、シューティングのコリジョンだとかはかなり泥臭かったです。
メニュー項目やらシステム的な部分やらは必然的に一つ一つのメソッドが短くなるのですが、
10年以上のキャリアの人でもゲーム部分を書くとみんな行数が長くなってしまうのを見るとちょっと面白いです
だがコピペコードで一つの関数内を1000行以上にしてるやつ。てめぇはダメだ!
ちなみに件のトピックのようなコードを書く人を現場でよく見かけるのはここだけの話です。
たとえばパズルゲームの連鎖判定とか、パネル移動だとか、シューティングのコリジョンだとかはかなり泥臭かったです。
メニュー項目やらシステム的な部分やらは必然的に一つ一つのメソッドが短くなるのですが、
10年以上のキャリアの人でもゲーム部分を書くとみんな行数が長くなってしまうのを見るとちょっと面白いです
だがコピペコードで一つの関数内を1000行以上にしてるやつ。てめぇはダメだ!
ちなみに件のトピックのようなコードを書く人を現場でよく見かけるのはここだけの話です。
最後に編集したユーザー せんちゃ on 2014年4月18日(金) 09:18 [ 編集 2 回目 ]
Re: 関数が一つしかないなんて。
すいません、携帯から投稿していてバックボタンを押したら二重に投稿してしまいました(^-^;
最後に編集したユーザー せんちゃ on 2014年4月18日(金) 07:55 [ 編集 2 回目 ]
Re: 関数が一つしかないなんて。
その程度の長さで全部書いてあるだけならまぁかわいい方じゃないすかね……
今まさに
int main() が 54行目で,mainの終わりの } が540行目にあるコードを渡されて悶絶しているのですがw
main()しか無くて全部書いてある というわけではなくて,
なんつーか 十数個のソースファイルに分かれているが その分けた基準がよくわからないタイプ というかなんというか.
あと,どうやら「class = (構造体+メンバ関数)」ということになってる異界で書かれた模様..
別のコードに「ここから必要な機能部分を移植」して一本にしなくてはならないのですが,必要な部分ってどこどこなんですかねコレ.
とりあえずmainに埋め込まれた怒涛の処理群が新規だってことはわかるのですが,切り出せってか…
(ちなみにmainを眺めただけでメモリリークが10カ所くらいはありますよー)
今まさに
int main() が 54行目で,mainの終わりの } が540行目にあるコードを渡されて悶絶しているのですがw
main()しか無くて全部書いてある というわけではなくて,
なんつーか 十数個のソースファイルに分かれているが その分けた基準がよくわからないタイプ というかなんというか.
あと,どうやら「class = (構造体+メンバ関数)」ということになってる異界で書かれた模様..
別のコードに「ここから必要な機能部分を移植」して一本にしなくてはならないのですが,必要な部分ってどこどこなんですかねコレ.
とりあえずmainに埋め込まれた怒涛の処理群が新規だってことはわかるのですが,切り出せってか…
(ちなみにmainを眺めただけでメモリリークが10カ所くらいはありますよー)
Re: 関数が一つしかないなんて。
よく読むと入力制御と更新部分と描画部分をしっかり分けて書いてるのでそれぞれ関数化するだけでだいぶ変わってきそうな印象を感じます。
わざわざ各処理のスコープを書いているあたり関数化の概念そのものは知っていてもおかしくなさそうです。
ひょっとしたらテストコードなのかもしれません。
1年でこれなら将来的には優秀な人になりそうな気がしております。
わざわざ各処理のスコープを書いているあたり関数化の概念そのものは知っていてもおかしくなさそうです。
ひょっとしたらテストコードなのかもしれません。
1年でこれなら将来的には優秀な人になりそうな気がしております。
最後に編集したユーザー せんちゃ on 2014年4月18日(金) 10:59 [ 編集 1 回目 ]
- Hiragi(GKUTH)
- 記事: 167
- 登録日時: 14年前
Re: 関数が一つしかないなんて。
俺のことですね、もう5年近くやっているはずなのに投稿者さんより汚い俺ですね。
なんというか、もうちょっとちゃんと組めるようになりたい。
なんというか、もうちょっとちゃんと組めるようになりたい。
Re: 関数が一つしかないなんて。
同じような処理をする場合は、普通は関数やクラスに機能をまとめたほうが
ソースコードでコメントを読まなくても関数名だけで理解ができます。
これが大規模のMMORPGだと1つの関数では済まされません。
ソースコードでコメントを読まなくても関数名だけで理解ができます。
これが大規模のMMORPGだと1つの関数では済まされません。
Re: 関数が一つしかないなんて。
> せんちゃさん
スコープの使い方を見て、なぜ関数化しないんだ!と思ったのが最初の印象。
テスト用コード・・・うーんそれでも個人的にはいや(笑)
まあ確かに将来が楽しみだとは思う。
> usaoさん
メモリリークが見てバレバレということに、同情がわいてきました(笑)
お察しいたします。
頑張って解析して移植してください・・・m(__;)m
> Hiragi(GKUTH)さん
今まで、main関数一つで組んできたわけじゃないですよね?
それで5年??
(^^;
※少なくとも、今回の話題はそういうネタです。
> naohiro19さん
そのように組むのが理想的ですね。
MMORPGって何ですか。無知ですみません。
スコープの使い方を見て、なぜ関数化しないんだ!と思ったのが最初の印象。
テスト用コード・・・うーんそれでも個人的にはいや(笑)
まあ確かに将来が楽しみだとは思う。
> usaoさん
メモリリークが見てバレバレということに、同情がわいてきました(笑)
お察しいたします。
頑張って解析して移植してください・・・m(__;)m
> Hiragi(GKUTH)さん
今まで、main関数一つで組んできたわけじゃないですよね?
それで5年??
(^^;
※少なくとも、今回の話題はそういうネタです。
> naohiro19さん
そのように組むのが理想的ですね。
MMORPGって何ですか。無知ですみません。
- Hiragi(GKUTH)
- 記事: 167
- 登録日時: 14年前
Re: 関数が一つしかないなんて。
>>へにっくすさん
(^^;
さすがにmain関数一つで組んできたわけではありませんが、なんというか、プログラムを組んで「遊んでるだけ」ですので...
もうそろそろ本格的に始めたいと思う今日このごろでございます。
(^^;
さすがにmain関数一つで組んできたわけではありませんが、なんというか、プログラムを組んで「遊んでるだけ」ですので...
もうそろそろ本格的に始めたいと思う今日このごろでございます。
Re: 関数が一つしかないなんて。
> Hiragi(GKUTH)さん
本格的に始めたい。
と思ってるだけじゃ時間は過ぎるばかりですよ。
何か課題を設けないと。
授業か部活でプログラミング講座みたいなのがあればいいんですけどねえ。
本格的に始めたい。
と思ってるだけじゃ時間は過ぎるばかりですよ。
何か課題を設けないと。
授業か部活でプログラミング講座みたいなのがあればいいんですけどねえ。