=begin
casio basic language
fx-CG50グラフ電卓で動く落ちものゲームです。
堀江伸一
一桁の数字ブロック(aとします)が落ちてくるので4、6キーで左右に動かし落とすところを決めてください。
着底すると、下に数字(bとします)があり、a>=bなら下の数字をつぶして得点にできます。
つぶすとaの数字はa-bになり、さらに下が小さいならさらに下をつぶせます。
つぶしてる途中でaが0になればaは最初の数字に回復します。
つぶせなくなったら、着底時の最初の数字に戻ってそこでつぶすのは止まります。
説明を読むより2~3回ほど遊んでいただくとわかると思います。
表示バグが一つだけ。
次に落ちてくる数字も表示してますが。
100個目のブロックだけ次の数字に間違った数字が表示されますが。
それ以外は普通に遊べると思います。
大したバグではないので放置してます。
'ProgramMode:RUN
3->X
1->Y
0->A
0->S
0->T
0->U
0->C
1->N
[[10,0,0,0,0,0,10][10,0,0,0,0,0,10][10,0,0,0,0,0,10][10,0,0,0,0,0,10][10,0,0,0,0,0,10][10,0,0,0,0,0,10][10,0,0,0,0,0,10][10,10,10,10,10,10,10]]->Mat M
[[3,2,5,1,9,7,3,8,3,3,6,3,9,7,4,4,1,4,5,3,4,8,5,4,3,4,7,2,2,4,9,1,3,4,5,2,7,2,5,2,3,7,7,8,1,8,1,2,3,1,3,2,7,4,5,8,6,8,5,1,2,6,5,1,5,2,8,7,1,2,3,8,4,3,6,9,8,7,6,9,5,3,7,2,4,6,1,5,4,1,2,3,4,5,6,7,8,9,1,4,7,3,5,6,7,8,4,1,3,2,8,7,4,2,4,7,1,5,6,2,3,7]]->Mat D
For 1->I To 7
For 1->J To 7
If Mat M[J,I]=10
Then
Green Locate I,J,"_#E6A6_"
IfEnd
Next
Next
Mat D[1,1]->Z
Locate 12,1,"SCQRE"
Locate 12,2,S
Locate 12,4,"NEXT"
Locate 12,5,Mat D[1,2]
While 0<=A
While 0<=A And N<=100
If 11<T
Then
0->T
U+1->U
If A=0
Then
Goto 0
Lbl 1
If 2<U
Then
0->U
Goto 2
Lbl 3
IfEnd
Else
Goto 4
Lbl 5
IfEnd
Locate 12,2,S
0->K
IfEnd
If K=0
Then
Getkey->K
IfEnd
T+1->T
WhileEnd
If 0<=A
Then
0->A
3->X
1->Y
1->N
0->T
0->U
0->C
Mat D[1,1]->Z
Locate 12,5,Mat D[1,2]
IfEnd
WhileEnd
Goto 9
Lbl 0
X->V
If K=73
Then
X-1->X
IfEnd
If K=53
Then
X+1->X
IfEnd
If Mat M[Y,X]<>0
Then
V->X
IfEnd
Locate V,Y," "
Locate X,Y,Mat D[1,N]
Goto 1
Lbl 2
Mat D[1,N]->P
Mat M[Y+1,X]->Q
If Q=0
Then
Locate X,Y," "
Locate X,Y+1,P
Y+1->Y
Else
1->A
IfEnd
Goto 3
Lbl 4
Mat D[1,N]->P
Mat M[Y+1,X]->Q
If P<Q
Then
Z->Mat M[Y,X]
Mat M[1,3]->R
If R<>0
Then
(-1)->A
Else
Locate X,Y,Z
Z->Mat D[1,N]
3->X
1->Y
N+1->N
Mat D[1,N]->Z
Locate 12,5,Mat D[1,N+1]
0->A
0->C
IfEnd
Else
If 0<Q
Then
C+Q->C
S+C->S
IfEnd
0->Mat M[Y,X]
P-Q->P
If P=0
Then
Z->P
IfEnd
P->Mat M[Y+1,X]
Locate X,Y," "
Red Locate X,Y+1,P
Y+1->Y
P->Mat D[1,N]
IfEnd
Goto 5
Lbl 9
ClrText
Locate 3,3,"GAME OVER"
Locate 3,4,"SCORE"
Locate 3,5,S
=end
puts "casio basic fx-CG50 グラフ電卓で動く落ちものゲーム"
PWJlZ2luCgpjYXNpbyBiYXNpYyBsYW5ndWFnZQpmeC1DRzUw44Kw44Op44OV6Zu75Y2T44Gn5YuV44GP6JC944Gh44KC44Gu44Ky44O844Og44Gn44GZ44CCCuWggOaxn+S8uOS4gAoKCuS4gOahgeOBruaVsOWtl+ODluODreODg+OCryhh44Go44GX44G+44GZKeOBjOiQveOBoeOBpuOBj+OCi+OBruOBpzTjgIE244Kt44O844Gn5bem5Y+z44Gr5YuV44GL44GX6JC944Go44GZ44Go44GT44KN44KS5rG644KB44Gm44GP44Gg44GV44GE44CCCuedgOW6leOBmeOCi+OBqOOAgeS4i+OBq+aVsOWtlyhi44Go44GX44G+44GZKeOBjOOBguOCiuOAgWE+PWLjgarjgonkuIvjga7mlbDlrZfjgpLjgaTjgbbjgZfjgablvpfngrnjgavjgafjgY3jgb7jgZnjgIIK44Gk44G244GZ44GoYeOBruaVsOWtl+OBr2EtYuOBq+OBquOCiuOAgeOBleOCieOBq+S4i+OBjOWwj+OBleOBhOOBquOCieOBleOCieOBq+S4i+OCkuOBpOOBtuOBm+OBvuOBmeOAggrjgaTjgbbjgZfjgabjgovpgJTkuK3jgadh44GMMOOBq+OBquOCjOOBsGHjga/mnIDliJ3jga7mlbDlrZfjgavlm57lvqnjgZfjgb7jgZnjgIIK44Gk44G244Gb44Gq44GP44Gq44Gj44Gf44KJ44CB552A5bqV5pmC44Gu5pyA5Yid44Gu5pWw5a2X44Gr5oi744Gj44Gm44Gd44GT44Gn44Gk44G244GZ44Gu44Gv5q2i44G+44KK44G+44GZ44CCCgroqqzmmI7jgpLoqq3jgoDjgojjgorvvJLvvZ7vvJPlm57jgbvjganpgYrjgpPjgafjgYTjgZ/jgaDjgY/jgajjgo/jgYvjgovjgajmgJ3jgYTjgb7jgZnjgIIKCgrooajnpLrjg5DjgrDjgYzkuIDjgaTjgaDjgZHjgIIK5qyh44Gr6JC944Gh44Gm44GP44KL5pWw5a2X44KC6KGo56S644GX44Gm44G+44GZ44GM44CCCu+8ke+8kO+8kOWAi+ebruOBruODluODreODg+OCr+OBoOOBkeasoeOBruaVsOWtl+OBq+mWk+mBleOBo+OBn+aVsOWtl+OBjOihqOekuuOBleOCjOOBvuOBmeOBjOOAggrjgZ3jgozku6XlpJbjga/mma7pgJrjgavpgYrjgbnjgovjgajmgJ3jgYTjgb7jgZnjgIIK5aSn44GX44Gf44OQ44Kw44Gn44Gv44Gq44GE44Gu44Gn5pS+572u44GX44Gm44G+44GZ44CCCgoKJ1Byb2dyYW1Nb2RlOlJVTgozLT5YCjEtPlkKMC0+QQowLT5TCjAtPlQKMC0+VQowLT5DCjEtPk4KW1sxMCwwLDAsMCwwLDAsMTBdWzEwLDAsMCwwLDAsMCwxMF1bMTAsMCwwLDAsMCwwLDEwXVsxMCwwLDAsMCwwLDAsMTBdWzEwLDAsMCwwLDAsMCwxMF1bMTAsMCwwLDAsMCwwLDEwXVsxMCwwLDAsMCwwLDAsMTBdWzEwLDEwLDEwLDEwLDEwLDEwLDEwXV0tPk1hdCBNCgpbWzMsMiw1LDEsOSw3LDMsOCwzLDMsNiwzLDksNyw0LDQsMSw0LDUsMyw0LDgsNSw0LDMsNCw3LDIsMiw0LDksMSwzLDQsNSwyLDcsMiw1LDIsMyw3LDcsOCwxLDgsMSwyLDMsMSwzLDIsNyw0LDUsOCw2LDgsNSwxLDIsNiw1LDEsNSwyLDgsNywxLDIsMyw4LDQsMyw2LDksOCw3LDYsOSw1LDMsNywyLDQsNiwxLDUsNCwxLDIsMyw0LDUsNiw3LDgsOSwxLDQsNywzLDUsNiw3LDgsNCwxLDMsMiw4LDcsNCwyLDQsNywxLDUsNiwyLDMsN11dLT5NYXQgRAoKRm9yIDEtPkkgVG8gNwpGb3IgMS0+SiBUbyA3CgpJZiBNYXQgTVtKLEldPTEwClRoZW4gCkdyZWVuIExvY2F0ZSBJLEosIl8jRTZBNl8iCklmRW5kCk5leHQKTmV4dAoKTWF0IERbMSwxXS0+WgoKTG9jYXRlIDEyLDEsIlNDUVJFIgpMb2NhdGUgMTIsMixTCkxvY2F0ZSAxMiw0LCJORVhUIgpMb2NhdGUgMTIsNSxNYXQgRFsxLDJdCgpXaGlsZSAwPD1BCldoaWxlIDA8PUEgQW5kIE48PTEwMAoKSWYgMTE8VApUaGVuIAowLT5UClUrMS0+VQoKSWYgQT0wClRoZW4gCkdvdG8gMApMYmwgMQoKSWYgMjxVClRoZW4gCjAtPlUKR290byAyCkxibCAzCklmRW5kCgpFbHNlIAoKR290byA0CkxibCA1CgpJZkVuZAoKTG9jYXRlIDEyLDIsUwowLT5LCklmRW5kCgpJZiBLPTAKVGhlbiAKR2V0a2V5LT5LCklmRW5kCgoKVCsxLT5UCgpXaGlsZUVuZAoKSWYgMDw9QQpUaGVuIAowLT5BCjMtPlgKMS0+WQoxLT5OCjAtPlQKMC0+VQowLT5DCk1hdCBEWzEsMV0tPloKTG9jYXRlIDEyLDUsTWF0IERbMSwyXQoKSWZFbmQKCldoaWxlRW5kCkdvdG8gOQoKTGJsIDAKClgtPlYKCklmIEs9NzMKVGhlbiAKWC0xLT5YCklmRW5kCgpJZiBLPTUzClRoZW4gClgrMS0+WApJZkVuZAoKSWYgTWF0IE1bWSxYXTw+MApUaGVuIApWLT5YCklmRW5kCgpMb2NhdGUgVixZLCIgIgpMb2NhdGUgWCxZLE1hdCBEWzEsTl0KR290byAxCgpMYmwgMgoKTWF0IERbMSxOXS0+UApNYXQgTVtZKzEsWF0tPlEKSWYgUT0wClRoZW4gCkxvY2F0ZSBYLFksIiAiCkxvY2F0ZSBYLFkrMSxQClkrMS0+WQpFbHNlIAoxLT5BCklmRW5kCgpHb3RvIDMKCkxibCA0CgpNYXQgRFsxLE5dLT5QCk1hdCBNW1krMSxYXS0+UQoKSWYgUDxRClRoZW4gCgpaLT5NYXQgTVtZLFhdCgpNYXQgTVsxLDNdLT5SCklmIFI8PjAKVGhlbiAKKC0xKS0+QQpFbHNlIApMb2NhdGUgWCxZLFoKWi0+TWF0IERbMSxOXQozLT5YCjEtPlkKTisxLT5OCk1hdCBEWzEsTl0tPloKTG9jYXRlIDEyLDUsTWF0IERbMSxOKzFdCjAtPkEKMC0+QwpJZkVuZApFbHNlIAoKSWYgMDxRClRoZW4gCkMrUS0+QwpTK0MtPlMKSWZFbmQKMC0+TWF0IE1bWSxYXQoKUC1RLT5QCklmIFA9MApUaGVuIApaLT5QCklmRW5kCgpQLT5NYXQgTVtZKzEsWF0KTG9jYXRlIFgsWSwiICIKUmVkIExvY2F0ZSBYLFkrMSxQClkrMS0+WQpQLT5NYXQgRFsxLE5dCklmRW5kCgpHb3RvIDUKCgpMYmwgOQpDbHJUZXh0CkxvY2F0ZSAzLDMsIkdBTUUgT1ZFUiIKTG9jYXRlIDMsNCwiU0NPUkUiCkxvY2F0ZSAzLDUsUwo9ZW5kCnB1dHMgImNhc2lvIGJhc2ljIGZ4LUNHNTAg44Kw44Op44OV6Zu75Y2T44Gn5YuV44GP6JC944Gh44KC44Gu44Ky44O844OgIg==