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
659:デフォルトの名無しさん
08/12/20 19:33:43
>658
K,A,2,3,4 はストーレートぢゃない
(ローカルルールなのかな?)
660:デフォルトの名無しさん
08/12/21 19:03:49
> ストレートにおけるAの取り扱い
>
> ストレート(およびストレートフラッシュ)では、AはKとも2ともつなげる事が出来る。
> すなわちA-2-3-4-5もA-K-Q-J-10もストレートとみなされる。
> しかしQ-K-A-2-3のようにK-A-2を含むものはストレートとはみなされない。
意外ト難シイノネ
661:デフォルトの名無しさん
08/12/21 19:08:07
あ、でも日本ポーカープレーヤーズ協会だと
> ストレート( straight )
> 5枚連続カード
> 例:5s 4d 3h 2s Ac
> なお、AとKは、連続しているとはみなされません。
> (例外として、AKQJT は、ストレートとみなされます。)
> 例えば、4h 3s 2d As Ks は、ストレートではありません。
か。どちらにしてもK-A-2は繋がらないみたいだな。
662:デフォルトの名無しさん
08/12/21 19:10:24
>>661
回りくどい言い方だが、要するに普通のルールってことだよね。
663:デフォルトの名無しさん
08/12/21 19:16:24
どっちにしてもC言語で作るという枷からは逃れられない
このスレでは他の言語で作る奴はその時点でルール違反なのだ
664:デフォルトの名無しさん
08/12/21 19:20:11
C言語でスクリプト言語のインタプリタを作って
その言語で組む事くらいは問題ないですよね?
665:デフォルトの名無しさん
08/12/21 19:31:18
トランプゲームのデータとロジックの実装がC言語でなされていない場合
C言語でトランプゲームを作ったとは言えないだろう
せいぜい実装済みオプションのオンオフ程度が限界ではないか
666:デフォルトの名無しさん
08/12/21 19:34:53
しかし今更Cというのもな・・・。
C++で組みたいぜ。
667:デフォルトの名無しさん
08/12/21 19:57:00
誰でも楽をしたい
そして楽を正当化する経済的な理由もある
ここはそういう世俗的な合理性に歯向かうスレです
プログラミングは苦行であり
他の言語を使って楽をしようとする不信心者は戒められなければなりません
668:デフォルトの名無しさん
08/12/21 20:31:53
別にカードデータくらい素の構造体で難なく作れるだろ
今時のやつって規模も何も考えずにデザパタとか適用しようとするの?
669:デフォルトの名無しさん
08/12/21 20:33:58
Cだとまともな名前空間もオーバーロードもないから
その構造体を操作する関数の名前に
構造体名を付けたりすることがよくあるが、
関数名が長くなって仕方が無い。
670:デフォルトの名無しさん
08/12/22 13:27:52
>668
オブジェクト指向だからと言って、必ずデザパタを使うワケではないぞ。
671:デフォルトの名無しさん
08/12/22 21:09:34
カプセル化もデザインパターンの1つだと思うんだ。
672:デフォルトの名無しさん
09/02/18 12:07:42
保守
673:476
09/02/18 13:23:57
#include <stdio.h>
void tramp(void)
{
int x=0;
printf("select Number:");
scanf("%d",&x);
if(x>=1&&x<=9){
printf("\x1b[0m");
printf("\n");
printf("\x1b[37m --------\n");
printf("|%d |\n",x);
printf("| |\n");
printf("| :) |\n");
printf("| |\n");
printf("| %d |\n",x);
printf(" --------\n");
printf("\x1b[0m");
}else
{
printf("1~9 Input\n");
}
}
int main(void)
{
int x;
for(;x!=EOF; x++)
{
tramp();
}
return 0;
}
674:476
09/02/18 13:24:22
私が作ったトランププログラムです
675:デフォルトの名無しさん
09/02/19 00:51:03
トランプの綴りはtrampでなくtrump
ただしtrumpの英語での意味は切り札のことで
日本語で一般に言うところのトランプはplaying cardsもしくは単にcardsという
676:デフォルトの名無しさん
09/03/20 22:24:43
>>657
VB使ったことないのでCで表現すると
while(i < 4){
next = hand[i]+1
if(hand[i+1] == next){
i++;
} else {
break;
}
}
if(i >= 4) printf("ストレート");
仕様
hand[添え字]・・・手札
next・・・i+1枚目の手札の数値
ストレートであると判断された場合、単純に「ストレート」の文字列を出力するプログラムだけど、絵柄の判定は俺の持ち合わせる知識じゃ無理だ
フラッシュの判定ができるならできるはずだが
677:デフォルトの名無しさん
09/03/20 22:25:31
>>676
訂正
絵柄の判定→絵柄の表現
678:デフォルトの名無しさん
09/03/23 13:17:06
ダメだこのスレ。