むずかしいことはわかりません

いろいろ書いてるみたいな

#主婦BASIC やってたって話

会社の飲み会だと思っていたら、MSX BASICで線を引いたり円を描く会が始まっていた。何を言ってるか(ry

 

今日出てきた関数

 線を引く

 LINE(X1,Y1)-(X2,Y2)[,C][,B|,BF]

 Cは色コード(0~15)

 Bは箱、BFは箱の塗りつぶし

 

 点を打つ

 PSET(X,Y),C

 

 円を描く

 CIRCLE(中心X,Y),半径[,C, 開始角度,終了角度,比率]

 角度はすべてラジアン(0~2π)

 

 乱数

 RND(範囲)

 大体1を指定して0~1の間の数値で乱数を作る

 

 整数化

 INT(数値)

 小数点以下を切り捨て

 

 繰り返し

 FOR ~ NEXT

 FOR 変数=開始 TO 終了 [STEP 増加数]

 NEXT 変数 

 STEPは変数へ加算する値。マイナスも指定可

 FOR I=0 TO 30 STEP 5:PRINT I:NEXT I

 0から30まで5ずつ増加させる

 

 

以下は、あとでまた書く

 INKEY$:キー読み込み

 STICK:ジョイスティックまたはカーソルキーの読み込み

 STRIG:ジョイスティックのボタンまたはスペースキーの状態

 

色コードは勘違いしてました。1が青から始まるのはN-BASICでした。

実際の色コードはこんな感じ。黒が2つあるのは、0と1が黒だからというか

0が透明で、1が黒だからということのはず。

f:id:sato_c:20140719085453p:plain

これをやるためのプログラムはこれ。

10 SCREEN 5:COLOR 15,0,0

20 H=8 'takasa

30 FOR I=0 TO 15

40 LINE(10,I*H)-(140,I*H+H+4),15,B

50 LINE(10+1,I*H+4+1)-(140-1,I*H+H+4-1),I,BF

60 NEXT I

70 GOTO 70

白枠を書いてから、上下1ドットずつ小さい箱を描いてます。


追記)

FORとNEXTの間に書かれた処理は変数が終了の値を超えるまで繰り返す

STEPを省略すると1、それ以外の値を指定すると終了÷増加数の回数繰り返し

FORはブロックの最初/NEXTはブロックの終わり

変数

 

数値変数:アルファベット(AとかIとか。2文字以上でもOK)

文字変数:アルファベットに$を付ける(A$など)

数字も使えるけど、1文字目はアルファベットじゃないとダメ