感想

 投稿日:2008年11月 7日(金)19時00分44秒
  私はよくプログラムが作れないんですが、感覚としてずれを生じている箇所として
山を作らせる数字は2~12の範囲でしかないから、下記の辺りの調整か


INPUT PROMPT "好きな数字(2~N:N<=12)": K
2450
2460 CALL routine2_1(H) !各山へ分配する
2470 SUB routine2_1(C())
2480    FOR x=1 TO N+1
2490       CALL dec(C,1,w) !1枚ずつ
2500       SELECT CASE MOD(x-1,K)+1 !それぞれの山へ

好きな山を選択するときは、1なら動きはないからDATA の最初は0?
あと2920行では wlk(K)→wlk(x)?


2870 INPUT PROMPT "好きな山を選ぶ(1~K:K<=N,ただし0は終了)": x
2880
2890 DIM wlk(N)
2900 DATA 1,1,1,1,-2,1,-1,-3,4,3,2,1 !回収方法 ※1なら右へ1、-2なら左へ2の意
2910 MAT READ wlk
2920 LET KEY1=wlk(K) !終端位置を記憶する
2930
2940 DIM yy(0 TO N+1)
2950 CALL routine2_2 !各山から回収する

のような気がします。
でもどこがどう直すかはまったくわかりません。
 

Re: 感想

 投稿者:山中和義  投稿日:2008年11月 7日(金)19時21分52秒
  > No.59[元記事へ]

GAIさんへのお返事です。

2回目のマジック部分(No.58記事)の先頭箇所のコメントを削除して実行してください。
スペード、ハートとも、1,2,3,4,5,6,7,8,9,10,11,12でカードの動きがわかります。
これが実際の動きと同じでない箇所がプログラムミスとなります。

お手数ですが、確認してみてください。



!CALL copy(cS,12,S) !!!!!移動先の調査 <----- ここ
!CALL copy(cS,12,H) !!!!! <----- ここ
PRINT

CALL inc(H,99, N+1) !K(キング)を底に追加する


PRINT "(ハートパケットを)数回カットする。"
FOR x=1 TO 5
   CALL cut(H,INT(RND*(N+1))+1)
NEXT x

(以下略)
 

Re: 感想

 投稿日:2008年11月 7日(金)20時14分51秒
  > No.60[元記事へ]

山中和義さんへのお返事です。

> 2回目のマジック部分(No.58記事)の先頭箇所のコメントを削除して実行してください。
> スペード、ハートとも、1,2,3,4,5,6,7,8,9,10,11,12でカードの動きがわかります。
> これが実際の動きと同じでない箇所がプログラムミスとなります。



スペード札とハート札が逆になった状態にあるような気がします。
ハートのK(13)を付け加えるときに、なにかスペード札の方に加わっているように
感じます。
最初の札の交換のとき、元々手にしていたスペードパケットが、結果的にハートカード
の集まりに変化してしまうことが影響しているのでしょうか?
 

戻る