ゲーム作成の定石 への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 るきお(管理者)  (社会人) 投稿日時 2009/1/22 04:21:44
こんにちは。
配列の件は問題ないようですね。
作成者として簡単ですが質問におこたえします。

>本講座のオセロの作り方は、管理人さんが独自で考えられたアルゴリズムなの
>でしょうか?
はい。そうです。
ただ、「独自で考えたと」いうかだいたいの人は同じような作り方をするのではないかと思います。
クラスの使用や設計などは異同があるかもしれませんが、「アルゴリズム」と
おっしゃるのであれば素直に作れば講座で紹介しているようなものになるのではないかと思っています。

コンピュータの思考ルーチンに関してはわからないです。
きっともっとぜんぜん違う組み方があると思います。

>簡単にいいますと、落ちものゲームを作るとき、ある定石Aがあるとします。
>しかし、他のBという方法で作ることも可能なのでしょうか?
もちろん可能ですが、同じものを目指すのであれば結局みんな同じようなつくりをすると思います。
最小の労力で最大の成果をあげようとする点でほぼ全員が一致しているためです。


投稿者 syokyu  (社会人) 投稿日時 2009/1/21 04:54:38
大変失礼しました。ごめんなさい。
投稿者 るしぇ  (社会人) 投稿日時 2009/1/21 04:39:34
第52回 実技4 オセロでマスを作成
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard52.htm
>4.クリックしたセルに石を置く
> …
> Dim m_Cells(XCount - 1, YCount - 1) As Cell '全セルを表す配列

。。。使ってる。。。よね???
投稿者 syokyu  (社会人) 投稿日時 2009/1/21 04:24:34
回りくどい言い方をしてしまいましたが(というか意味不明な日本語になってしまってすみません)
管理人様に初級講座第52回 実技4 オセロでマスを作成するのに配列を使わなかった
理由をお尋ねしたかったのです。
配列を使った方が、より簡単なプログラムを組めるような気がしたのですがいかがでしょうか
(生意気なようですみません)
投稿者 刈谷勇  (社会人) 投稿日時 2009/1/21 01:31:44
質問の内容があまり理解できていないのですが、定石とは具体的にはどのようなことをさしているのでしょうか?
以下推測の書きます。

1.コンピュータの指向ルーチンについての場合
 オセロの場合でも、人それぞれに考え方(角をなるべく取るように打つ人、とにかく多くひっくり返せるように打つ人等)がいますので考え方は無数にあると思います。

2.プログラムの作り方についての場合
 これについては、定石といっているものの精度によると思います。
たとえば、オセロでは
  1.白と黒の石を中央におく
  2.白の人が現時点での一番いい手を考える
  3.石を置く
  4.ひっくり返せる石をひっくり返す
  5.黒の人の番になる
という考え方をする人がほとんどと思いますが、4.の内容を細かく見たときどのようにひっくり返す石をどのようにして探すかは人それぞれになると思います。(これは、10回ループを繰り返すプログラムを作るのにForを使う人もいれば、Whileを使う人もいるということと同じです)

なんかまとまりがつかないですが、このようなことでよろしいのでしょうか?
投稿者 syokyu  (社会人) 投稿日時 2009/1/20 23:38:55
囲碁とか五目並べ、トランプなどは配列を使い、剰余などからインデックスの位置を調べたりする手法がとられることが多いですが、本講座のオセロの作り方は、管理人さんが独自で考えられたアルゴリズムなの
でしょうか?
というのは、いろいろなゲームがありますが(落ちもの、シューティングなど)、それらはほとんど
ある定石があり、それに基づいて作られていると思うのですが、他にも多様なアルゴリズムが存在
するのでしょうか?
簡単にいいますと、落ちものゲームを作るとき、ある定石Aがあるとします。
しかし、他のBという方法で作ることも可能なのでしょうか?
よいうことです。