カードが並んでいます

 投稿者:GAIメール  投稿日:2008年12月 3日(水)19時28分13秒
  おおおおーワンダフル。
トランプが実際に並んでいます。(どこから現れたのか?)
いちいち手作業でやっていた操作が一瞬で終了します。
しかも毎回カードは見事にばらばらでスタートできます。
中の構造はおぼろげながら読み解けますが、細部はまだ解読する力が私にはありません。
こんな長い過程のプログラムがよくこんな短時間にできますね。
問題を見た瞬間、だいたいこうプログラムを組めばいいんだとわかるもんなんですか?
プログラムを恐る恐る一部手直しをして、例えばダイアの2,4,5のカードだけをアウトジョグしてボトムへ回そうとあれこれ挑戦したのですが、いずれも機械がいうことを聞いてくれません。
ダイアと他のマークを含めた2,4,5のカードがアウトジョグされたりします。
AND で繋ごうと試みても、”ここにはANDは入れられません”などのコメントを受けます。
プログラムで特定のカード(マークと数字の指定)を、アウトジョグするにはどのように
記述したらよいか教えてください。
 

Re: カードが並んでいます

 投稿者:山中和義  投稿日:2008年12月 3日(水)20時09分59秒
  > No.141[元記事へ]

GAIさんへのお返事です。

> 例えばダイアの2,4,5のカードだけをアウトジョグしてボトムへ回そう

> プログラムで特定のカード(マークと数字の指定)を、アウトジョグするにはどのように記述したらよいか教えてください。


FOR i=1 TO N !該当するカード ※マークと数字
   k=CNum(c$,i)
   IF CMark$(c$,i)="D" AND ( k=2 OR k=4 OR k=5 ) THEN LET flg(i)=1
NEXT i
CALL shuffle(c$,flg)


または

FOR i=1 TO N !該当するカード ※カード
   SELECT CASE CGet$(c$,i)
   CASE "D2","D4","D5"
      LET flg(i)=1
   CASE ELSE
   END SELECT
NEXT i
CALL shuffle(c$,flg)
 

戻る