2012年5月7日月曜日

囲碁のゲームを作りたいのですが、何からはじめればいいのか分かりません。囲碁の...

囲碁のゲームを作りたいのですが、何からはじめればいいのか分かりません。囲碁のゲームは具体的に言うと。まずやyahooゲームのようにネット上でするものがいいのですが。

プログラミングに関してはまったく初心者で、Cが少しできるぐらいです







囲碁四段のプログラマーです。



① C言語を完璧にしてください。ライブラリの作成方法などもあいまいにせず完璧に理解してください。



② 他人のソースを見ないで、DOSベースのオセロのプログラムを作ってください。AIは弱くても構いません。

「2 4」と自分の手を入力したら「3 6」と相手の手が出力されるようなものでOKです。



③ もし②で挫折しなかったらたいしたものです。②と同じ要領でDOSベースの囲碁のプログラムを作ってください。AIは弱くても構いません。



④ 上記のことができれば、次にGUIの作成です。Visual C++を買って、勉強をします。



⑤ GUIが完成したら、ここで初めて人間対人間でプレイできるようにします。



⑥ 通信対戦を実装します。



⑦ AIを強化します。



⑧ ブラウザ上で実行したい場合、JavaかFlashに移植してYahooのようなゲームにできます。



辛く険しい道のりです。

②で挫折する人がほとんどですが、③④⑥はもっと辛いものだと思ってください。








最初は囲碁の碁盤を書いて碁石を置く事から始めては如何ですか。



次に各種のルールに合わせた打ち方が出来るようにする。

先行は黒、置石があった場合は白から始まる。また、置いてある石の上には置けないなどの処理です。

この他のルール全てを書くのは大変なのであなたが調べて下さい。



次に、時間制限や石が上がった処理を自動で出来るや対戦後の目数の勘定の自動化などあると便利な機能を追加するといいでしょう。



これだけ出来れば人間同士の対戦は出来ると思います。



後は囲碁の実力が物を言うのであなた次第です。

囲碁のアルゴリズムをプログラムに反映させればコンピュータとの対戦も出来るようになります。

しかし、上手に反映させないと強いプログラムは出来ません。







Cが少しできるなら



先は長いって事くらいはわかりますよね。







以後はすっごく難しいので、いきなり作るのは無理です。

ましてネット対戦は不可能でしょう。

まずは簡単な「オセロ」や「五目並べ」でも作って見てください。

もちろん最初はネット対戦機能はなしです。

最小のものを作ってから、徐々にネット機能などを追加していくといいですよ。

オセロのネット版ができたら、囲碁へ進みましょう。

ちなみに、囲碁はアルゴリズムがかなり難しいです。SE歴10年の私でも一人でつくることは不可能に思えます(汗)







卵が先か 鶏が先か・・・ まずは 囲碁とはなんぞや から理解を深め その上でプログラム構築でよいのではないでしょうか?







まずは、碁石の絵を書いてみてはいかがでしょう?



*************************************************

0 件のコメント:

コメントを投稿