5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

おまいら最強の麻雀プログラムしてみろよ!!

1 :桜井章一:03/03/22 11:18
できたら、インド洋やるから。

2 :デフォルトの名無しさん:03/03/22 11:19
1001

3 :デフォルトの名無しさん:03/03/22 11:19
1002

4 :デフォルトの名無しさん:03/03/22 11:20
1003

5 :デフォルトの名無しさん:03/03/22 11:39
それより最弱の脱衣マージャンつくってくれ

6 :デフォルトの名無しさん:03/03/22 11:50
母「おい、おまいら!!夕食ができますた。リビングに集合しる!」
父「詳細キボーヌ」
母「今日はカレーですが、何か?」
兄「カレーキターーーーーーーーー」
妹「キターーーーーーーーーー」
姉「カレーごときで騒ぐ奴は逝ってヨシ」
母「オマエモナー」
父 --------終了-------
兄 --------再開-------
妹「再開すなDQNが!それより肉うpキボンヌ」
母「ジャガイモうp」
姉「↑誤爆?」
兄「タマネギage」
父「ほらよ肉>家族」
妹「神降臨!!」
兄「タマネギage」
母「糞タマネギageんな!sageろ」
兄「タマネギage」
姉「タマネギage厨uzeeeeeeeeeeee!!」
母「ageって言ってればあがると思ってるヤシはDQN」
セールスマン「イタイ家族がいるのはこの家ですか?」
母「氏ね」
父「むしろゐ`」
兄「タマネギage」
妹「兄 、 必 死 だ な ( 藁 」

7 :デフォルトの名無しさん:03/03/22 17:09
作ったらどこへアップしよう・・・

8 :デフォルトの名無しさん:03/03/22 17:09
すごいデジャブがあるんだが・・・気のせいか?

9 :デフォルトの名無しさん:03/03/22 17:15
>>5
あなたがCPUに負けたら脱ぎます。もちろん引き分けじゃ脱ぎません。

10 :小さな器(コピペ推奨):03/03/22 17:39
<血液型A型の一般的な特徴>(見せかけのもっともらしさ(偽善)に騙されるな!!)
●とにかく神経質で気が小さい、了見が狭い(臆病、二言目には「世間」(「世間」と言っても、一部のA型を中心とした一部の人間の動向に過ぎない))
●他人に異常に干渉して自分たちのシキタリを押し付け、それから少しでも外れる奴に対しては好戦的でファイト満々な態度をとり、かなりキモイ(自己中心、硬直的でデリカシーがない)
●妙に気位が高く、自分が馬鹿にされるとカッと怒るくせに平気で他人を馬鹿にしようとする(ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際にはたいてい、内面的・実質的に負けていることが多い)
●権力・強者には平身低頭だが、弱者に対しては八つ当たり等していじめる(強い者にはへつらい、弱い者に対してはいじめる)
●あら探しだけは名人級でウザく、とにかく否定的(例え10の長所があっても褒めることをせず、たった1つの短所を見つけては貶す)
●基本的に悲観主義でマイナス思考に支配されているため性格が鬱陶しい(根暗)
●何でも「右へ習え」で、単独では何もできない(群れでしか行動できないヘタレ)
●少数派の異質・異文化を理解しようとせず、あるいは理解を示さず、排斥する(差別主義者、狭量、視野が狭い、多数派=正しい と信じて疑わない)
●集団によるいじめのリーダーとなり皆を先導する(陰湿かつ陰険で狡猾)
●他人の悪口・陰口を好むと同時に、自分は他人からどう見られているか、人の目を異常に気にする(自分がそうだから容易に他人を信用できない、ポーズだけで中身を伴っていない、世間体命)
●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(同じことをレコードの再生のように何度も言って変)
●たとえ友達が多い奴でも、いずれも浅い付き合いでしかなく、心の友達はおらず孤独(心の感度が低く、包容力がなく、冷酷だから)
●頭が硬く融通が利かないためストレスを溜め込みやすく、また短気で、地雷持ちが多い(不合理な馬鹿)
●たとえ後で自分の誤りに気づいても、素直に謝れず強引に筋を通し、こじつけの言い訳ばかりする(もう腹を切るしかない!)
●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(例:「俺のほうが男前やのに、なんでや!(あの野郎の足を引っ張ってやる!!)」)

11 :デフォルトの名無しさん:03/03/22 23:06
たまねぎage

12 :デフォルトの名無しさん:03/03/23 00:04
保守

13 :デフォルトの名無しさん:03/03/23 00:10
>>8
前スレあるよ。
http://pc2.2ch.net/test/read.cgi/tech/1044446158/

14 :デフォルトの名無しさん:03/03/23 11:02
前スレなんていらないよ。
どうせ堂堂巡りなんだから…。
それよりも、つくっている人がいるのか?

15 :デフォルトの名無しさん:03/03/23 19:57
たまねぎage

16 :デフォルトの名無しさん:03/03/24 05:02
ここはVBで麻雀つくるスレですね〜

17 :デフォルトの名無しさん:03/03/24 10:57
>>16
むしろVBAです。

18 :デフォルトの名無しさん:03/03/24 11:44
JAVAで作ってるんだけど、なかなか時間がとれなくて

19 :デフォルトの名無しさん:03/03/24 12:08
結局、前スレではソースは出たの?
URLきぼん

20 :デフォルトの名無しさん:03/03/24 17:52
どうせ荒れるんだからゲ作板でやれよ

21 :デフォルトの名無しさん:03/03/24 18:01
おまえがな

22 :デフォルトの名無しさん:03/03/24 20:17
2 0 逝 っ て よ し

23 :デフォルトの名無しさん:03/03/24 23:36
たまねぎage

24 :デフォルトの名無しさん:03/03/25 09:15
なんだ、この程度しか釣れないのか
河岸を変えてみるか

25 :デフォルトの名無しさん:03/03/25 12:27
で,完成したのか?

26 :デフォルトの名無しさん:03/03/26 03:15
たまねぎage

27 :デフォルトの名無しさん:03/03/27 00:40
前すれで作ってたやしはもう開発止めちゃったの?

28 :247:03/03/27 00:58
>>27
いろいろ考えすぎて、今何故か東風荘のスコア集計ツール作ってる。

29 :デフォルトの名無しさん:03/03/27 02:47
もう高機能集計ツールあるから作らないくていいよ

30 :247:03/03/27 03:04
正確には牌譜読み込み、再生ツールだな。
これでmjscoreを使った待ち牌当てゲームをつくって、
AIに解かせてみようかと。

31 :デフォルトの名無しさん:03/03/27 03:51
牌譜読み込み、再生ツールは既に使えるやつがあるよね

32 :デフォルトの名無しさん:03/03/27 17:08
age

33 :デフォルトの名無しさん:03/03/27 21:17
package kernel.game;

public class Game {
private YamaHai yamaHai;
private Player[] player;
private int numberOfPlayer;
private HaiOfPlayer[] haiOfPlayer;
public void run(){
setup();
int count=0;
while(true){
int playerPointer=count%numberOfPlayer;
Hai pick=yamaHai.getNext();
haiOfPlayer[playerPointer].add(pick);
Hai drop=player[playerPointer].tumo();
haiOfPlayer[playerPointer].remove(drop);
count++;
}
}
private void setup(){
}

}

ここまで作って停滞中

34 :デフォルトの名無しさん:03/03/27 22:01
常にcomが起家になり、いきなり「天和・字一色・大三元・四暗刻」
を上がる。これこそ最強の麻雀ソフト。しかもプログラミングは簡単。

やってみれば?

35 :デフォルトの名無しさん:03/03/27 22:02
>>34
積み込みって言うんだよね。そういうの。

36 :デフォルトの名無しさん:03/03/27 23:18
でも、ちゃんと全部の役判定と思考ルーチンもかかなきゃ麻雀ゲームではないな

37 :デフォルトの名無しさん:03/03/28 11:06
age

38 :デフォルトの名無しさん:03/03/28 15:41
配牌 白白白發發發中中11223九
九切ってダブリー 0点
白切って七対狙い 0点+気持ち2点

39 :デフォルトの名無しさん:03/03/28 23:13
>>33
ガンガレ


40 :デフォルトの名無しさん:03/03/29 11:56
>>38
九きってダブりーしないだろw
大三元四暗刻狙え!!

ってか点数の意味がわからんぞ…

41 :デフォルトの名無しさん:03/03/29 12:57
>>40
ダブリーはだめだから0点では?

42 :デフォルトの名無しさん:03/03/29 13:50
>>41
なるほど、
ダブりーするプログラム・白をきるプログラムは組むなってことか…

それにしても、気持ち2点の意味がわからん…

43 :デフォルトの名無しさん:03/03/29 20:27
つーか、当たり前すぎて・・・

44 :デフォルトの名無しさん:03/03/30 11:35
九を切る場合がないわけではない。
・オーラスで自分が親でない
・自分が現在トップまたはこれであがれば逆転可能
小三元(2)・ホンイツ(3)・イーペー(1)・ハク(1)・ハツ(1)・ダブリー(2)

ロンなら10翻―16000、ツモで11翻−12000の6000(計算違ってたらすまん)

金をかけてたら、死に物狂いでチュンを鳴(ry

45 :デフォルトの名無しさん:03/03/30 11:56
>>44
一行目と反して、9切ってる結果じゃん

46 :44:03/03/30 12:31
cout << 汗() << 恥() << 涙() ;

47 :デフォルトの名無しさん:03/03/30 13:02
>>44
チャンタってしてますか?

48 :デフォルトの名無しさん:03/03/30 13:08
そう言うのなら、少しだけ。
13はある人の意思に従い死んでくれと書いた。
が、それは既に過去のこと。

あれから俺は改心し頭も使う様になった。

その証拠にこれを残そう。
死んでくれ。
そう書いたときにお前は俺がうそ?と思うと思った。

だからマジで(wと書いた。

俺はお前が思っているような人間じゃない。
もし気が触れていたのなら悪かった。
謝ろう。

それじゃぁ。


49 :44:03/03/30 13:23
あ、そかそか。チャンタもあったね(汗
えーっと、チャンタ(2)があれば、ロンで3倍満、ツモで数え役満、でいいのかな?

50 :デフォルトの名無しさん:03/03/30 13:59
>>44
>九を切る場合がないわけではない。
>・オーラスで自分が親でない

これはどーいう意味?

51 :デフォルトの名無しさん:03/03/30 14:00
天和積みこみ(終)

52 :デフォルトの名無しさん:03/03/30 14:58
>>51
既出です

53 :デフォルトの名無しさん:03/03/30 15:26
>>1

ぎゃはははははははぎゃはははははははぎゃはははははははぎゃはははははははぎゃはははははははぎゃはははははははぎゃはははははははぎゃはははははははぎゃはははははははぎゃはははははははぎゃははははははは

54 :デフォルトの名無しさん:03/03/30 15:40
>>53
brainfuckの変形?

55 :デフォルトの名無しさん:03/03/30 16:15
>九を切る場合がないわけではない。
>・オーラスで自分が親でない

もうしわけない。こういうことを言いたかったのだが。

配牌 白白白發發發中中11223九

必ずしも、大三元ねらいである必要はない。ダブリーでもいいのではないか。
☆大三元でなくともよい条件:
 ・自分が現在トップまたはこれであがれば逆転可能。
 ・オーラスで自分が子であり、上がればその場でゲームが終了する。

でもなぁ、これも考え様かなぁ……
九、1、2と落としてもっと上がりやすい牌で待ったほうがいいのかも。

56 :デフォルトの名無しさん:03/03/30 21:57
age

57 :デフォルトの名無しさん:03/03/31 17:13
>>54
BrainFuckって文字変えればいくらでも変なものができる気がするよな

58 :デフォルトの名無しさん:03/03/31 23:08
age

59 :デフォルトの名無しさん:03/04/01 15:11
age

60 :デフォルトの名無しさん:03/04/01 15:44
ageるだけじゃなくて完成品をうpれよ

61 :デフォルトの名無しさん:03/04/01 18:24
2chで何か共同で物を作る、というのはありえない幻想なんだよな。
Winnyみたいに誰かパワーがあるヤシが頑張ってくれないと。
というわけでお前らがんがれ。期待してまつ。

62 :デフォルトの名無しさん:03/04/01 19:13
>>1のインド洋がまずいんだよ。
やっぱりNASAのが欲しいし。

63 :デフォルトの名無しさん:03/04/02 14:11
神降臨しないかなぁ

64 :デフォルトの名無しさん:03/04/02 16:47
> 2chで何か共同で物を作る、というのはありえない幻想なんだよな。
でも、ちゃんとしたテンプレートがあってそれで競うのであれば……という気もするが。

配牌だけでもするサーバとクライアントのテンプレートを希望。

65 :64ぐらい:03/04/02 17:01
>いろいろ考えすぎて、今何故か東風荘のスコア集計ツール作ってる。

サーバーに求める機能
・点数計算
・配牌

クライアントに求める機能
・(点数計算?)
・(とりあえず)ツモ切り

だけでいいっす。
残りの牌が何枚だとか、そういう処理は個々人がやればいいのでは?

66 :デフォルトの名無しさん:03/04/02 21:56
個々人でやるさ

67 :デフォルトの名無しさん:03/04/02 21:57
いきなりCPUが役満できるように
プログラム組んだらいいだけやん

68 :デフォルトの名無しさん:03/04/02 23:45
>>67
過去自身満々でそんなことを言った奴が何人居たことか…

69 :デフォルトの名無しさん:03/04/03 10:20
あぁ、次のスレたつかどうかしらんが、そのときには>1に

「いきなりCPUが役満できるように
プログラム組んだらいいだけやん」

とかほざかないように、注意書きが欲しいな……


70 :デフォルトの名無しさん:03/04/03 14:37
結局スレたてた>>1は馬鹿?


71 :デフォルトの名無しさん:03/04/03 14:55
結局堂々巡りだな

72 :デフォルトの名無しさん:03/04/03 18:58
ドンジャラにかえよう!

73 :デフォルトの名無しさん:03/04/03 21:42
2ちゃんねるのドンじゃら作ろうよ・・・ってどこかにスレあったな。

74 :デフォルトの名無しさん:03/04/04 00:05
ドンジャラはクソ

75 :デフォルトの名無しさん:03/04/04 00:08
>>55
さすがにそれでダブリーかけてたら負け組かと思う

76 :デフォルトの名無しさん:03/04/04 01:56
メンタンピンドラドラドラカッコイイ

77 :デフォルトの名無しさん:03/04/04 02:12
>>2ちゃんねるのドンジャラ
2ぢゃんねるっていうのが既にある

78 :デフォルトの名無しさん:03/04/04 23:57
>>76
メンチンピンの方がカッコイイですが何か?

79 :デフォルトの名無しさん:03/04/04 23:58
男どものチンコをゆぴでピン。略して

80 :デフォルトの名無しさん:03/04/05 00:00
メンタンピンドラドラドラのほうが
「チリも積もって」って感じでよい。

そんなこといったらトリプルヤクマンが一番カッコイイもんな

81 :デフォルトの名無しさん:03/04/05 00:17
麻雀関連って名前のセンス悪すぎ。

ノンタンドナドナドナとかトリプルタフマンとか。プププって感じ。

82 :デフォルトの名無しさん:03/04/05 00:26
ワンタンメンドラドラ

83 :デフォルトの名無しさん:03/04/05 16:52
トラトラトラは好きですが何か?

84 :デフォルトの名無しさん:03/04/07 16:00
神よ早くVBで創れ

85 :デフォルトの名無しさん:03/04/13 16:06
あほなプログラムもかけない厨房>>1
晒しage

86 :デフォルトの名無しさん:03/04/13 16:08
史上最強って?
どうせ、絶対あがれないように
プログラム組んだらいいだけだ

役満以外全部チョンボみたいにして
CPU側しか役満出ないように汁

87 :デフォルトの名無しさん:03/04/13 16:31
ガイシュツです

88 :デフォルトの名無しさん:03/04/13 19:22
やばい・・・弱いよオレ

今自分で作ったAIと対戦してるんだけど全然勝てない。

89 :デフォルトの名無しさん:03/04/13 23:04
あたりまえだろ、そんな天和しか出してこないAI

90 :デフォルトの名無しさん:03/04/14 13:54
なんでスレタイにPART2とかつけなかった?
>>69に同意。
前スレのときは結構ROMってたのになあ。

91 :デフォルトの名無しさん:03/04/14 19:19
とりあえず、「麻雀プログラム作れたら一流プログラマ」ってことで釣っていこう

92 :山崎渉:03/04/17 15:27
(^^)

93 :デフォルトの名無しさん:03/04/18 09:26
アゲ

94 :デフォルトの名無しさん:03/04/18 09:44
白一色みたいに
白が何枚もCPU側に出るようにしとけ

95 :デフォルトの名無しさん:03/04/18 11:50
というか、「CPUもプレイヤーと同じ条件」という前提じゃねーの?


96 :デフォルトの名無しさん:03/04/18 20:35
あたりまえです。

97 :山崎渉:03/04/20 03:43
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

98 :デフォルトの名無しさん:03/04/23 06:34
おまえら、はやく作れ

99 :デフォルトの名無しさん:03/04/23 09:17
その前に麻雀強くなれ。
で、その思考過程を再現すればええ。
いちばん難しいのは面前のダマテンの警戒かも。

100 :デフォルトの名無しさん:03/04/23 09:21
あ、面前→門前。。。

101 :デフォルトの名無しさん:03/04/23 13:05
>>1よおまえがこんなスレ立てる前に
考えることがあるだろ
最強ってどういうことを最強っていうんだ
ハンディキャップがあっても勝てるのか?え?こら
まずきちんと内容かけや

102 :デフォルトの名無しさん:03/04/23 14:53
>>101
必死だな。そんなにインド洋が欲しいのか。

103 :デフォルトの名無しさん:03/04/23 14:55
最強の麻雀思考はあるのですが

104 :デフォルトの名無しさん:03/04/23 15:02
相手に0.5秒しか時間をあげないプログラムでいいのでは?
CPU側は無制限で

105 :デフォルトの名無しさん:03/04/23 15:03
>>102
インド洋は欲しくないが
西インド洋は欲しい

106 :デフォルトの名無しさん:03/04/24 01:56
>>103
それがわかりゃ苦労しないと思うが・・・。

107 :デフォルトの名無しさん:03/04/24 02:24
・基本は手なり
・不要牌の順は孤立している数牌>オタ風>残りの字牌>普通の数牌>ドラ側>ドラ
・状況によって優先順位を変更(読まれないように時々はランダムに変更)
 例えば、他家の聴牌を予想したら安全牌を中心に切るように変更
・見える牌(捨て牌、晒し牌、他家が確実に持っていそうな牌)から
 残りの牌を割り出し、壁や手役などの読みに常用する
・上家が牌を捨てた後のプレーヤの鳴き反応(ツモまでのタイムラグ)をチェックして手役を予測

書いてて飽きてきた。

108 :デフォルトの名無しさん:03/04/25 18:31
さぁーてと、暇つぶしに書き始めたのだが、いきなり詰まった。

4人の持っている牌の管理はサーバに一任したほうがいいのかな、やっぱり。
でもそうすると今度は他のプレイヤーの牌を覗く方法が見つかる可能性も。

むうがーー

109 :デフォルトの名無しさん:03/04/25 19:11
>>108
何でサーバ側にあるデータを他のプレイヤーが覗けちゃうの?

110 :デフォルトの名無しさん:03/04/25 20:21
麻雀で強いかどうか以前に
イーシャンテンを判定するだけでも結構難しい

111 :デフォルトの名無しさん:03/04/25 20:38
↑お馬鹿さま。

112 :デフォルトの名無しさん:03/04/25 23:12
>>107
ロジカルな判定は2点目だけですね。

113 :デフォルトの名無しさん:03/04/27 16:35
>>108
クライアントサーバ型にすると、対戦できて楽しそうだね。
その場合は、プロトコルだけ決めて、クライアントは各自勝手に作るということでいいかも。
ズルのほうは気にしなていいんじゃないのかな。

もう一つの方向は、場の状況を食わせると、結果(「何もしない」「なく」「捨てる」etc.)を返す
子プログラムを束ねる親プログラムを作るというやりかたかな。

前者だと手動参加も可能になるんで個人的にはこっちでやってほしいなあ。

114 :デフォルトの名無しさん:03/04/29 14:13
開発者が自分のプログラムをサーバにアップする。
サーバは配牌などの制御を行い、自動対戦させる。
運の要素を出来るだけ排除するため、常に対戦させつづけ
途中経過という形でweb上に結果を自動で発表する。
使用言語はperlで統一。




115 :デフォルトの名無しさん:03/04/29 16:27
あーー、ごめんなさい、Javaをこのためだけに始めました(;;)perlじゃないです。

>何でサーバ側にあるデータを他のプレイヤーが覗けちゃうの?
自分を他のプレイヤーと偽ることができれば牌の情報を取得できるかも……という不安が。

とりあえず、牌につけるマジックナンバーは、これでいいかい?

ソウズ 11-19
ピンズ 21-29
マンズ 31-39
東南西北 41,43,45,47
白発中 51,53,55
赤5  ソウズ・ピンズ・マンズで+64 判定時に>64な牌があったら1翻つけて-64

判定のやりやすさを考えて字牌は2飛びにしておく。
赤5はソウズなら15+64=79、ピンズ25+64=89、マンズ35+64=99

116 :デフォルトの名無しさん:03/04/29 16:57
>>115
ゲーム中はセッション張りっぱなし専用にして
セッションで識別すれば、途中で他人が偽ることなんてできないでしょ。
切断復帰とか、長期的記録するなら認証すればいいだけだし

マジックナンバーはまあなんでもいいんだけど
十進数にしてるのは人間が視認しやすいためかと思ったら赤では64足すのか。
漏れなら0-8, 9-17, ...みたいに詰めるけど、まあ別に大したことではないか。

ところで字牌だけど、1つおきだとどう判定がやりやすくなるの?
字牌かどうか意識しないでまとめて連続した数字だと塔子にする、とか考えてるなら
カンチャン待ちを考慮したときにひっかかるよ。
それに字牌かどうかは数字の範囲でわかるので、そんな細工しなくていいと思う。

#牌の識別考えるなら、漏れは同一牌表記4枚それぞれに別のIDが振られるシステムにして
#赤はルールのほうで一意に特定IDに属性が付くようにしたいなあ。
#牌の追跡もしやすいし。(というか昔そういうの作った)

117 :デフォルトの名無しさん:03/04/29 19:33
>ゲーム中はセッション張りっぱなし専用にして
そうやねー、じゃ、そうする方向で。

>カンチャン待ちを考慮したときにひっかかるよ。
ぐはぁ!そういえば・・・・・・あんまり意味ないなぁー
じゃあ字牌はつめて、と。

>漏れなら0-8, 9-17, ...みたいに詰めるけど、まあ別に大したことではないか
とりあえず、テストはコンソール上でやりたいので、見た目が簡単なほうで。

m=n+1;
switch(m){
case 20: m = 11; break;
case 30: m = 21; break;
case 40: m = 31; break;
}

>牌の追跡
点数計算を考えると、計算するときには
同種の牌を全部同じ識別子にしたほうが楽だから・・・・・・

ソウズ 11-19
ピンズ 21-29
マンズ 31-39
東南西北 41,42,43,44
白発中 51,52,53

1枚目 +100 2枚目 +200 3枚目 +300 4枚目(赤) +400

例えば、白4枚なら、151,251,351,451
これを得点計算の時は% 100 すれば 51,51,51,51

118 :デフォルトの名無しさん:03/04/29 19:35
あ、消し忘れた。

m=n+1;
switch(m){
case 20: m = 11; break;
case 30: m = 21; break;
case 40: m = 31; break;
}
はドラ表示牌をnとしたときドラ牌mはどれかのチェック、こんな方法でもいっかなぁー?

119 :デフォルトの名無しさん:03/04/30 06:21
がんば

120 :デフォルトの名無しさん:03/04/30 07:46
連続がんば from 麻雀ソフト作家

121 :110:03/04/30 18:33
馬鹿なんだろうけど、やっぱりイーシャンチェックは結構難しいよ

アガれるときの14枚の牌から
メンツのすべての組み合わせを列挙することはでけた。
たとえば111222333は123 123 123とも111 222 333とも考えられる

後は再帰で聴牌だろうがイーシャンテンだろうがでけるけど
聴牌チェックにしても
37種の牌ですべて再帰すると純粋に37倍時間がかかるので
結構奥が深いね

122 :110:03/04/30 18:37
あ、37種ではないや
もう少しいいアルゴリズムはないかと思案中

123 :120:03/04/30 19:10
>馬鹿なんだろうけど、やっぱりイーシャンチェックは結構難しいよ
CPUがバカでいいなら一向聴を判定する必要はない。
判定するなら、完成したメンツor対子をすべて抽出してから、
一向聴の余剰牌パターン(例:孤立牌2個(くっつき待ち))に
マッチするかどうかチェックすればよい。
当然、七対子や国士は別判定。

>たとえば111222333は123 123 123とも111 222 333とも考えられる
面子の抽出を順子と刻子どっちから始めるか2通りあるよね。

>37種の牌ですべて再帰すると純粋に37倍時間がかかるので
全牌で調べる必要なんて無し。
待ちのパターンによって必要な判定はかなり減る。

124 :デフォルトの名無しさん:03/04/30 21:50
いきなり役満するようにしたらいいじゃん。

125 :デフォルトの名無しさん:03/05/01 11:09
「俺って天才?」って思いながら書いた124に哀れみを感じながら。

イーシャンテンは次のようなチェックで簡単に出来そう。
持っている牌の前、自分自身、後ろの牌
(ピンズの5なら、4、5、6)をチェックする牌リストに追加。

で、精々15枚の牌を順次足しながら聴牌チェックすればいい。
そのとき余った牌が捨てた牌にあるようならばショボーンと。

126 :デフォルトの名無しさん:03/05/01 11:10
15枚じゃないじゃん、ショボーンと。
でも、O(n)ならぜんぜん問題ないと思われ。

127 :デフォルトの名無しさん:03/05/01 18:35
>たとえば111222333は123 123 123とも111 222 333とも考えられる
馬鹿?
聴牌チェックは、その2通りのどちらであろうが関係ない
面子が3つ出来てるということだけが必要

128 :デフォルトの名無しさん:03/05/01 20:12
>>127
バカは馬鹿だけど、それはそれで重要。
面子の分解パターンを把握しておくことは
思考ルーチンの負荷軽減になる。

129 :デフォルトの名無しさん:03/05/01 21:16
>>127
そんなことは知っている。

アガリ役の決定のときにどうせ必要かと思ってやってみた。それに
それは途中でアガリパターンが存在すればリターンするかそのまま
継続して探すかというだけの違いなのでそんなのはいつでもできる

111222333の場合
イーぺーピンフ3アンコウとかは当然ありえないわけだし
ある程度まとまりにして列挙しておいた方が
点計算がしやすいかとおもわれ

アガリパターンが二つあったときどちらを選択するかっていう問題は
点の高いほうを選択するんでしょうか?

130 :デフォルトの名無しさん:03/05/01 21:30
>>129
111222333一一七八 九ロン
は順チャンピンフイーペーこーだし
111222333一一七八 六ロン
は三アンコウのみ

極端な例で、ドラもなんもないとき
三レンコウも一色三順もナシならね

131 :デフォルトの名無しさん:03/05/02 00:52
必ず高いほうを選択する(最大申告の義務がある)。
符の計算は考慮してる?
56789一一一二三四八八 7ツモ
なんてときはペン7待ち扱いにしなきゃいけないわけだが。

132 :デフォルトの名無しさん:03/05/02 01:24
別に義務はないよーな・・
それに点数計算はサーバ側でやるのがりそう・・・といってみるてすと

133 :デフォルトの名無しさん:03/05/02 02:12
>>132
鯖は当然やらなきゃならないけど、
点数計算ができないプログラム=麻雀ができないプログラムじゃん。

ルールを効率よく処理する(はずの)具体的なロジックの提示は歓迎だが、
麻雀の当たり前のルールを偉そうに書くアホがいるのにはうんざりだ、
っていう趣旨なら同意。



134 :デフォルトの名無しさん:03/05/02 02:16
4枚使いのチートイはアリ?

135 :デフォルトの名無しさん:03/05/02 02:26
>>133
当たり前のルールすら知らなそうなわけだが。
こりゃ先が長えわ。

136 :126:03/05/02 09:27
今、手の牌が、「111222333一一七八」だったら、
当たり候補は1234二六七八九になって、
そのうち4メンツ2ジャントウになるのは六九、

六と九をくっつけたとして
1をトイツに見る、2をトイツに見る、3をトイツに見る、一をトイツに見る→失敗
1をトイツに見る、2をトイツに見る、3をトイツに見る、一をジュンツに見る→失敗
1をトイツに見る、2をトイツに見る、3をトイツに見る、六をトイツに見る→失敗
1をトイツに見る、2をトイツに見る、3をトイツに見る、七をトイツに見る→失敗
1をトイツに見る、2をトイツに見る、3をトイツに見る、八をトイツに見る→失敗
1をトイツに見る、2をトイツに見る、3をトイツに見る、九をトイツに見る→失敗
1をトイツに見る、2をトイツに見る、3をトイツに見る、六をジュンツに見る→成功
1をトイツに見る、2をトイツに見る、3をトイツに見る、七をジュンツに見る→成功
1をトイツに見る、2をトイツに見る、3をトイツに見る、八をジュンツに見る→失敗

トイツをT、ジュンツをJで表せば
T1,T2,T3,J六,A一 
T1,T2,T3,J七,A一
 
てな具合に再帰で「あがったときに考えられる組み合わせ」を列挙すればいいじゃん。
符の計算とかも列挙した後に考えればいいし。

>点数計算ができないプログラム=麻雀ができないプログラムじゃん。
点数計算ができなくても、一応麻雀は打てる…… 強い弱いはさておき。
だからとりあえずは「弱くても麻雀を打てるプログラム」を目指しましょ

137 :126:03/05/02 09:29
ごめんよ、先に頭処理したほうが楽だわ。
あと、「六をジュンツに見る」っていうのは「六七八を見つける」ってことね。

138 :デフォルトの名無しさん:03/05/02 18:32
>>136
なんか勘違いしてるみたいだけど
点数計算ができないプログラムは
面子構成を把握できてない つまり
麻雀が打てないプログラム ということに
ほかならないんですけど・・・

なんでも再帰でやればいい という考えも
いまのうちに直しておいた方がいいです。
場当たり的なやり方ではなくきちんとね。

139 :デフォルトの名無しさん:03/05/02 18:52
とりあえずは「あがれるだけの麻雀」でもいいっていうこと。

最初のプロトタイプであれば、
 「白・発・中」が2枚以上あったら鳴く、
 それが無かったら、鳴かずに聴牌に持っていく
 オタ風いらない。白・発・中が場に3枚以上あったらいらない。
 1・9字牌をどんどん切る(笑
これでも十分「ずぶの素人の麻雀」でしょ?

符が何点でー、なんて考えなくても麻雀は打てるし、
「あ、4翻以上になるからマンガンか」程度の理解でも打てるでしょ?

再帰を使おうかというのは、プログラムが簡単になるから。
人間の思考でもそういう感じで処理するでしょ?だからあげただけ。
「なんでも再帰」なんていうのは>>138の妄想でしかないからあまり気にしないで。
まあもっとも、その「きちんと」という方法を提示してくれればいいんだけど。
(分かってるけどさ。最大で4メンツしか作れないからそれ使えばいいのは)

140 :デフォルトの名無しさん:03/05/02 19:11
CPUの思考なんぞより
点数計算(つうか役判定)のほうがウン万倍面倒。
まず役判定から作っとけ。
手牌の管理方法を先に作ってしまうと、
あとで役判定の部分でアルゴリズムの見直しをしたいときに
前者まで作り直しになる。

それに役の有無が判定できないんじゃ、CPUは和了れないよな?
「とりあえず聴牌までもってくだけの麻雀」じゃん。

141 :デフォルトの名無しさん:03/05/02 20:51
こんな感じで

鳴ける牌はテンパイするまで全て鳴く
 ↓
当たり牌が出る又は引いた時、役があれば上がる
 ↓
役がなければツモ切りで形式テンパイ

142 :デフォルトの名無しさん:03/05/02 20:59
あれだ、
本書いてる人、だれだっけ?
ほら有名な人だよ。
初心者入門書を書いてるひと。全般的に。

んでP/ECEってハードのプログラムで
web上で詳しく雀のルーチンについて解説してたきがする。
対戦までできてたっけな。。

サイズが小さいからあまり凄く細かいことはしてないけど
参考程度にググッてみるよろし。

143 :デフォルトの名無しさん:03/05/02 21:16
各人好きにやればいいじゃん。
納期があるわけでもなし。
アプローチを試行錯誤するなんて贅沢は、
遊びじゃないとできないよ。

ただし、
>>139
>初のプロトタイプであれば、
> 「白・発・中」が2枚以上あったら鳴く、
> それが無かったら、鳴かずに聴牌に持っていく
> オタ風いらない。白・発・中が場に3枚以上あったらいらない。
> 1・9字牌をどんどん切る(笑
>これでも十分「ずぶの素人の麻雀」でしょ?
これじゃ動いてもあんまり嬉しくない気がする。


144 :デフォルトの名無しさん:03/05/03 11:18
>>142
井出さんですか?

145 :デフォルトの名無しさん:03/05/03 17:47
勝ってると配牌やツモが良くなったり、とかは
プログラムする必要はあるの?

146 :デフォルトの名無しさん:03/05/03 18:47
>>145
無意味

147 :デフォルトの名無しさん:03/05/04 07:22
井出洋介だね

148 :デフォルトの名無しさん:03/05/04 07:23
>>146
そのネタはスルーした方が面白かった

149 :デフォルトの名無しさん:03/05/04 08:02
>>148
そうだな
もっと語って欲しかったかも

150 :139:03/05/04 09:19
>「とりあえず聴牌までもってくだけの麻雀」じゃん。
だから「プロトタイプ」言ってるじゃんか(笑)
でも意見ありがとうございます。どれ、このGWは役判定でもいじってるか……

ところで、
>勝ってると配牌やツモが良くなったり、とかは
>プログラムする必要はあるの?
そんな事象はありえません(笑)

151 :139:03/05/04 12:20
ttp://www.jc2.co.jp/p/contents2.html

これか……? P/ECEってやつは。

152 :デフォルトの名無しさん:03/05/05 03:11
しかし、カンチャンにずっぽり入るツモとか
プレイヤーが欲しいと思われる牌を選択する
というアルゴリズムはなかなかに難しいぞ。
それはそれで高度な思考ルーチンと言える。

馬鹿みたいに色をそろえるツモなら簡単だけどナ

153 :bloom:03/05/05 03:13
http://homepage.mac.com/ayaya16/

154 :デフォルトの名無しさん:03/05/05 03:14
14進数のマシン開発からだな。

話は(ry

155 :デフォルトの名無しさん:03/05/05 21:08
最強のプログラムできたとしても
偽アカギ程度の強さだろうな

156 :デフォルトの名無しさん:03/05/07 19:00
忙しくてできない……

157 :デフォルトの名無しさん:03/05/08 02:31
>>155
偽アカギは強かったよ

158 :デフォルトの名無しさん:03/05/17 03:03
まだできない?

159 :デフォルトの名無しさん:03/05/19 23:31
hongyou death march

160 :デフォルトの名無しさん:03/05/21 17:23
偽アカギは強すぎ!
オサムは弱すぎ!!
ピーコとおすぎ!!!

161 :山崎渉:03/05/28 12:54
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

162 :デフォルトの名無しさん:03/05/31 02:21
神よ早くVBで創れ

163 :デフォルトの名無しさん:03/06/05 10:42
詳しくのっているホームページない?

164 :デフォルトの名無しさん:03/06/07 23:52
AI部分のみプラグインでカスタマイズできる麻雀を見つけた。
ttp://members.jcom.home.ne.jp/hennano/maujong/java/

165 :不明なデバイスさん:03/06/13 08:54
age

166 :デフォルトの名無しさん:03/06/13 10:17
とりあえず役判定のアルゴリズムからだな〜

どこかにクラスとかないの?

167 :デフォルトの名無しさん:03/06/13 15:15
そういえば脱衣でリャンペがニコニコになるゲームがあったなぁ

168 :不明なデバイスさん:03/06/14 20:56
2344556
何を切ればよいですか?
どうやって判断する?

169 :デフォルトの名無しさん:03/06/14 21:36
>>168
2,3,4,5,6 それぞれを切ったときの牌姿を想像する。

まあ、切らない(つまりこれ以外を切る)という選択肢もあるし
評価関数の作り方しだいだな

170 :デフォルトの名無しさん:03/06/19 08:58
なんでもいいから誰か教えてく

考え方がのっている所しらない?

171 :デフォルトの名無しさん:03/06/19 10:14
>>170
自分の麻雀うってる時の考え方を整理して、箇条書きにしてみれ。

172 :デフォルトの名無しさん:03/06/19 11:05
>>168
少牌ですよ

173 :デフォルトの名無しさん:03/06/20 07:26
>>168
5を切ってメンツを確定させてしまうのが一番楽な気がする。
もちろん他の形にもよるけど。

174 : ◆La0/nurupo :03/06/20 19:57
>>168
漏れだったら2切るな

175 :デフォルトの名無しさん:03/06/23 12:57
遊びのレシピという本にソース付いているが
コメントなしなので、よくわからん

176 :デフォルトの名無しさん:03/06/24 00:39
>>175
あれしかもバグだらけ

177 :デフォルトの名無しさん:03/06/27 21:08
>>174
そうか?状況によるじゃん

他がパンパンで面子決定したいときは 2 (イーペーコニラミ)
頭が欲しいときは 4,6 (5を頭に固定)
チートイやってるときは 6 (プ
234の三色やってるなら 5
誰かが国士やチャンタやってそうなら 5 (イーソーの受け入れ

あとは、誰かリーチかけてて待ちを1点で読みきってたときとか。
待ちを読むのは癖を読むってことだから、
一般統計じゃあ無理だよな。そいつと対局重ねないと。

ていうか、ガッ

178 :デフォルトの名無しさん:03/06/27 21:08
総天然ショック

179 :デフォルトの名無しさん:03/06/28 12:49
>>177
まだまだだな。出直して来い

180 :デフォルトの名無しさん:03/06/29 00:45
>>179
まだまだな部分がわからないので教えてください。
とりあえず、プログラミング可能な範囲でね。

「感性」とかも否定するわけじゃないけど、あれは
頭ん中で無意識に演算(と検索)をした結果だと考えてる。
「流れ」は爆牌党とかで出てた考えが面白かったな。

181 :デフォルトの名無しさん:03/06/29 21:36
点数に幾分の余裕がありドラが1である場合・・・5切り
これからツモるかもしれないドラを1枚切らなくて済むので、他を切るよりは相手のリーチに対してドラが切れずに降りなければいけない可能性が減る。
自分がリーチ中にドラで振り込む可能性が減る。


>>180のような感性とか訳分からない言葉を出してるシロウトは分からんでいいです

182 :デフォルトの名無しさん:03/06/30 04:56
>>181
感性とかは否定しないけど肯定もしませんよ。

ところで興味があるのが 「点数に幾分の余裕」 の部分。
ここの閾値はナニを基準にします?
絶対的な点数(たとえば25000持ちとか)ではなく
適切な評価関数が必要だと思うんだけど
どんな係数が考えられる?

あと、いろいろ条件を出してきてるけど
それらの複合条件ってのは実際にプログラミングするときは
シンプルにモデル化を行った上でそれを使って
評価を積み重ねた(=評価関数を順次呼び出した)結果
算出されるものであって、if文case文の乱立ではないよね?


183 :デフォルトの名無しさん:03/06/30 21:26
評価ってどうするの?

184 :デフォルトの名無しさん:03/07/01 10:03
ttp://www.jc2.co.jp/p/contents2.html
読めないけど、何が書いてあるの??

185 :sage:03/07/04 16:48
sage

186 :デフォルトの名無しさん:03/07/05 20:47
age

187 :デフォルトの名無しさん:03/07/11 23:10
まだか?

188 :デフォルトの名無しさん:03/07/12 15:01
順次じゃだま

189 :デフォルトの名無しさん:03/07/13 18:12
まだか?


190 :デフォルトの名無しさん:03/07/13 19:56
それにしてもスレタイの日本語って変じゃありませんか?

191 :デフォルトの名無しさん:03/07/13 22:20
私を見てね! 
http://akipon.free-city.net/page003.html

192 :山崎 渉:03/07/15 09:48

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

193 :デフォルトの名無しさん:03/07/17 00:11
まだまだみたいだな

194 :デフォルトの名無しさん:03/07/19 11:59
まだか? まだか?

195 :デフォルトの名無しさん:03/07/19 13:11
case文っていくつまで許されるん?

196 :デフォルトの名無しさん:03/07/19 18:24
>>195
コンパイラにもよるけど
だいたい1万個までは余裕

197 :デフォルトの名無しさん:03/07/27 01:59
1まんこくれい!

198 :山崎 渉:03/08/02 02:32
(^^)

199 :デフォルトの名無しさん:03/08/05 01:58
さすがにできただろ?

200 :200ゲットプログラム:03/08/15 14:42
200ゲット

201 :デフォルトの名無しさん:03/08/17 21:10
天和積みこみ(終)

202 :デフォルトの名無しさん:03/08/20 18:52
201は過去ログ読めない

40 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)