- 1 名前:デフォルトの名無しさん [2007/09/16(日) 06:46:13 ]
- ばば抜き、大貧民、いろいろあるけどこういうのってほとんどがJavaとかだよね。
CUIでもいいからみんなで作ろう
- 62 名前:とりあえず mailto:sage [2007/09/17(月) 17:03:17 ]
- #include <stdio.h>
#include <stdlib.h> #include <time.h> char *suit[]={"S","H","D","C"}, *rank[]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; int card[52]; /* 52=4*13 */ int hand[52][52], numOfHand[52]; void shuffle(void){ int i; for(i=0; i<52; ++i){ int pos=(i+1.0) * rand() / (RAND_MAX + 1.0); card[i]=card[pos]; card[pos]=i; } } void cardDisp(int num, int *card){ int i; for(i=0; i<num; ++i) printf("[%s%s]", suit[card[i]/13], rank[card[i]%13]); putchar('\n'); } void deal(int numOfPlayer){ int i=0, p, n=0; for(n=0;;++n) for(p=0; p<numOfPlayer; ++p){ numOfHand[p]=n+1; hand[p][n]=card[i++]; if(i>52) return; } } int main(void){ srand(time(NULL)); shuffle(); deal(2); cardDisp(numOfHand[0], hand[0]); cardDisp(numOfHand[1], hand[1]); return 0; } 配るまで
- 63 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 17:40:32 ]
- 配るまではまぁなんとかだな。そういうや先攻後攻を決めるにはどうすればいい?0か1かで判断?
- 64 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 18:46:15 ]
- 」・、ヲ
- 65 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 19:00:24 ]
- 大富豪でカードを作る。ジョーカーつき。二人でやってルールは革命くらいでいいかな。作れるか?
- 66 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 19:30:54 ]
- 乱数はrandでいいと思う?
もっと高精度なの使う?
- 67 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 19:34:08 ]
- いいんじゃないか?偏りがあるとか聞くけどそこまで精度なのは求めてないかと
- 68 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 20:45:51 ]
- 暗号用とか技術用だと乱数機工夫した方が良いが
ゲーム程度なら要らないかと ゲーム向きの乱数生成法としては 時計orタイマーをキーにするって方法もある ユーザ入力のタイミング次第で結果が変わるので、お手軽かつ偏りが少ない
- 69 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 21:18:24 ]
- 6人プレイの革命有り、ジョーカーのワイルドカードありで造った事有るなぁ。
- 70 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 21:32:09 ]
- C++じゃマズいんだっけか
- 71 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 21:50:38 ]
- Cでだからな。表示もprintfだけでも何とかなるぽ。ちょっと面倒だけど
- 72 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 22:30:23 ]
- int pos=(i+1.0) * rand() / (RAND_MAX + 1.0);
これてどういうこと?
- 73 名前:デフォルトの名無しさん [2007/09/17(月) 23:01:51 ]
- rand() / (RAND_MAX + 1.0)ってのは0以上1未満の数を一様乱数で返す
だっけ?面倒だろうけどコメントつけていってw俺にもサパーリ
- 74 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 23:14:50 ]
- 宿題スレでも見とけ
- 75 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 23:28:10 ]
- (i+1.0) * rand() / (RAND_MAX + 1.0) は rand() % (i+1) の高精度版だと思っとけばOK
- 76 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 23:28:51 ]
- // pos は 0 以上 RAND_MAX 以下の整数
pos = rand(); // pos は 0 以上 1 未満の実数 (int pos ならキャストされて整数に) pos = rand() / (RAND_MAX + 1.0); // pos は 0 以上 N 未満の実数 (int pos ならキャストされて整数に) pos = rand() / (RAND_MAX + 1.0) * N; // pos は K 以上 N 以下の整数 (俺が正しいと思ってる書き方) pos = K + (int)( rand() / (RAND_MAX + 1.0) * (N+1-K) ); int pos=(i+1.0) * rand() / (RAND_MAX + 1.0); 除算 "/" 演算は、被除数か除数の一方が float でもないと小数値を切り捨てる。 これは、(RAND_MAX + 1.0) で解消される。 (i+1.0) * rand() の 1.0 は 1 でもいいが、 rand()の値によっては、乗算をした瞬間にオーバーフローする可能性がある。 上に書いたように乗算を後からやれば問題ない。
- 77 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 23:40:34 ]
- (i+1.0) * rand() / (RAND_MAX + 1.0);ってのは0以上i+1未満の数をランダムで返すってこと?
- 78 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 23:53:53 ]
- >>77
そういうこと。 整数なのでi+1未満ってことは、i以下ってこと。
- 79 名前:デフォルトの名無しさん [2007/09/18(火) 03:10:04 ]
- 作って思ったこと。全部mainに入れ込んでた俺は明らかに初心者。しかもカードを小さい順から出すってのがわからない
- 80 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 06:24:49 ]
- 手札を番号順にソート
パス?=真 番号の小さいカードから順に見て{ 場札より大きいなら{ カードを場に出す パス?=偽 } }
- 81 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 06:46:03 ]
- あ〜…カード出した時点でループ抜けなきゃマズいな
- 82 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 07:00:18 ]
- その処理全体を関数にして
出したらそこでreturnすればフラグは要らないな そうすれば、ループ回りきった=出せない、なのだから
- 83 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 07:55:23 ]
- 手札ソートについては、あらかじめ3〜K,1,2の順をデフォルトにしとけばいいじゃん
何も考えずに1〜Kの順で配列にするから、順番入れ替えの必要があるわけで
- 84 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 08:04:17 ]
- 手札って強さの順にソートする必要あるのか?
- 85 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 08:14:40 ]
- 見易さのために決まってるでしょ。
- 86 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 08:16:31 ]
- 1から13の順じゃ駄目なのか?
- 87 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 08:17:18 ]
- 比較関数はソート以外にも使える
- 88 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 09:15:34 ]
- 強さ順にソートにすれば、いくつかの処理が簡単に書けるんじゃね?
- 89 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 13:31:46 ]
- 2と3は繋がらないしね
- 90 名前:デフォルトの名無しさん [2007/09/18(火) 15:03:59 ]
- 出力は>>21あたりが見やすそうだな
- 91 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 15:32:42 ]
- そう思うんならそういう風なコードをここに書けば?
- 92 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 16:34:07 ]
- 俺ならスートは小文字
- 93 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 18:46:04 ]
- ある程度書いたが、手札の出力書式はどんなのがいいんだ?
#Player 1 Spade : 1 2 5 Heart : 1 2 3 4 6 9 11 13 Club : 1 3 4 6 7 8 9 10 11 Dia : 1 4 5 9 12 13 #Player 2 Spade : 3 4 6 7 8 9 10 11 12 13 Heart : 5 7 8 10 12 Club : 2 5 12 13 Dia : 2 3 6 7 8 10 11 #Player 1 Spade : 1 2 -- -- 5 -- -- -- -- -- -- -- -- Heart : 1 2 3 4 -- 6 -- -- 9 -- 11 -- 13 Club : 1 -- 3 4 -- 6 7 8 9 10 11 -- -- Dia : 1 -- -- 4 5 -- -- -- 9 -- -- 12 13 #Player 2 Spade : -- -- 3 4 -- 6 7 8 9 10 11 12 13 Heart : -- -- -- -- 5 -- 7 8 -- 10 -- 12 -- Club : -- 2 -- -- 5 -- -- -- -- -- -- 12 13 Dia : -- 2 3 -- -- 6 7 8 -- 10 11 -- -- #Player1 : S(1 2 5) H(1 2 3 4 6 9 11 13) C(1 3 4 6 7 8 9 10 11) D(1 4 5 9 12 13) #Player2 : S(3 4 6 7 8 9 10 11 12 13) H(5 7 8 10 12) C(2 5 12 13) D(2 3 6 7 8 10 11)
- 94 名前:クソゲー mailto:sage [2007/09/18(火) 20:55:41 ]
- カードは一枚ずつ選択。革命などなし。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4935.zip
- 95 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 21:02:36 ]
- >>94
CPUはこっちが出したスートしかださないのか
- 96 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 21:52:10 ]
- ありゃ。そういうルールじゃなかったっけ。くそげー
- 97 名前:デフォルトの名無しさん [2007/09/18(火) 23:01:26 ]
- >>93 一番上が見やすい
- 98 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 23:02:42 ]
- for文や配列くらいしかワカラナイ俺でも大富豪ってできる?
- 99 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 23:16:13 ]
- できんことはないと思うがポインタとかそういうの分かってたほうが短くかけるかも
- 100 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 23:36:14 ]
- そんな初心者だが俺もやってみる。ほんとワカラナイことだらけだから変なプログラムやこれはおかしいって
やつも貼り付けると思うけど教えてくれ
- 101 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 23:42:00 ]
- そういうことはコードを張ってから言え。
- 102 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 00:14:08 ]
- 今はとりあえずカードをスペード、ハート、クローバー、ダイヤを13枚ずつランダムに表示するようなものを作ってる。
- 103 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 01:11:26 ]
- 一応やってみました。でもただランダムに表示するだけ。ポインタとかも使ってません。
突っ込みどころ満載とはおもいますがお願いします。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4940.txt
- 104 名前:とりあえず mailto:sage [2007/09/19(水) 01:37:06 ]
- > 62 をソートしてみた
static int getCmpRank(int *p){ int r=*p%13; return (r<2)?r+13:r; } static int cmp(const void *p1, const void *p2){ int r1=getCmpRank((int *)p1), r2=getCmpRank((int *)p2); if(r1!=r2) return (r1<r2)?-1:1; else{ int s1=*((int *)p1)/13, s2=*((int *)p2)/13; if(s1!=s2) return (s1<s2)?-1:1; } return 0; } #define NumOfPlayer 5 void dispAll(void){int i; printf("%4c",' '); for(i=0; i<52/NumOfPlayer+1; ++i) printf(" -%2d- ", i); putchar('\n'); for(i=0; i<NumOfPlayer; ++i){ printf("#%02d:",i+1); qsort(hand[i], numOfHand[i], sizeof(int *), cmp); cardDisp(numOfHand[i], hand[i]); } } int main(void){ srand(time(NULL)); shuffle(); deal(NumOfPlayer); dispAll(); return 0; }
- 105 名前:デフォルトの名無しさん [2007/09/19(水) 01:38:44 ]
- >>103と>>104の違いに吹いたw
- 106 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 01:40:06 ]
- とりあえずこっそりと そぉ〜っと ソート してみたんですが、気づきましたか?
- 107 名前:103 mailto:sage [2007/09/19(水) 01:43:59 ]
- やっぱりポインタとかは必要ですか・・・
- 108 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 01:45:39 ]
- > 107
'関数'化だな、まずは。
- 109 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 01:46:50 ]
- >>107
俺の経験によると、お前は伸びるタイプだな がんばれ
- 110 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 01:47:31 ]
- グローバル領域に
int s[13],h[13],c[13],d[13]; だろ?伸びる兆しが見えん。
- 111 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 01:49:10 ]
- >>110
まだ、うまいへたを論じるレベルじゃない
- 112 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 01:50:59 ]
- > 110
まてまて それを2次元配列にすれば→ int card[4][13]; そんなに悪くはないぞ
- 113 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 01:52:06 ]
- ...C言語で「2次元」配列は無いわな orz
- 114 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 01:53:10 ]
- ポインタ知らなきゃグローバル領域に置くほかない罠
- 115 名前:103 mailto:sage [2007/09/19(水) 02:08:03 ]
- すいませんお風呂入ってました。
関数化にポインタに二次元配列ですか・・・ まだカードを配るところにすらいってないのに・・・ お風呂上りに麦茶一気飲みしたらお腹が痛くなってきたので寝ます。 また来ますのでそのときはアドバイスよろしくお願いします
- 116 名前:デフォルトの名無しさん [2007/09/19(水) 02:11:26 ]
- お大事にw
- 117 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 02:15:15 ]
- その麦茶、腐ってねーか?
- 118 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 02:22:27 ]
- っつか、俺流だと1〜52までの数値をそれぞれ4つの1〜13のスーツに割り当てるけどね。
ちなみに、スーツの強弱は ♠ ♥ ♦ ♣ の順になっているんで 1から13までをスペードといった形で割り当てている。
- 119 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 02:24:23 ]
- ここにあがってるソースはほとんどそうなってると思うが?
- 120 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 02:27:05 ]
- ここって、そんなに出てないじゃん・・・しかも一部、その順番になってないものもあるしw
- 121 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 02:34:24 ]
- 大富豪だよな?
大富豪にスートの強弱なんか無えよ
- 122 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 02:38:39 ]
- まあ普通は1から52じゃなくて、0から51にするよな
- 123 名前:デフォルトの名無しさん [2007/09/19(水) 03:14:07 ]
- まぁまだ始めたばかりみたいだしあれもこれもってなるときついとこもあるな。とりあえず書いていって後からポインタとかに書き直せばいい
- 124 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 04:30:31 ]
- >107
この程度なら「必要」ではないよ。使えた方が「効率的」だったり「楽」なこともあるけど。
- 125 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 05:28:52 ]
- >>76
整数にキャストするなら実数に変換する意味なくない? 普通に剰余を求めればいいのでは。
- 126 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 05:40:08 ]
- >>125
rand()の実装を考えると、普通に剰余するだけでは精度が悪い。 精度を上げるために上位ビットの値を使ってる。
- 127 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 06:12:55 ]
- 流れからすると構造体でカードを一枚一枚作ってる自分は負け組っぽいな
やる気が失せる
- 128 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 06:36:14 ]
- グローバルに int hand[player][cards] 宣言して処理してる
構造体なんか使ってねえや
- 129 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 07:00:22 ]
- カードを構造体にするのも悪くないと思う。
カードの表示や比較をする度に除算や余算をしなくていいし。 いまどきの環境なら容量に気をつかう必要があるわけじゃないしね。
- 130 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 09:13:32 ]
- struct Card {
CARD_NUM number; CARD_SUIT suit; FUGO_CARD_RANK rank; LPCSTR str; };
- 131 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 09:23:02 ]
- AIで探索したりするなら容量に気を使うこともあるかもなー
- 132 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 09:58:33 ]
- >>130は流石に大げさだと思うけど、逆にメモリ使用量を一番ケチれるのはどんな方法?
- 133 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 10:13:20 ]
- 必要最小限のメモリ確保で、ポインタを使って(シーク的な意味で)アクセス。
- 134 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 10:44:07 ]
- HDに保存
- 135 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 18:00:20 ]
- 大げさなデータ構造にしといた方がのちのち便利だと思うけどね。
特に大富豪は数字が一番低いのがカードの強さが一番低いになってないのがぶちきれる
- 136 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 18:02:38 ]
- 革命があると強さが逆転したり、
同時に複数枚数出す事が出来たり、 面倒だ
- 137 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 18:25:47 ]
- がんばって作れよ
- 138 名前:103 [2007/09/19(水) 19:47:06 ]
- 二人に分けるにはどうしたらいいでしょうか・・・
- 139 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 19:53:04 ]
- >>138
日本語で
- 140 名前:103 mailto:sage [2007/09/19(水) 19:56:04 ]
- すいません。>>103でハート、クローバー、スペード、ダイヤを13枚ずつ作りました。これを二人にランダムで分けたいんです。
二人なので26枚ずつに
- 141 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 19:59:11 ]
- >>140
とりあえず、C言語の本を一冊やり切ってからまた来い
- 142 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 20:01:59 ]
- >>103で何をしたつもりになってるの?
- 143 名前:103 mailto:sage [2007/09/19(水) 20:11:19 ]
- すいません。やったつもりでいました。とりあえずまた来ます
- 144 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 20:17:28 ]
- マークごとに配列4つ作っても意味ない
- 145 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 20:28:27 ]
- 先はまだまだ長そうだな
- 146 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 20:34:08 ]
- 初心者でも作ろうとすることはいいことだ。ただ今の知識じゃちょっときついとこがあるだけ
- 147 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 20:39:23 ]
- んだ
學而不思則罔、思而不學則殆つってな 工夫して勉強しての繰り返しだ
- 148 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 20:48:41 ]
- 目的に合わない無駄なことを繰り返して苦労しても何も結果は出ないよ。
まず何を作るべきか、手段や手法を理解した方が良い。 この場合、トランプゲームにおいて、カードの山を作るということを イメージして、それをどのように実装するか?をまず考える。 スーツごとに分けたものをシャッフルした山を用意してどないしましょ?
- 149 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 20:49:26 ]
- とりあえず今はカードの配列を作ってそれに数字を入れて表示しただけ。これをカードとして
使うのは・・・まぁ頭のいい人に聞いて
- 150 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 20:53:15 ]
- このスレ頭から読み直して、他の人がカードをどういうふうに扱ってるか良く見ればいいのに
- 151 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 20:58:31 ]
- 具象から抽象へ思考のジャンプが必要になるところ
本質的に難しいことなので、理解するのにちょっと時間かかってもしょうがない
- 152 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 21:16:46 ]
- 抽象から具象じゃなくて?
- 153 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 21:36:25 ]
- データ構造が大事だな
- 154 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 22:11:14 ]
- >>143
なんかよくわかんないけど130は基本的にダメPO。 宿題スレの乗りでおいてみる¨ #include <stdio.h> #include <stdlib.h> #include <time.h> #include <memory.h> int S=0,H=13,C=26,D=39,J=52,N=4,M=54; char* SUIT[5]={"S","H","C","D"}; void swap(int *a,int *b) {int t=*a;*a=*b;*b=t;} void initDeck(int *d){int i;for(i=0;i<M;i++)d[i]=i;} void initHand(int *h){memset(h,-1,sizeof(int)*N*M);} void shuffle(int* d){int i,j;srand((unsigned)time(0)); for(i=0;i<M;i++){j=rand()%M;swap(d+i,d+j);}} void distribute(int *d,int *h){int i; for(i=0;i<M;i++)swap(h+((i%N)*M+(i/N)),d+i);} void show(int *h){int i,j,t;for(i=0;i<N;i++){ printf("PLAYER%d: ",i);for(j=0;(t=h[i*M+j])>=0;j++){ if(t<J)printf("%s-%d ",SUIT[t/13],t%13+1); else printf("JOKE ");}puts("");}} void game(){int d[M];int h[N*M];initDeck(d);initHand(h); shuffle(d);distribute(d,h);show(h);} int main() {game();system("PAUSE");return 0;}
- 155 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 22:27:02 ]
- >154
どこら辺がダメぽか書けよ… つーかお前のそのコードは読めんぞ。 7行スレとかのノリのつもり?
- 156 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 22:35:34 ]
- >>154
どうみてもダメなのはお前
- 157 名前:154 mailto:sage [2007/09/19(水) 22:37:33 ]
- >>155 ゴメン。 130じゃなくて103ネ。安価間違えた
ロダにあげるのメドクサイから改行抜いただけだけど。
- 158 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 22:38:58 ]
- >>103のためにどこがいけないか教えてあげないと
- 159 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 22:40:09 ]
- なんでわざとわかりずらく書くんだよ読む人のことをしないならうpるなよまじしねまじしね
- 160 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 22:41:12 ]
- その偏ったシャッフルでカードをシャッフルしたつもりかよw
- 161 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 22:50:07 ]
- もう誰か>>34を作ってやれよ。俺には無理だけど
- 162 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 00:38:25 ]
- >>161
できる奴がやってもしょうがねえって よって、おまえやれや。教えてやっからよ
|

|