C言語でトランプゲー ..
446:デフォルトの名無しさん
07/09/29 04:06:26
>>443
> 正直どうでもいいし、わかってて面倒だから省略してるのがほとんど。
それが素人志向、なんつって。最近じゃコンパイラ任せな人も少なくないが
知ったかぶるとボロが出て言い訳もみっともないぞ。
447:デフォルトの名無しさん
07/09/29 04:08:10
>>423
はいはい、すごいすごい
448:デフォルトの名無しさん
07/09/29 04:08:23
>>446
お前、いままで散々ボロだしときながらまだ懲りてないの?
449:デフォルトの名無しさん
07/09/29 04:25:33
何kmも信号のないような田舎では道交法を遵守するほうが周りに迷惑な場合もある
450:デフォルトの名無しさん
07/09/29 04:36:22
前にも型変換でボロだしまくったのに、もう忘れちゃったのか
451:デフォルトの名無しさん
07/09/29 04:53:41
すごいからすごい
すっごくすごい
452:デフォルトの名無しさん
07/09/29 05:02:21
なんかすごくて可哀想なのが沸いてるな・・・
Cはド素人だが俺も勉強がてら何か作ってみようかな
何作ろう、簡単そうなカードゲームってなんかないかしら
453:デフォルトの名無しさん
07/09/29 06:01:11
>>439
素人かどうか見極めるのにちょうどいい質問だな
454:デフォルトの名無しさん
07/09/29 06:17:56
> 100%誤作動を起こさないプログラムを作るのは可能だと思いますか?
これはプログラムそのものに問題がある場合もあるが、誤作動を起こす動作環境
(ハードウェア、OS)にも話が及ぶんで、現実的には無理。素人とか以前に
100%誤作動を起こさないものがあると言わなきゃ良いだけだよw
455:デフォルトの名無しさん
07/09/29 06:26:28
極端な話をすれば、100%誤作動を起こさないプログラムも存在することは可能。
ただし、ユーザが誤作動をしていると思わなきゃ良いだけの曖昧さはあり。
まぁ、あの程度のソースで すごい なんていう奴の話は聞き飽きたから、失せろ。
456:デフォルトの名無しさん
07/09/29 06:32:42
>>453
っつか、揺さぶっている奴らは自分らがそれについて見解を示せよ。
他人に質問するばかりで、自分らは何も答えることが出来ないくせに
その程度って評価するのはおかしい。むしろ、自分が知らなかったことを
付き返されてファビョってんだろ?time()にしろsrand()にしろ。女々しいぞ、お前等。
457:デフォルトの名無しさん
07/09/29 06:37:13
煽りじゃなくトランプゲームのソースを書いてくれ
458:デフォルトの名無しさん
07/09/29 06:40:21
>>456
お前441?
引数に代入されるとき型変換されるから、キャストする必要なんて全くないよ
459:デフォルトの名無しさん
07/09/29 06:51:28
あぁ、分かった
昨日7行云々でアホな事書いて煽られた奴が腹いせに荒らしてるのか
460:デフォルトの名無しさん
07/09/29 06:52:54
#include <stdio.h>
int main()
{
TranpuGame();
return 0;
}
461:デフォルトの名無しさん
07/09/29 06:57:14
世の中、完全犯罪は可能ですか?って質問に答えてみろよ?w
462:デフォルトの名無しさん
07/09/29 07:47:42
完全犯罪は露呈しない
だから犯罪にならない
故に完全犯罪は存在しない
463:デフォルトの名無しさん
07/09/29 07:50:46
C++でstaticなメソッドを使って
int main() {
Game::Main::Start();
}
見たいに書けたら格好よぐね?
意味もGameモジュールのメインモジュールをアプリケーションエントリポイントから
起動してるんだなぁってはっきりしてるし
少なくとも俺が昔使ってた
Game()();よりは判りやすい筈w
464:デフォルトの名無しさん
07/09/29 08:06:34
>>463
それが出来ないという罰ゲームのノリがわからない奴だな
465:デフォルトの名無しさん
07/09/29 09:08:12
作りやすいトランプゲームっつーと…ソリティア系かね?
要は一人遊び系
コンピュータの思考ルーチンとか要らんし
クロンダイク(Win付属のソリティアと一緒)とか
イーブン、クローバー、ピラミッド、スパイダー…
ソリティア系だけで結構色々ある
466:デフォルトの名無しさん
07/09/29 14:58:32
いっちゃん単純と思われるのは 神経衰弱
467:デフォルトの名無しさん
07/09/29 14:59:55
>>466
それは言おうとしたが単純なだけに作るのもつまらなく
言えばお前が作れ言われると思って言わなかった。
468:デフォルトの名無しさん
07/09/29 15:05:42
>467
コンピュータの思考ルーチン考えるのは単純じゃないな
...いんちきするならそうでもないがw
469:デフォルトの名無しさん
07/09/29 15:13:20
>>468
神経衰弱には
あるプレイヤーに分かっていて他のプレイヤーには分からないという要素がない。
だからAIが人間的な忘却をエミュレートしない限り勝敗は純粋に確率的なものになるということ。
470:デフォルトの名無しさん
07/09/29 15:14:05
一度開けたカードは全部記憶しておいて組があれば開けて取る
組がなければまだ開けてないカードをランダムに一枚開けて記憶しておいたカードの中に組となるものがあれば開ける
なければもう一枚ランダムに開く
これ以外に何か戦略ある?
471:デフォルトの名無しさん
07/09/29 15:15:36
神経衰弱なのに7並べ思い浮かべてたww
472:デフォルトの名無しさん
07/09/29 15:17:00
> なければもう一枚ランダムに開く
これ、相手に有利になっちゃうだろw
あえてすでにひらいてあるカードを選ぶ、って戦略じゃね?
473:デフォルトの名無しさん
07/09/29 15:20:38
>>472
ならば相手も同じ戦略を取ればよし
進行が遅くなるだけで結果は変わらない
474:デフォルトの名無しさん
07/09/29 15:23:33
なるほど
最後は未知のカードを開けない方がいいのかな?
期待値はゲームの段階や既知のカード数によって変わらないかな?
475:デフォルトの名無しさん
07/09/29 15:23:58
千日手は引き分けですかね?
476:デフォルトの名無しさん
07/09/29 15:25:07
> 進行が遅くなるだけで結果は変わらない
本当に?
2枚目あけたときに 1枚目と同じになるより 過去に開けていたカードと同じなる方が多いと思うんだけど?
次のプレイヤーが有利になるじゃん
477:デフォルトの名無しさん
07/09/29 15:30:49
相手の戦略にあわせるっていう意味じゃないかな?
478:デフォルトの名無しさん
07/09/29 15:31:59
やっぱり477は取り消します
479:デフォルトの名無しさん
07/09/29 16:07:31
いや477のとおりだよ
双方同じ戦略で戦えば有利不利ということもない
480:デフォルトの名無しさん
07/09/29 16:13:46
加えて相手が一枚だけの戦略をとっていることが丸分かりなんだから
論理的に類推しうる要素が全くないんだよ
481:デフォルトの名無しさん
07/09/29 19:52:15
>>462
なるほど、確かに犯罪があったのかどうかも分からないなら
完全犯罪以前に闇に葬られるであろう。では、犯罪があったが
犯人が分からない。指紋など決定的な証拠があるけど捕まらない
といった類ではどうだね?まぁ、あれこれ挙げたらキリがない。
とにかくこの世にはすべてにおいて「完全」「完璧」などないと言って過言ではない。
今もこうして、予期せぬ事故は起こる・・・
482:デフォルトの名無しさん
07/09/29 20:23:12
完全犯罪やバグの無いプログラムを確実に作り出す方法が無いだけで、
どちらも普通に存在するだろ
483:デフォルトの名無しさん
07/09/30 00:53:04
>>482
だからそういうことだって。いちいち 分かりきったことを偉そうに 解説するなよ、青二才
484:デフォルトの名無しさん
07/09/30 22:45:28
バグを抹消することは難しい。ソフトウェアの規模がますます巨大化・複雑化し、
すべての可能性をプログラムすることが不可能になってきたからである。
ある研究報告によれば、5000年間プログラムを実行して1回しか障害を起こさないような小さなバグがシステムの安全性を損ねている。
さまざまな角度から検査を行うのだが、米国の民間航空機のように1時間当たり10億分の1以下の障害発生率が要求されるシステムでは、
こうしたバグを除去するには数十万年間も検査をし続けなければならない
485:デフォルトの名無しさん
07/09/30 22:46:43
>>484は10年以上も前の話だから今はちょっと事情が変わってるかな
486:デフォルトの名無しさん
07/10/01 02:41:58
商用アプリのバグに関して免責事項を無効にする法律を作ればある程度は
487:デフォルトの名無しさん
07/10/01 22:59:11
Visual C++ Express Edition + プラットフォームSDK
Wnidows2000/XP/Vista用 要.NET Framework2.0
ソース+exe
やっつけなんで無駄多し、AIは超手抜き、誰か作って。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
488:デフォルトの名無しさん
07/10/01 23:30:45
Turbo C++ Explorer
Wnidows2000/XP/Vista用 要.NET Framework2.0
ソース+exe
>478のTurbo C++版
URLリンク(kansai2channeler.hp.infoseek.co.jp)
489:デフォルトの名無しさん
07/10/01 23:43:52
ターボってついたら強そうに見えるよな
490:>487
07/10/01 23:55:13
同スート3枚以上のシーケンスなしか?
2上がりありか?
革命は試せなかったけどどうなの?
491:デフォルトの名無しさん
07/10/02 06:16:46
>>490
見た目があんまりショボイと餅平衛がどっか行っちゃうから
C言語でコンソールアプリの条件を満たしたソレほどショボくないUIを提示しただけ。
中身はサンプル程度に組んであるだけ。
AIに至っては何の工夫も無く兎に角出せるカードを出してるだけ。
同スート3枚以上、革命…そんなローカルルールは知らん。
2上がりあり。つーか作りこんでないから最低限のチェックしか入ってない。
改造して使いまわしやすいように作ったつもりだしツールもフリーで手に入るVC++とTurboC++のどっちでもOKにした。
#unicodeの扱いさえわかればBCCでもgccでもビルド出来る筈だしスートの表示を諦めれば古いコンパイラでもビルド出来る。
なので中身の作りこみは他の奴に任せる。
492:デフォルトの名無しさん
07/10/02 06:20:53
環境依存か
493:デフォルトの名無しさん
07/10/02 18:20:10
タロットカードへの拡張に備えて「正位置・逆位置」の概念を導入する
494:デフォルトの名無しさん
07/10/03 00:02:00
ところで餅平衛って何?
もちひらまもる?
495:デフォルトの名無しさん
07/10/03 03:30:30
mihimaru GTの阿久津博子さんが好みです。だから何やて?言ってみたかっただけっす。
スレ違いすまそ。
496:デフォルトの名無しさん
07/10/03 04:16:50
>>494
文脈から一見さんあたりのことを言っているのだろう、
新語か?とぐぐってみたが見つからない。
でモチベーションをゆとりっぽく略したものと結論付けた。
今時C使ってCUIでやろうって>1の時点で
モチベーションは限りなくゼロに近いんだから
いまさらどうこう言っても意味がない。
497:デフォルトの名無しさん
07/10/05 19:38:38
誰もいないな?
498:328
07/10/06 00:53:52
シーケンスとペア、重なって持っている場合
どんな戦略がいい?
出せるなら出す、ってなんだかなぁ...
あと、場より多い枚数のペアがある時、多い枚数のシーケンスがある時
とか...
いきづまってまつ
499:デフォルトの名無しさん
07/10/06 19:40:01
基本ルールがよくわからんのだよ
500:デフォルトの名無しさん
07/10/06 22:02:37
>>498
現時点で場に出たカードを除いた状況で、他のプレーヤーがより強いカードを
出せる確率を計算するようにしたよ。
場のカードを全部数えるのかよコンピュータは、とは思うけど、プロ棋士同士で
お遊びでやった大富豪で覚えてた、って話もあったから有りかと。
501:デフォルトの名無しさん
07/10/06 22:20:01
人とプレイするときも、絵札以上は覚えとくから別に構わないと思う
502:デフォルトの名無しさん
07/10/06 22:50:31
>>500
で,強くなった?
503:デフォルトの名無しさん
07/10/06 23:34:17
大富豪最強AIでも作るのか?
504:デフォルトの名無しさん
07/10/06 23:39:27
勝負するたびに成長するコンピューターとかどんだけwwww
505:デフォルトの名無しさん
07/10/07 00:46:32
>504
少年漫画の世界にはいそうだなw
506:デフォルトの名無しさん
07/10/07 01:08:46
大富豪で世界征服か
507:デフォルトの名無しさん
07/10/07 01:49:27
悪のマッドサイエンティストをやりたかった
自称主人公を科学の力でこてんぱんにしてくやつ
508:デフォルトの名無しさん
07/10/07 03:16:57
コロコロとかボンボンでありそうだなwwww
509:デフォルトの名無しさん
07/10/07 18:16:09
>>502
結構。人並みの対戦能力はある。
510:デフォルトの名無しさん
07/10/07 23:39:54
>500
「他のプレーヤーがより強いカードを出せる確率を計算する」って、そんでどうするの?
より強いカードを出せる確立が高い場合は、自分は出さない、って事?
場に出てないカードを考慮するだけ? 他のプレーヤーの持ち枚数とかは何か考慮している?
511:デフォルトの名無しさん
07/10/08 00:14:26
>>510
そこで得られた確率を、>>281の思考ルーチンに突っ込むの。
要するに、>>500は認知、>>281で判断。
>他のプレーヤーの持ち枚数とかは何か考慮している?
当然。相手が一枚しかないなら、階段出せば相手は嫌でもスルーだし。
512:デフォルトの名無しさん
07/10/08 00:54:04
>281
404 Not Found
513:デフォルトの名無しさん
07/10/08 13:07:10
今度こそ誰もいないな
514:デフォルトの名無しさん
07/10/08 13:10:33
うむ
515:127
07/10/08 20:52:17
誰もいないようなのでしばらく独り言をば
まずケースに入ったトランプを用意しよう。
ケースの中にはトランプが順番に入っている。
A,2,3,…Q,Kのランク順でスペード,ハート,ダイヤ,クラブのスート順だ。
誤解のないように例を出すと,スペードのKの次はハートのAになる。
またクラブのKの次にはJOKERが二枚入っている。
この計54枚のカードを使ってゲームをするわけだ。
516:デフォルトの名無しさん
07/10/08 20:55:29
ほほう、それで
517:デフォルトの名無しさん
07/10/08 21:34:11
構造体で作ったらあと楽じゃない?
518:127
07/10/08 21:40:59
私以外まだ誰もいないようだが話を続けよう。
さて,大富豪というゲームを君たちは知っているかな?
1970年代に日本のトーキョーで生まれたとされ,かつては大貧民と呼ばれたゲームだ。
プレイヤーは複数で,ゲームの最初に彼らに等しくカードを全て配る。
等しくと言ってもプレイヤーの数によって端数が出る。
端数の処理の方法はいろいろあるが,今回は端数を気にせず最後まで順に配り終えることにしよう。
おっと,言い忘れたが,今回シャッフルはしない。
519:デフォルトの名無しさん
07/10/08 21:53:09
まだ君以外誰一人とここにはいないので、
そのまま話を続けましょう
520:127
07/10/08 22:43:16
各プレイヤーは自分に配られたカードの中から
役―1枚,2枚以上の同位札,もしくは3枚以上の同一スートによるシーケンス(※注:連番)―を作り,順次場に出していく。
持っているカードが無くなれば,あがりとなってプレイの輪から抜けることができる。
残りのプレイヤーが一人となった時点で1ゲーム終了となり,あがりとなった順に順位が決定する。
最後に残ったプレイヤーは最下位だ。
場とは役を出す場所であり通常1ゲームに複数の場が作られるが同時に複数の場は存在できない。
場が破棄されることを場が流れると言い,場が流れたあとは新しい場が1つ作成される。
ゲーム開始時に最初の場が1つ作成される。
場に最初に役を出すプレイヤーを親と呼び,その場に出すことの出来る役の種類を決定できる。
最初の場の親を決定する方法は,これも様々な方法があるが,今回はダイヤの3を配られたプレイヤーとする。
カードは3が最も弱く,続いて4,5,…,Q,K,ときてA,2の順に強くなる。
そしてJOKERは2より強く,またワイルドカードとしても使用できる。
カードの強さに遵って役の強さが決まり,場に出す役は場の役―最後に場に出された役―より強くなければならない。
出せる役がない場合はそのプレイヤーはパスとなり次のプレイヤーの番となる。
場のプレイヤー―場の役を出したプレイヤー―以外のプレイヤーが全てパスとなったとき,
その場は流れ,そのプレイヤーが次の場の親となる。
場のプレイヤーがあがりとなり,かつ残りのプレイヤーが全てパスとなったとき,
その場は流れ,そのプレイヤーの前に場のプレイヤーであってまだあがりでないプレイヤーが次の場の親となる。
基本的なルールはこんなところだ。
何か質問は?
では次回。
521:デフォルトの名無しさん
07/10/09 01:24:26
革命ルールはござらんのか!
CPUの人間的思考の実装方法はまだか!
522:デフォルトの名無しさん
07/10/10 01:12:11
基本戦術
既に場に出ているカードを覚える
Q以上のペアは強い
2はペアで使うよりも1枚ずつで2回使った方が有利
崩すときはなるべく強いペアをくずす
特に、弱いペアは絶対崩してはいけない
シークエンスは、原則として弱い(10以下)ものの方が使いやすい
4枚以上のシークエンスは強い
3枚組とシークエンスが複合している場合は、シークエンス+ペアが鉄則
強いもので、特にペアと複合している場合(例:K、A,A,2)は、むしろばらした方が強い
シークエンスとペアが複合している場合は、状況に応じて、使い分ける
ペアが一組(例:6,7,7,8)ならば、シークエンス優先
ペアが二組(例:6,6,7,8,8)ならば、微妙
ペア3組(例:6,6,7,7,8,8)ならば、ペア優先
523:127
07/10/13 18:56:32
ここにはもう誰もいないのだ
524:デフォルトの名無しさん
07/10/13 18:56:53
阻止
525:127
07/10/13 22:52:16
そして誰もいなくなった
526:デフォルトの名無しさん
07/10/13 22:52:48
阻止
527:127
07/10/13 23:00:25
プログラマーには精神病を患う者が多いと言われるが
その病状の一つに自分が誰かに監視されているといった妄想がある
そうここには
誰もいない
誰もいない
誰もいない
528:デフォルトの名無しさん
07/10/13 23:09:56
ものすごく寒いことになってるね
529:127
07/10/13 23:45:04
自分の内には誰もいない
従って自分の外にも誰もいない
誰かがいるという幻想こそが
不幸の根源なのだ
530:デフォルトの名無しさん
07/10/13 23:46:18
みょん
531:デフォルトの名無しさん
07/10/14 00:26:02
リアルタイムで中二病患者を見たのは久しぶりだわ
532:127
07/10/14 09:51:02
このスレに誰もいませんよ
533:127
07/10/14 22:38:02
誰もいないことを確信した
534:デフォルトの名無しさん
07/10/14 22:55:39
これが噂の、かまってちゃんか
535:127
07/10/14 23:08:35
誰もいないということを疑う余地はない
536:127
07/10/14 23:22:38
誰も居なかった
537:デフォルトの名無しさん
07/10/15 12:56:27
そんなことより、大富豪作りやがれ
538:127
07/10/15 19:47:08
何故誰もいないのか
実は疑問がないわけではない
539:デフォルトの名無しさん
07/10/16 01:33:22
ほほう、それで
540:127
07/10/16 03:00:00
さて誰もいなくなったところでそろそろ本編をば
最初はシンプルに行こう。
ややこしいことは無しだ。
プレイヤーの数は5人とし,全て同じAIを使用する。
カードは1デッキとジョーカー2枚の計54枚とし,毎回ゲームのはじめにシャッフルする。
初回は最初に登録されたプレイヤーからディールする。
そしてダイヤの3を持ったプレイヤーを最初の場の親としてゲームを開始する。
初回以降は前回最下位のプレイヤーの次のプレイヤーからディールする。
そして前回最下位のプレイヤーを最初の場の親としてゲームを開始する。
役はシーケンスが3から5枚,同位札が2から5枚,そして1枚札,とする。
AIが場の親のとき,シーケンス,同位札,1枚札,の順に,枚数のより多い役のうち,弱い役から出していく。
AIが場の親でないとき,場の役と同種でより強く,かつ手持ちのカードで作れる最も弱い役から出していく。
またジョーカーをワイルドカードとして使用可能なときは使用する。
同様にジョーカーを同位札,または一枚札として使用可能なときは使用する。
541:デフォルトの名無しさん
07/10/16 15:47:13
最初でシンプルに行くなら、
・人数は2人でジョーカーは無しで52枚
・始める人も固定、順番も同じ
・カードのシャッフルなんてしない
辺りが適切では無いか?
流れをまず作って、他は後から付け加えると楽ジャマイカ?
542:127
07/10/16 18:11:36
仮に誰かがいたとしても
誰であるかも分からないのに
誰かがいるという認識が間違いでないと
どうして言えよう
543:デフォルトの名無しさん
07/10/16 19:11:11
その微妙なコテハンはなんだい?
544:127
07/10/16 20:35:00
ここで面白いのは自己と他者の区別は
(厳密にはそうではないが実用上)
自己の認識に委ねられているということだ
すなわちそれが自分の書いたものであるという記憶によってのみ
自己の他者との境界を認識しうるのである
加えてそれが自分の書いたものであるという証明が自助努力の範囲内において不可能であるが故に
誰もその存在を主張する以上のことはできず
したがってここには誰もいないという認識を誰も否定することは出来ないのである
「匿名非同期コミュニケーションの真実(非売)」より引用
545:127
07/10/16 20:39:27
じゃあ俺も
546:127
07/10/17 21:12:19
そうこうしているうちに
本当に誰もいなくなってしまった
547:デフォルトの名無しさん
07/10/18 02:56:09
文字列に強さを持たせるのがわkらん
548:127
07/10/18 03:04:03
さてそろそろ続きをば
シンプルという点に疑問の余地ありとの意見だが,
たしかに上記のルールでは各ゲームごとの独立性が不十分であり,
出発点とするには不適切かもしれない。
そこで,ディールの開始プレイヤーと最初の場の親に関するルールについて検証してみよう。
まず以下のことについて確認しておく。
全てのプレイヤーが同一のアルゴリズムに従ってプレイするとき,
その結果は各プレイヤーの持ち札と最初の場の親によって一意に決定される。
ここで,各プレイヤーの持ち札と最初の場の親が完全にランダムに決定されるとき,
任意のプレイヤーが任意のランクになる確率は等しくなる。
549:デフォルトの名無しさん
07/10/18 03:07:49
こんな大袈裟に気持ち悪いレスで熱弁してるくらいだから、さぞ素晴らしいものを作ってくれるんだろうな
550:デフォルトの名無しさん
07/10/18 03:21:54
口だけ野郎の典型的パターンに何を期待してるんだよ
551:127
07/10/18 04:11:40
私は私が常に不真面目であることを知っている
故に私は私の言葉を全く信用していない
今回は,ゲーム回数を一万回とし,各ゲームでの各プレイヤーのランクを記録した。
プレイヤーをTestA,TestB,TestC,TestD,TestEの順に登録した。
ランクは0から4までの値であり,値のより大きいランクを上位とする。
1.
各ゲームのディールの開始プレイヤーをローテーション制に
各ゲームの最初の場の親をダイヤの3を持つプレイヤーにした場合
結果を以下に示す。
行を各ゲームのランク,列をそのゲームの次のランクとし,該当するゲームの回数を計測した。
また各ランクとなったゲームの回数を計測し,これを列Totalに示す。
括弧内の数値は各行の各計測値を各行のTotalの値で割った値である。
これは現在のランクが決定しているとき次回のランクへ遷移する統計的確率を表す。
********************** Players Record (PlayCount=10000) ***********************
___________________________ Player TestA Record ___________________________
(省略されました・・全てを読むことはできません)
___________________________ Player TestE Record ___________________________
[0](-----) [1](-----) [2](-----) [3](-----) [4](-----) Total
[0] : 398(0.201) 389(0.196) 398(0.201) 409(0.206) 390(0.197) 1984
[1] : 387(0.195) 401(0.202) 357(0.180) 430(0.217) 406(0.205) 1981
[2] : 406(0.199) 425(0.208) 426(0.209) 391(0.191) 394(0.193) 2042
[3] : 418(0.209) 339(0.169) 460(0.230) 379(0.189) 408(0.204) 2004
[4] : 374(0.188) 428(0.215) 401(0.202) 395(0.199) 391(0.197) 1989
552:127
07/10/18 19:43:52
自分が本当に理解しているのは過去の自分だけである
おっと言い忘れたが,最初のゲーム開始時のプレイヤーのランクは全て0だ。
それから連番は1.ではなく(1)に訂正する。
さて上記の結果からは,Totalの値が全て2000付近であることが分かる。
ゲーム回数は10000であるから各ランクになる確率は等しく1/5ということになる。
つまり,勝負は完全に時の運ということだ。
更に,各ランクから各ランクへの遷移確率も全て0.2付近である。
つまり,現在のランクと次のゲームのランクとの相関はないということを意味する。
大富豪がゲームとして成立するには
人間の感情的な部分を考慮し,それをある程度実現するルールが必要である。
(a)誰も最下位にはなりたくない。最下位になったとしたら出来るだけ早く最下位を脱したい。
(b)誰もが一番になりたい。一番になったとしたら出来るだけ長く一番であり続けたい。
この二つを実現するルールは既に存在する。
それらについて統計的確率の側面から検証してみよう。
553:127
07/10/19 20:37:11
誰もいないか
554:デフォルトの名無しさん
07/10/19 23:59:32
いるけど
555:デフォルトの名無しさん
07/10/20 00:17:55
いないか
556:127
07/10/20 00:18:51
誰もいないと言ったのだ
557:127
07/10/20 00:46:36
さてと
Totalの各値をゲーム回数10000で割った値をランク率,カッコ内の値をランク遷移率と呼ぶことにする。
(2)
各ゲームのディールの開始プレイヤーを最初に登録されたプレイヤーに固定し
各ゲームの最初の場の親をダイヤの3を持つプレイヤーにした場合
結果を以下に示す。
********************** Players Record (PlayCount=10000) ***********************
___________________________ Player TestA Record ___________________________
(省略されました・・全てを読むことはできません)
___________________________ Player TestE Record ___________________________
[0](-----) [1](-----) [2](-----) [3](-----) [4](-----) Total
[0] : 411(0.206) 407(0.204) 416(0.209) 368(0.185) 389(0.195) 1991
[1] : 377(0.193) 380(0.195) 363(0.186) 400(0.205) 432(0.221) 1952
[2] : 385(0.196) 374(0.190) 401(0.204) 407(0.207) 402(0.204) 1969
[3] : 399(0.199) 408(0.204) 362(0.181) 421(0.210) 411(0.205) 2001
[4] : 418(0.200) 383(0.184) 428(0.205) 405(0.194) 453(0.217) 2087
ディールの開始プレイヤーを最初に登録されたプレイヤーに固定した場合,
54 = 11 * 4 + 10
より最後に登録されたプレイヤーの持ち札が常に他のプレイヤーの持ち札より一枚少なくなる。
もしディールの開始プレイヤーがゲームの勝敗に影響するならば,
(1)の場合と比べてプレイヤーTestEの勝敗に偏りが生じると予想される。
この結果からはプレイヤーTestEのランク率及びランク遷移率に顕著な変化は認められない。
よってディールの開始プレイヤーの決定に偏りが生じてもゲームの勝敗に影響しないと言える。
558:127
07/10/20 15:21:54
今日も誰もいない
当たり前か
559:デフォルトの名無しさん
07/10/20 19:00:08
具体的なコードを出したまへ
560:127
07/10/20 20:22:05
誰かがいるということがそれほど重要だろうか
(3)
初回ゲームのディールの開始プレイヤーを最初に登録されたプレイヤーに
初回ゲームの最初の場の親をダイヤの3を持つプレイヤーに
初回以降のゲームのディールの開始プレイヤーを前回のゲームの最下位プレイヤーの次のプレイヤーに
初回以降のゲームの最初の場の親を前回のゲームの最下位プレイヤーにした場合
結果を以下に示す。
********************** Players Record (PlayCount=10000) ***********************
___________________________ Player TestA Record ___________________________
(省略されました・・全てを読むことはできません)
___________________________ Player TestE Record ___________________________
[0](-----) [1](-----) [2](-----) [3](-----) [4](-----) Total
[0] : 129(0.064) 264(0.131) 429(0.214) 550(0.274) 637(0.317) 2009
[1] : 509(0.255) 433(0.217) 365(0.183) 381(0.191) 307(0.154) 1995
[2] : 458(0.232) 433(0.220) 371(0.188) 391(0.198) 319(0.162) 1972
[3] : 473(0.229) 439(0.212) 417(0.202) 373(0.180) 365(0.177) 2067
[4] : 439(0.224) 426(0.218) 390(0.199) 373(0.191) 329(0.168) 1957
この結果からはランク遷移率に明らかな偏りが認められる。
ランク0のランク遷移率は遷移先のランクと正の相関がある。
その他のランクのランク遷移率は遷移先のランクと負の相関がある。
ランク0はより高いランクへ遷移しやすくその他のランクはより低いランクへ遷移しやすいと言える。
ランク0からランク0へのランク遷移率は最も低い。
(2)の結果よりディール開始プレイヤーは結果に影響しないことが分かっている。
よって「初回以降のゲームの最初の場の親を前回のゲームの最下位プレイヤーにする」というルールが
ランク遷移率に偏りが生じた原因であると考えられる。
561:デフォルトの名無しさん
07/10/21 00:27:12
わっふるわっふる
562:デフォルトの名無しさん
07/10/22 20:57:59
わっふるわっふる
563:デフォルトの名無しさん
07/10/23 00:00:41
わっふるわっふる
564:デフォルトの名無しさん
07/10/23 17:33:02
わっふるわっふる
565:127
07/10/24 01:17:00
よし誰もいないな
566:デフォルトの名無しさん
07/10/24 01:32:17
みたいだな!
567:127
07/10/24 01:44:54
>>561-564
俺のスレ荒らすなボケ
568:127
07/10/24 02:05:51
誰もいないというのに誰に話しかけようというのだろうか
大富豪ではゲーム開始時に下位ランクのプレイヤーと上位ランクのプレイヤーとの間でカード交換を行うというルールがポピュラーである。
一般的に,下位ランクのプレイヤーを不利に,上位ランクのプレイヤーを有利にするルールであり,交換の方法にも様々な種類があるが,
ここでは,ランク0がランク4に手持ちの札のうち最強の札2枚を,ランク4がランク0に手持ちの札のうち最弱の札2枚を,
ランク1がランク3に手持ちの札のうち最強の札1枚を,ランク3がランク1に手持ちの札のうち最弱の札1枚を与えることにしよう。
(4)
各ゲームのディールの開始プレイヤーをローテーション制に
各ゲームの最初の場の親をダイヤの3を持つプレイヤーに
初回以降のゲーム開始時にカード交換を行った場合
結果を以下に示す。
********************** Players Record (PlayCount=10000) ***********************
___________________________ Player TestA Record ___________________________
(省略されました・・全てを読むことはできません)
___________________________ Player TestE Record ___________________________
[0](-----) [1](-----) [2](-----) [3](-----) [4](-----) Total
[0] : 377(0.190) 522(0.263) 612(0.308) 338(0.170) 135(0.068) 1984
[1] : 285(0.140) 508(0.250) 558(0.275) 431(0.212) 247(0.122) 2029
[2] : 400(0.197) 434(0.214) 440(0.217) 434(0.214) 322(0.159) 2030
[3] : 509(0.261) 332(0.170) 263(0.135) 399(0.205) 448(0.230) 1951
[4] : 412(0.205) 233(0.116) 158(0.079) 349(0.174) 854(0.426) 2006
この結果からはランク遷移率に明らかな偏りが認められる。
ランク0とランク1とランク2ではランク4への遷移率が最も低く,ランク3とランク4ではランク2への遷移率が最も低い。
ランク0とランク1とランク2ではランク2への遷移率が最も高く,ランク3ではランク0への遷移率が最も高く,
ランク4ではランク4への遷移率が最も高い。
(1)の結果よりカード交換がランク遷移率に偏りが生じた原因であると考えられる。
569:デフォルトの名無しさん
07/10/24 06:42:27
>>788
これがエラーメッセージです。
Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException
at java.util.LinkedList$ListItr.checkForComodification(Unknown Source)
at java.util.LinkedList$ListItr.next(Unknown Source)
at $2.actionPerformed(Unknown Source)
at javax.swing.Timer.fireActionPerformed(Unknown Source)
at javax.swing.Timer$DoPostEvent.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
570:デフォルトの名無しさん
07/10/24 11:52:18
誤爆の上にjavaのスタックトレース全貼りか
571:デフォルトの名無しさん
07/10/24 18:19:19
良スレあげ
572:デフォルトの名無しさん
07/10/25 01:30:07
カードを構造体でメンバをマークと数字の二つを作って数字だけ比較するってやり方でいこうかと思ったら構造体
を理解してない俺には無理だった
573:デフォルトの名無しさん
07/10/25 03:46:40
構造体を理解していないのにどうして構造体で実装しようと思い立ったんだ?
574:デフォルトの名無しさん
07/10/25 07:54:27
「構造体という素敵なものがあるらしい」
という程度の認識はあったからじゃね?
放射線とかよく分からないけど原発は欲しいよね、素敵だね、みたいな。
575:デフォルトの名無しさん
07/10/25 08:51:55
そうだねプロテインだね
576:127
07/10/25 11:32:34
うんこー
577:127
07/10/31 20:01:52
誰もいない
それが真実であり現実だと認めたくない心が私の甘さの元凶だ
夢で終わると分かっている夢は語る価値を持たない
目的は果たされるべきだ
578:127
07/10/31 20:04:46
うんこ
579:デフォルトの名無しさん
07/10/31 20:07:32
オナニーしたい
580:127
07/10/31 20:09:14
おっとコテ忘れ
581:579
07/10/31 20:21:21
去ね
582:579
07/10/31 20:22:01
アンカー忘れた
>>880
去ね
583:579
07/10/31 21:24:01
アンカー間違えたw
>>580
去ね
584:579
07/10/31 21:53:13
>>581-583
おめー誰だよ
585:579
07/10/31 22:16:52
>>584
>>127乙
人の名を語るな去ね
586:127
07/10/31 22:25:53
と、自演してみた。
587:579
07/10/31 22:40:30
>>586
頭大丈夫かまじで
588:127
07/10/31 22:45:43
心配ありがとう^^
589:デフォルトの名無しさん
07/10/31 22:54:40
アホが来て一気に糞スレになったな
590:127
07/10/31 22:55:37
これからもがんばります^^
591:デフォルトの名無しさん
07/10/31 22:56:02
林先生に診てもらったら良いかもね
592:127
07/10/31 22:57:28
それはいい考えですね
593:579
07/10/31 23:08:53
まああれだ、正直すまんかった
594:デフォルトの名無しさん
07/11/01 23:10:21
大富豪のコンピュータで強いカードから出す、弱いカードから出す、ランダムに出す、
他に何か戦略ってある?
595:デフォルトの名無しさん
07/11/01 23:10:52
ゲーム製作板で聞いたら教えてあげるよ
596:デフォルトの名無しさん
07/11/01 23:50:36
>>594
誰にも負けない
597:デフォルトの名無しさん
07/11/02 00:48:15
大富豪は詰め将棋に近い感覚があると思う。
相手のカードが見えないので、もちろん運頼みの側面もあるのだが。
例えば手持ちカードが「899J22」とあって、今場のカードが6とかだったら、
8で切る
-> 9のペアを出す
-> 2のペアはまず他から出ないので自分で切る
-> Jを捨てて和了り
となるわけだ。
この状態の手持ちカードを、まあ「必至」と呼ぼうか。
もちろん相手の手札との絡みもあるので、確率的なものになると思う。
上の例で言えば、2のペアを持っている敵がいて、自分より先に出されてしまう場合もある。
自分以外のプレイヤーが4人いれば1/4の確率で2のペアを持っている奴がいるので、「75%の必至」みたいに自分の手札を評価できることになる。
まあジョーカーとか、ゲーム開始前のカード移譲とか色々あるのでややこしいとは思うが。
で、この考え方で行くと、プレイヤーのすべきことは、より高確率な必至を作れるカードの残し方を考えながら捨てていく、ということになる。
ということで、AIを作る場合には、残すカードを評価する評価関数を組み立ててやれば良いんじゃないかな。と酔っ払いの俺が思った。
598:デフォルトの名無しさん
07/11/05 12:41:24
ブーン
599:デフォルトの名無しさん
07/11/06 23:45:42
Java房の俺がちょっとずつC言語を勉強しながら書いてみる。
#define CARD_SUIT_SPADE 1
#define CARD_SUIT_HEART 2
#define CARD_SUIT_CLUB 3
#define CARD_SUIT_DIAMOND 4
typedef struct {
unsigned int suit;
unsigned int num;
} Card;
Card *newCard(unsigned int suit, unsigned int num) {
Card *card;
if(suit<1 || 4<suit) return NULL;
if(num<1 || 13<num) return NULL;
card = (Card *)malloc( sizeof(Card) );
card->suit = suit;
card->num = num;
return card;
}
疲れた。続きは明日。
600:デフォルトの名無しさん
07/11/07 00:53:27
日付が変わった。
this は C++ コンパイラで怖いか? self 借りとこ。
char CARD_NUM_SYMS[] = " A234567890JQK";
char CARD_SUIT_SYMS[] = " shcd";
char getCardNumSym(Card *self) {
unsigned int num;
if(self==NULL) return '\0';
num = self->num;
if(num<1 || 13<num) return '\0';
return CARD_NUM_SYMS[num];
}
getCardSuitSym(Card *self) {
unsigned int suit;
if(self==NULL) return '\0';
suit = self->suit;
if(suit<1 || 4<suit) return '\0';
return CARD_SUIT_SYM[suit];
}
601:デフォルトの名無しさん
07/11/07 01:02:42
戻り値の型書き忘れ。charだ。
602:デフォルトの名無しさん
07/11/08 21:35:22
SuitとNumをtypedefしとこ。先にやっときゃ良かった…
typedef unsigned int Suit;
typedef unsigned int Num;
void putCard(Card *self) {
printf( "%c%c", getCardSuitSym(self), getCardNumSym(self) );
}
char *getCardSym(Card *self, char buffer[], size_t bufsize) {
unsigned int i;
if(self == NULL) return NULL;
if(bufsize < 2) return NULL;
buffer[0] = getCardSuitSym(self);
buffer[1] = getCardNumSym(self);
for(i=2; i<bufsize; i++) buffer[i] = '\0';
return buffer;
}
603:127
07/11/09 19:49:53
結局誰もいない
(5)
初回ゲームのディールの開始プレイヤーを最初に登録されたプレイヤーに
初回ゲームの最初の場の親をダイヤの3を持つプレイヤーに
初回以降のゲームのディールの開始プレイヤーを前回のゲームの最下位プレイヤーの次のプレイヤーに
初回以降のゲームの最初の場の親を前回のゲームの最下位プレイヤーに
初回以降のゲーム開始時にカード交換を行った場合
結果を以下に示す。
********************** Players Record (PlayCount=10000) ***********************
___________________________ Player TestA Record ___________________________
(省略されました・・全てを読むことはできません)
___________________________ Player TestE Record ___________________________
[0](-----) [1](-----) [2](-----) [3](-----) [4](-----) Total
[0] : 236(0.121) 401(0.205) 640(0.327) 461(0.236) 217(0.111) 1955
[1] : 173(0.087) 427(0.214) 665(0.333) 481(0.241) 253(0.127) 1999
[2] : 407(0.201) 450(0.222) 404(0.199) 408(0.201) 357(0.176) 2026
[3] : 578(0.294) 405(0.206) 194(0.099) 328(0.167) 463(0.235) 1968
[4] : 560(0.273) 317(0.154) 123(0.060) 290(0.141) 762(0.371) 2052
(以下略)
604:127
07/11/09 21:19:35
(5)の結果から何が分かるだろう。
下位ランクは中間ランクまでは容易に上がれ,そこから先は運次第。
上位ランクは上位であり続けるか下位に落ちるかのギャンブル。
そこで思い出して欲しい。
このゲームが生まれた1970年代の日本を。
当時は高度経済成長期から安定成長期への移行時期で,
終身雇用制度に基づく一億総中流といった考えが強かった時代だ。
成果主義も格差社会もまだ一般には登場していない。
これまでの実験結果によって明らかになった,
たった2種類のルールによってもたらされるゲーム性は,
そうした時代背景を反映しているとは言えないだろうか。
605:デフォルトの名無しさん
07/11/10 07:09:51
うだうだ独り言はキモイ
多くの新しい知を混ぜるためにage
606:127
07/11/10 07:24:54
誰もいなければ誰と戦おう
誰もいなければ誰を傷つけよう
誰もいなければ誰を滅ぼそう
607:599
07/11/10 07:31:43
>>604
プログラマならコードで語るもんだぜ。
と言うわけで 599 からコードを貼りつづける Java房な俺。
typedef struct {
size_t length;
Card *cards[256];
} Deck;
Deck *freeDeck(Deck *deck) {
unsigned int i;
for(i=0; i<256; i++) freeCard(deck->cards[i]);
free(deck);
return NULL;
}
Deck *newDeck() {
unsigned int i;
Deck *deck;
deck = (Deck *)malloc( sizeof(Deck) );
if(deck == NULL) return NULL;
deck->length = 0;
for(i=0; i<256; i++) deck->cards[i] = NULL;
return deck;
}
この後は Player と Game も構造体にする予定。
そーいや、1ゲームを Game にするとして、大貧民全体としての
何ゲームかセットにしたものは何て呼べば良いんだろ。
608:デフォルトの名無しさん
07/11/10 09:21:42
while( true ) {
printf(" ∩_\n");
printf(" 〈〈〈 ヽ\n");
printf(" 〈⊃ }\n");
printf(" ∩___∩ | |\n");
printf(" | ノ ヽ ! !\n");
printf(" / ● ● | /\n");
printf(" | ( _●_) ミ/ <こいつ最高にアホ\n");
printf(" 彡、 |∪| /\n");
printf("/ __ ヽノ /\n");
printf("(___) /\n\n"),
}
609:デフォルトの名無しさん
07/11/10 12:12:49
>608
オーケー、その案採用するぜ。まだ先だけど。
Card *pushCardToDeck(Deck *self, Card *card) {
if(self->length > 255) return NULL;
self->cards[self->length] = card;
self->length++;
return card;
}
Card *popCardFromDeck(Deck *self) {
Card *card;
if(self->length < 1) return NULL;
self->length--;
self->cards[self->length] = NULL;
return card;
}
Deck *makeDeck() {
Suit s;
Num n;
Deck *deck;
deck = newDeck();
if(deck == NULL) return NULL;
for(s=1; s<=4; s++) {
for(n=1; n<=13; n++) {
Card *c = newCard(s,n);
if(c == NULL) return freeDeck(deck);
if(pushCardToDeck(deck, c) == NULL) return freeDeck(deck);
}
}
return deck;
}
610:デフォルトの名無しさん
08/03/14 10:33:40
あ
611:デフォルトの名無しさん
08/03/14 10:54:17
空気読めない中二病のせいで誰も居なくなったスレだ
612: ◆PyIJyOzha6
08/04/27 00:50:45
test
613:デフォルトの名無しさん
08/05/12 06:48:03
あれ?終わり?どうせなら、ババ抜き、ポーカー、ブラックジャック、スピード、
7ならべ、大富豪(大貧民)、フリーセル、ソリティアくらい作ろうぜ?
614:デフォルトの名無しさん
08/05/12 15:10:52
>>613
ガンバレ!
615:デフォルトの名無しさん
08/05/12 17:23:56
JSでコマンドプロンプト用ソリティアとピラミッドならやったことある。
でもオブジェクト作りまくってるから
C言語には移植しづらいだろうなあ。
616:デフォルトの名無しさん
08/05/12 17:39:10
>>613
大富豪はやってみたい。まずは最後に2人になった時点の読み切りを考えると面白そう。
617:デフォルトの名無しさん
08/05/12 18:58:19
大富豪を作るのか
大富豪の思考ルーチンを作るのか
618:127
08/05/12 23:55:26
あれからもう半年
599氏は元気かな
619:127
08/05/14 06:28:57
おはようございます
620:127
08/05/17 21:27:44
結局誰もいなくなってしまった
自分で追い出しておいて何を今更というか
まさにそのとおりなんだけど
さてそろそろ再開するかな
621:デフォルトの名無しさん
08/05/21 13:46:07
その後、>127の姿を見た者はいない…
622:127
08/05/21 23:52:44
「実はまだその辺にいたりするのであった」
623:127
08/05/22 00:13:59
訂正
「実はまだその辺にいるのであった」
だな
624:デフォルトの名無しさん
08/05/22 00:16:49
>>622
二階じゃないんだから。
625:599
08/05/29 00:24:24
>618
すまない。飽きた。
626:デフォルトの名無しさん
08/06/29 06:19:48
よし、何か作ろうぜい!ババ抜き、7並べ、ブラジャックなら
コンピュータにショボイけどA.I機能を持たせて対戦ゲームを
作れそうな気がしてきた!
今、構造体にカードのスーツと数字を入れて、シャッフルするところまででけた!
627:デフォルトの名無しさん
08/06/29 08:15:36
よっしゃ、今度はプレイヤーの人数を決定して、カードを人数分
振り分けるところまで出来た!さぁ、ナニ作ろうか?
628:デフォルトの名無しさん
08/06/29 08:21:04
7ならべでよろしく。
ちょっとAIのアイディアがあるんで、思考エンジン部だけ簡単に追加できるようにしておいてくれ。
629:デフォルトの名無しさん
08/06/29 08:36:20
うっし、って、各プレイヤーに配布した後、並び替えるところに着手しようとしているところで
徹夜明けなんで寝まつ(^^; すまそ。
630:デフォルトの名無しさん
08/06/30 00:18:52
うおっ、せっかく作ったが、やはり仕様を変更しようってことで
書き直しまつ
631:デフォルトの名無しさん
08/06/30 17:26:13
がむばれ〜
632:127
08/07/12 23:55:35
626氏も結局いなくなってしまったようだ
モチベーションを維持するのって案外難しいね
633:デフォルトの名無しさん
08/07/13 04:43:15
こんなスレもあるくらいだから、なかなか難しいことなんだろうね
ゲームを作るやる気を維持するためには 3バルカン
スレリンク(gamedev板)
634:デフォルトの名無しさん
08/07/23 11:01:50
グランツーリスモのスタッフは年収1千万
URLリンク(www.polyphony.co.jp)
超優秀じゃなきゃ無理だけどw
3Dなら数学の研究者とかね
635:デフォルトの名無しさん
08/07/23 14:08:15
お、盛り上がってるなぁ
Cじゃなきゃ駄目か?
636:デフォルトの名無しさん
08/11/26 09:39:04
637:デフォルトの名無しさん
08/11/27 12:22:48
大富豪おもしろそう
やってみるか
638:637
08/11/30 23:30:31
だ、誰もいないのか!?
とりあえず、データ型は3から10、ジャック、クイーン、キングを整数の3から12として
Aと2は整数の13と14でいいか
強さの比較が楽で
ペアとかトリプルとか革命とか階段とか8切りとかどうやって処理させようか
完成するまでだれも来なかったりしてw
639:デフォルトの名無しさん
08/11/30 23:38:37
いや、「やってみるか」じゃ突っ込みようがないから。
640:637
08/11/30 23:49:24
いろいろロジック考えてるうちに実はCの勉強にはとってもいい題材ではないかと思えてきた
データ型、文字列の操作、構造体、関数、条件分岐、構造化やモジュール化、デバッグなどが全部学べる
641:637
08/11/30 23:53:59
あ、革命はすべてのカードの値に-1を掛ければいいのか
あれ?革命したあとでもジョーカーが最強だっけ?
642:デフォルトの名無しさん
08/11/30 23:56:31
できるかつまるかしてからおいで。
643:デフォルトの名無しさん
08/12/01 00:26:11
ksk
644:デフォルトの名無しさん
08/12/01 00:37:10
つWikipedia項目リンク
645:デフォルトの名無しさん
08/12/01 04:49:35
ゲ製でやれやクズども
646:デフォルトの名無しさん
08/12/02 02:01:44
>638
そんな話は 昔 >231 とかにあったよ
647:デフォルトの名無しさん
08/12/02 08:13:44
とりあえずcard構造体を宣言してみる。
648:デフォルトの名無しさん
08/12/02 09:30:05
>>647
そんな話が>>127にあったな・・・
649:デフォルトの名無しさん
08/12/02 14:04:24
まず、class suitを。
650:デフォルトの名無しさん
08/12/02 22:20:43
「C言語」なんだからclassはダメだろ。
構造体と、構造体を操作する為の関数くらいの構成で。
651:デフォルトの名無しさん
08/12/02 22:26:15
#define class struct
652:デフォルトの名無しさん
08/12/02 23:10:59
typedefの方がいい
653:デフォルトの名無しさん
08/12/03 18:43:54
無理だろ・・・
654:デフォルトの名無しさん
08/12/07 22:22:55
BASICで書かないか?
655:デフォルトの名無しさん
08/12/07 23:23:56
スレタイ
656:デフォルトの名無しさん
08/12/08 06:16:37
BASICて…もっとキツくないか?
657:デフォルトの名無しさん
08/12/19 15:10:13
VBでポーカー作ってるけど、ストレートの判別方法だけが難しい
誰か暇な人教えてください
658:デフォルトの名無しさん
08/12/19 15:42:53
自己解決しました。
Private Function isStreat(ByVal card() As Card) As Boolean
Dim sortedCard(4) As Integer
sortedCard(0) = card(0).Number
sortedCard(1) = card(1).Number
sortedCard(2) = card(2).Number
sortedCard(3) = card(3).Number
sortedCard(4) = card(4).Number
Array.Sort(sortedCard)
If sortedCard.Contains(13) And sortedCard.Contains(1) Then
If sortedCard(0) = 1 Then
sortedCard(0) = 14
End If
If sortedCard(1) = 2 Then
sortedCard(1) = 15
End If
If sortedCard(2) = 3 Then
sortedCard(2) = 16
End If
If sortedCard(3) = 4 Then
sortedCard(3) = 17
End If
Array.Sort(sortedCard)
End If
If sortedCard(0) + 1 = sortedCard(1) And sortedCard(1) + 1 = sortedCard(2) And sortedCard(2) + 1 = sortedCard(3) And sortedCard(3) + 1 = sortedCard(4) Then
Return True
End If
Return False
End Function
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4747日前に更新/153 KB
担当:undef