ざんないプログラマァのアプリ開発日記

ゲームエンジンUnityを使って何か創る

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

向聴数を求める(1) 面子、塔子の組合せを探る

向聴数を求めるため、静的法により面子(順子/刻子)、塔子(辺塔/篏塔/両塔/対子)の組合せを求める。

静的法とは
【】面子、塔子の組合せを全て求める。
【】そのなかから向聴数が最低となる組合せを探す。

まず、面子、塔子の組合せを求める。
いままでのものを参考に、C++でガリガリ書く。
コンソールで確認できるものが一応できた。(*1)

例えば 1234 このような同じ種類の手牌ならば
123 4   順子 孤立
12 34   辺塔 両塔
12 3 4  辺塔 孤立 孤立
13 24   篏塔 篏塔
13 2 4  篏塔 孤立 孤立
1 234   孤立 順子
1 23 4  孤立 両塔 孤立
1 24 3  孤立 篏塔 孤立
1 2 34  孤立 孤立 両塔
1 2 3 4 孤立 孤立 孤立 孤立
という10パターンを出力する。(*2)

試しに清一系の手牌(14枚)をいくつか試す・・・(ソース直書き)・・・
・・・3万・・・2万・・・4万・・・・・・ごっ5万?!
なぜこんなにパターンがあるのだろうかと?

パターン数に応じてメモリは動的に増えるようにしたが(*3)、
携帯アプリを考えるならメモリ不足が心配。
また、組合を解析して思考に応用しようものなら
パターンが多すぎて時間がかかってしまうのではないか?

これではよろしくない・・・本当に正しいのか?
ファイル出力して確認してみよう・・・(´・д・`)




*1:
コンソールアプリケーションの開発には、
Visual Studio 2008 Standard Edition を使用。

*2:
鳴きなどで手牌の枚数は変化する。
よって、手牌は何枚でも判定できるよう作成する。

*3:
パターン数がわからないので、動的に増やすことができるよう vector を使用した。
vector はリサイズ等が発生すると倍のメモリを作られたりするので使うべきではない?のかも
  1. 2010/08/05(木) 17:42:24|
  2. 麻雀
  3. | トラックバック:0
  4. | コメント:0
<<向聴数を求める(2) 組合せの落し穴 | ホーム | 向聴数の計算方法>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://iphone3gsapplication.blog129.fc2.com/tb.php/27-1e897ab0
この記事にトラックバックする(FC2ブログユーザー)

ざんないブログへようこそ!

KOH

Author:KOH
【開発環境】
Win(XP/7)/Mac Mini
Unity Pro + iOS Pro
3ds Max 2011
VS2008

【iOSアプリ】

I-C (3D puzzle) - PETITDIGI2012/09/07
I-C (3Dパズル)

I-C (3D puzzle) Free - PETITDIGI2012/09/07
I-C (3Dパズル)無料

【Androidアプリ】
I-C (3D puzzle) Free - PETITDIGI2012/11/22
I-C (3Dパズル)無料

【サイト】
・Unity 3D Selfish Training
・Unity 3D でオリジナルキャラクターを表示させる
・サイトマップ

書籍

カテゴリ

開発日記 (68)
アプリ第1弾 (37)
iPhone (16)
麻雀 (15)
Unity 3D (82)
何か作ってみよう (10)
セーブデータ (5)
開発関連 (37)
その他 Unity (28)
3ds Max (11)
体験したみた (9)
その他 3ds Max (2)
Titanium (7)
Studio (4)
iPhone (1)
Android (2)
情報 (47)
書籍 (18)
iPhone (19)
PC (2)
テレビ (4)
コンシューマ (3)
その他 情報 (1)
3.11東日本大震災 (0)
未分類 (1)

RSSリンクの表示

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。