プログラム解析4回目。
520行目、Zに33+A(30) を代入。この時点で配列変数A(30)=0 なので、Z=33となる。さらに A(Z) に 1 を足す。この時点で A(33)=0 なので、A(33)=0+1=1 となる。
530行目、A(35) に 28+A(30) を代入。この時点で配列変数A(30)=0 なので、A(35)=28 となる。
540行目、A((Z-19)+A(Z)) をさきほど発生した1~13の乱数とする。 Z は 33 で、A(33)=1 なので、この配列変数は A(34) である。さらに Z を 31+A(30) とするが、この時点で配列変数A(30)=0 なので、Z=31+0=31 となる。
600 IF Y=1 LET A(Z)=A(Z)+11:A(A(35))=A(A(35))+1:GOTO 630
さきほど発生した乱数が 1 である場合、A(31) を 0+11=11 とする。これは「A」の処理だろう。配列変数A(28) を 0+1=1 とする。630行目へ飛び、オーバーの判定をする。
610 IF Y>9 LET A(Z)=A(Z)+10:GOTO 630
さきほど発生した乱数が 10以上である場合、A(31) を 0+10=10 とする。これは「10」「J」「Q」「K」の処理だろう。630行目へ飛び、オーバーの判定をする。
620 A(Z)=A(Z)+Y
A(31) にさきほど発生した乱数を足す。
630 IF A(Z)<22 GOTO 690
オーバーの判定。A(31) が 21以下であればメインルーチンへもどる。
640 IF A(Z-3)=0 GOTO 690
配列変数A(28) が 0 であればメインルーチンへもどる。この場合、0 なのでもどる。
650 A(Z)=A(Z)-10:A(Z-3)=A(Z-3)-1:GOTO 630
もしオーバーしていて、しかも配列変数A(28) が 0 でない場合、A(31) から10 を引く。これは「A」の処理だろう。A(28) の数字をひとつへらして、ふたたびオーバーの判定をする。
690 RETURN
メインルーチンへもどる。
ところでこのプログラムは39年前に「ポケットコンピューター友の会」の杉山哲夫さんという方が作ったものであるらしい。
テクニックのかたまりのようなプログラムである。トランプ52枚を使っていないようだが、それはメモリの関係でしかたがないのだろう。
520行目、Zに33+A(30) を代入。この時点で配列変数A(30)=0 なので、Z=33となる。さらに A(Z) に 1 を足す。この時点で A(33)=0 なので、A(33)=0+1=1 となる。
530行目、A(35) に 28+A(30) を代入。この時点で配列変数A(30)=0 なので、A(35)=28 となる。
540行目、A((Z-19)+A(Z)) をさきほど発生した1~13の乱数とする。 Z は 33 で、A(33)=1 なので、この配列変数は A(34) である。さらに Z を 31+A(30) とするが、この時点で配列変数A(30)=0 なので、Z=31+0=31 となる。
600 IF Y=1 LET A(Z)=A(Z)+11:A(A(35))=A(A(35))+1:GOTO 630
さきほど発生した乱数が 1 である場合、A(31) を 0+11=11 とする。これは「A」の処理だろう。配列変数A(28) を 0+1=1 とする。630行目へ飛び、オーバーの判定をする。
610 IF Y>9 LET A(Z)=A(Z)+10:GOTO 630
さきほど発生した乱数が 10以上である場合、A(31) を 0+10=10 とする。これは「10」「J」「Q」「K」の処理だろう。630行目へ飛び、オーバーの判定をする。
620 A(Z)=A(Z)+Y
A(31) にさきほど発生した乱数を足す。
630 IF A(Z)<22 GOTO 690
オーバーの判定。A(31) が 21以下であればメインルーチンへもどる。
640 IF A(Z-3)=0 GOTO 690
配列変数A(28) が 0 であればメインルーチンへもどる。この場合、0 なのでもどる。
650 A(Z)=A(Z)-10:A(Z-3)=A(Z-3)-1:GOTO 630
もしオーバーしていて、しかも配列変数A(28) が 0 でない場合、A(31) から10 を引く。これは「A」の処理だろう。A(28) の数字をひとつへらして、ふたたびオーバーの判定をする。
690 RETURN
メインルーチンへもどる。
ところでこのプログラムは39年前に「ポケットコンピューター友の会」の杉山哲夫さんという方が作ったものであるらしい。
テクニックのかたまりのようなプログラムである。トランプ52枚を使っていないようだが、それはメモリの関係でしかたがないのだろう。
※コメント投稿者のブログIDはブログ作成者のみに通知されます