餓鬼人(がきじん)

グルメからゲームまで、ヒット商品ブログ

【任天堂スイッチ】プチコン4 SmileBASIC 超初級編1 文字や絵を出す・ループ

では実際にプログラムを書いてみましょう。

超初級編 エディタに慣れる

まず「プログラムを作る」へ移動してみましょう。

f:id:apicode:20210707160550p:plain

 

するとコンソール画面となります。

f:id:apicode:20210707160616p:plain

 

エディタ画面

キーボードでF4を押すとエディタ画面となります。

f:id:apicode:20210707160800p:plain

 

F2を何度か押すと、画面サイズが切り替わります。

最初のうちは大きい画面のほうが使いやすいと思います。

f:id:apicode:20210707160804p:plain

 

エディタでは「コントロール+Z」でアンドゥを、「コントロール+Y」でリドゥさせることができます。

 

保存や読み込み

キーボードではコントロール+Sでセーブできます。

f:id:apicode:20210709154219p:plain

 

コントロール+Lでロード画面となります。

f:id:apicode:20210709154209p:plain

 

困ったら?

F1でヘルプが出ます。

f:id:apicode:20210707160913p:plain

 

 

文字を出す 

文字の出力

最初はなんといってもPRINT文。

f:id:apicode:20210707161125p:plain

 

F5を押すと、コンソール上で実行され、指定した文字が出ます。

f:id:apicode:20210707161039p:plain

 

エディタに戻るには再度F4を押します。

 

ランダムな文字を出す

実行するたびに違う文字を出してみましょう。

ランダムに数値を返すRNDFという関数を利用します。

以下のように打つと、

PRINT 100*RNDF()

 

f:id:apicode:20210707161706p:plain

 

F5キーを押すたびに、違った数値を表示します。

f:id:apicode:20210707161709p:plain

 

 

画像を出す

画像を表示する

ゲームを作る場合、画像をさっそく表示したいもの。

プチコンにはサンプル画像があるので、番号を指定するだけで表示できます。

ACLS
SPSET 0,2544
SPOFS 0,100,100 

 

ACLSは画面のリセット。

SPSETは、管理番号0として用意された絵のデータ「2544」版を割り当てます。

SPOFSは、管理番号0をX座標100,Y座標100に表示させるというものです。

これで絵が出ます。

f:id:apicode:20210707162505p:plain

 

 

ループ文と組み合わせる

ループ文を使う

絵のデータは1,2,3,...のように数値番号を使って呼び出すことができます。

どれがどれか調べるにはループ文というのをつかうと楽ちんです。

 

プログラムを以下のようにします。

FOR I=1 TO 10

  SPSET I,I

  SPOFS I,10+20*I,100

NEXT

 

適当に変数名を「I」とし、「I」の数が1から10になるまでループ処理を行います。

あとは管理番号を割り当てて、X座標をずらして表示します。

f:id:apicode:20210707163145p:plain

 

これを実行すると絵のデータがみれます。

f:id:apicode:20210707163424p:plain

 

呼び出す番号を増やすと、

f:id:apicode:20210707163613p:plain

 

表示される絵柄も変わります。

f:id:apicode:20210707163625p:plain

 

ループの中にループを使う

もうひと踏ん張りしてみましょう。

ループ文のなかにループ文を書くことができます。

これで、表示行数10行分さらにループさせ、より多くの絵のデータを表示させます。

f:id:apicode:20210707164520p:plain

 

実行するとこんな感じ。

f:id:apicode:20210707164524p:plain

 

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

プライバシーポリシー |〇利用規約 |〇問い合わせ