ページ 11

ロジックの考え方

Posted: 2010年10月29日(金) 18:54
by 猫時計
プログラム以外の質問をさせて下さい。
プログラムを作ることにもなれC++のクラスの概念も大体理解し
簡単なシューティングゲームなら作れるようになりました。

しかしちょっと難しいロジックが入るとコードが書けないことが多々あります。
たとえばぷよぷよ等のパズルゲームの効率の良いロジックが思いつきません。
こういった難しいロジックでも書けるようになりたいです。

参考になるサイトや問題集、書籍などをご存じではないでしょうか?
また、パズルゲームなどが好きなので自分でも何か作ってみたいです。
皆様がプレイしたゲーム(Flash等でも可能)で面白かったものや変わっているゲームはないでしょうか?
ご存知でしたら紹介して頂けますと助かります。

Re:ロジックの考え方

Posted: 2010年10月29日(金) 21:39
by ゆーずぃ
とりあえず総当たりの考えを捨てるといいと思います。自分で見落としている前提などもあるので「これ、無駄なんじゃないか?」と常に考えてみるといいかもです。(例:cはaとbが成り立ったうえで定義されているのにaとc、bとcの判定をしてしまう、等)

参考というのなら7行プログラミングなんかいいかもしれません。
7行テトリス→ http://zapanet.info/blog/item/1125

Re:ロジックの考え方

Posted: 2010年10月29日(金) 22:12
by dic
http://www1.cts.ne.jp/~clab/algorithm/algorithm.html

http://www5c.biglobe.ne.jp/~ecb/algorit ... thm00.html

私もロジック(考え方)を詳しく知りたいのですが、なかなかそのような問題やサイトってないですよね
上にあるようなものがヒットしましたけど参考になるかな

体系的に学びたいと思ってますが、大学に行かないとそういったところはないんでしょうかね・・・

Re:ロジックの考え方

Posted: 2010年10月29日(金) 22:42
by softya
ゲームで役立つアルゴリズムは体系的に学ぶのは難しいと思います。

「ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室」
http://d.hatena.ne.jp/seikenn/20090627/1246028707
「パズル問題解法のアルゴリズム」
http://www.ic-net.or.jp/home/takaken/pz/index.html
「地球にやさしいアルゴリズム---目次 - 地球にやさしいアルゴリズム:ITpro」
http://itpro.nikkeibp.co.jp/article/COL ... ST=develop

あまりサイトや書籍に頼ると自分で考える力が付きませんので、出来れば自分で考えた方が良いと思います。
まぁ、問題集の答えを先に見るようなもので、分かった気になってしまうのが最大の問題でしょうね。

Re:ロジックの考え方

Posted: 2010年10月31日(日) 05:36
by dic
猫時計さんとはロジックの考え方ということでは違うかもしれませんが

なぜ、このアルゴリズムを選んだのか? what?
ではなく
どのようにして、アルゴリズムを組み立てプログラムを完成させるのか?
という How? という「どのようにしてシューティングを組むのか?」という
ところがなかなか難しいです

how どのようにして? に対して
今までのやり方を1~10覚えておき これらを応用するという方法で解くのが
今の私の考え方です
なので、普及しているやりかたを一通り覚えておきたいというのが私の気持ちです

その上で、自分なりの考え方を付け加えたいと思ってます

//------------------------------------------------------
多くみかけるのが、フレームワークを準備してからこれに後付けするという手法です
たしかに、フレームワークがあるのはいいのですが、これを作るのがとても大変ですし
フレームワークを理解するのも、また一苦労です
とはいっても私が作るフレームワークより、販売されているフレームワークのほうが
よっぽど性能も拡張性もいいんですよね
そのどのようにして、作るか?というところが私の課題です 画像

Re:ロジックの考え方

Posted: 2010年10月31日(日) 08:57
by たいちう
> しかしちょっと難しいロジックが入るとコードが書けないことが多々あります。
> たとえばぷよぷよ等のパズルゲームの効率の良いロジックが思いつきません。
> こういった難しいロジックでも書けるようになりたいです。

効率の悪いロジックならば思いつくのですか?
エレガントなアルゴリズムに憧れるのは分かりますが、
泥臭くても実際に機能するアルゴリズムを完成させられることが第一です。

効率の良いアルゴリズムで完成 ≧ 効率の悪いアルゴリズムで完成 >> 完成できない
(等号成立は効率が重要でない場合など)

例に出ているぷよぷよの場合、効率の良いアルゴリズムはWeb上ですぐに見つかるでしょうが、
学習の為には、まずは自分で考えて書いてみることが大事だと思います。
とりあえず動くもの(この場合は正しく判定できる関数)を作ってみましょう。
どうせ調べたあとで置き換えてしまうプログラムですが、
自作した後の方が他人のアルゴリズムの本質を理解しやすいはずです。
また、自分で考えて実装する力を養う事ができます。

Re:ロジックの考え方

Posted: 2010年11月06日(土) 10:48
by 猫時計
回答が遅くなってすみません。

皆さんご回答ありがとうございます。
頂いたURLを見させて頂きます!!

やはり自力で動くものを作ることが大切ですよね・・・。
皆様ありがとうございました。