Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2020/01/13 10:01:51

MixJuice GET URL : kidspod.club/mj/937

ドローdeエディタ

絵を描くツールです。自分用に作ったのですが、せっかくなので公開します。

【操作方法】
カーソルキー:移動
スペース:描画
P:ペン切替え (0-消す, 1-実線, 2-XOR)
Q:もとの位置に戻る
Xを押しながら移動:ゆっくり移動する
バックスペース:1つ戻る
r(小文字):リセット
o(小文字):プログラム形式に出力

基本はカーソルキーで移動して、スペースキーで線を描く、です。
始点と終点で1回ずつスペースキーを押して線を描きます。
線をつなげて描く方式にしているので、線を終了するときは同じ位置でスペースキーを2回押してください。

描いたデータは配列に保存しています。oキーで配列の内容をプログラム形式に出力したあと、メモリ確保のためにNEWでプログラムを消してから、出力された各行に行番号をつけてエンターキーを押せば、プログラムとして描いた絵を保存できます。この保存したプログラムをRUNしたあとに「ドローdeエディタ」をLOAD/RUNすると絵を再描画することができます。
画面左下の「Turn」は書いた線の数です。100個まで保存できます。
一度プログラムを終わらせても、またRunすれば続きから描くことができます。


IchigoJam BASIC 1.4.1でドロー機能が追加されたので、アドベンチャーゲームをつくってみようかと思いツールを作りました。ですが、見ての通り自分の画力が・・・
サンプルで描いた絵は、何が描かれているか分かる人はいるでしょうか?3枚目までは有名なゲームのつもり。4枚目は有名な絵画のつもりです。

誰かにもっとキャッチーな絵を描いてみてほしいです。このツール使ったよと教えてくれると地味にうれしいです。

(ちょっと報告:「240 IF B=0 DRAW X,Y,P ELSE A=1」のようにELSEを使うとSyntaxErrorになってしまうようです。)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

SOURCE CODE

10 'DRAW DE EDITOR
20 CLS:P=1:T=0:GSB220
30 K=INKEY():CLK
40 X=X+BTN(29)*(X<63)-BTN(28)*!!X:Y=Y+BTN(31)*(Y<47)-BTN(30)*!!Y
50 IF !A Z=X:V=Y ELSE BEEP190
60 IF K=81 X=Z:Y=V:BEEP50
70 DRAW X,Y,Z,V,2
80 IF K=114 CLV:RUN
90 IF K=8 AND T>0 [T-1]=0:RUN
100 IF K=111 AND T>0 GOTO270
110 P=(P+(K=80))%3
120 LC0,23:?"Turn";T;"(";X;",";Y;") Pen";P;" Q,X,BK,r,o ";
130 WAIT BTN(88)*5
140 DRAW X,Y,Z,V,2
150 IF K<>32 GOTO30
160 DRAW X,Y,Z,V,P:BEEP
170 IF !A A=1:Z=X:V=Y:B=0:GOTO200
180 IF Z=X AND V=Y A=0:GOTO30
190 Z=X:V=Y:B=1
200 POKE #800+T*2,B*100+X,P*100+Y
210 T=T+(T<100):GOTO30
220 M=PEEK(#800+T*2):N=PEEK(#801+T*2):IF M+N=0 RTN
230 B=M/100:X=M%100:P=N/100:Y=N%100
240 IF B=0 DRAW X,Y,P 
250 IF B=1 DRAW Z,V,X,Y,P
260 Z=X:V=Y:T=T+1:GOTO220
270 CLS:FOR I=0 TO T
280 IF I%20=0 ?:?"LET[";I;"]";
290 ?",#";HEX$([I]);
300 NEXT:?

COMMENT