投稿
フレア Amatsuna
【SDPEQ3】昨日の1行のお絵描きプログラムに、色々と機能を付け足してみたのですが、シンプルなお絵描きツールのレベルにまで何とか、持ってこれた気がするので、公開してみました!
13そうだね
プレイ済み
返信[1]
親投稿
フレア Amatsuna
いやはや、疲れた!まさかこんなに時間かかるなんて…! 簡単な使い方の説明と、反省改良点などまた、コメント欄に続けて書いていこうと思います…
0そうだね
プレイ済み
返信[2]
親投稿
 ますます改良が進んでいますね。  キングジムのブギーボードや、電子ノートのような使い方も出来ますね。
1そうだね
プレイ済み
返信[3]
親投稿
フレア Amatsuna
RUNすると、画面がまっさらになるので下画面をタッチすると、白い線を引けます。 Aボタンを押すと消しゴム(黒い線)に切り替え。も一度押すとまた白い線に戻る。 線が細い!と思ったらYボタン。これで線が少し太くなります。 細くしたくなったら、Yボタンをもう一度。白だけじゃ味気ない!そんな時には十字キーを押して!もう4色、別にあります!それぞれ、←で赤、↑で緑、→で青、↓で黄色と色を変えられますよ。 ちなみにこの通りで、消しゴムは少し大きめ。Yボタンでもさらに大きくできるよ!
0そうだね
プレイ済み
返信[4]
親投稿
フレア Amatsuna
とうどうさん、どうもです! ブギーボードと聞いて、以前に電子メモ帳だとかがすごく、欲しくなってしまった時期があったのを思いだしました…! 図らずも、こんな形で実現できたのかもしれませんね…! プチコンの万能さには驚かされます!同じようなので、テキスト入力に特化している、ポメラ?とかも… なんだかいいなぁ、なんて思ってしまって、そういうものをプチコンでも作れるかもしれないというのは、夢が広がりますね…!
1そうだね
プレイ済み
返信[5]
親投稿
フレア Amatsuna
消しゴムでちまちま消してられーん!という時にはXボタン!一押しでたちまち、画面がまっさらに。 消しますか?と聞いてはくれないので、間違えて押したりしないように用心を。 最後に、Bボタンを押すと、終了するか聞かれるので、キーボードからYを押すと終了できます。続けたかったらNを押してね。 以上、操作方法と機能は、こんな感じです!
0そうだね
プレイ済み
返信[6]
親投稿
フレア Amatsuna
プログラムリストです。どうにも思ったように動かせなくて、これよりもっと無駄なとこも多かったのだけど… 最終的にはこんな具合に収まりました。 リスト1/2
0そうだね
プレイ済み
返信[7]
親投稿
フレア Amatsuna
2/2 ちょうど2画面分程にまとまって何だかいい感じ?…もちろん、もっともっと、削れる部分はあるでしょうが… では、見ていきます。 キモの部分は前回の、 ”WHILE 1 TOUCH OUT S,X,Y GPSET X,Y WEND”。これだけなのだけど、ここから量増ししていったんだと思うと、自分としては結構、がんばれた方なのかなと思います… うーむ。
1そうだね
プレイ済み
返信[8]
親投稿
フレア Amatsuna
まずはあれだ、消しゴム機能!Aボタンを押して切り替わるように、 ってことでまずBUTTONを。 白黒と色を変えるので、GPSETの色指定のとこをRGB(R,G,B)と値を変数にしておいて、代入して切り替える… としようとしたのだけど、まずそこで結構悩まされました… そううまく切り替えはできなくて。
0そうだね
プレイ済み
返信[9]
親投稿
フレア Amatsuna
そんなものだから最初は、白と黒とでそれぞれ、RGB(255,255,255)、RGB(0,0,0)と実際に値も入れて、全く同じようなものを用意して2つのプログラムループ間をGOTOで往き来する… とずいぶんと無駄の多いやり方をしてました。とはいえそれで、色がえはうまく機能したので、このままいけそうかな、と。そこからいろいろとのっけていきました。
0そうだね
プレイ済み
返信[10]
親投稿
フレア Amatsuna
・消しゴムを大きくしたい。 なんやかんやで消しゴムはできたけど、白と全く同じの1ドット分の点なものだから… こんなのでは到底消せない!ということでまずは簡単なACLSによる全消去の実装。で、Xボタンに割り当てました。プログラム先頭にも、かき始めの時に、見辛くなった画面を一掃するためにも加えてあります。 で、本題の消しゴムの大きさなのだけど…
0そうだね
プレイ済み
返信[11]
親投稿
フレア Amatsuna
点を打つGPSETのX,Yの値をいじれば良いのかなというのは近いような、違うようなで、X+1とか書いてみるのではダメだった…。 例えば、4マスの大きさのにするとしたら…?と考えてみると、最初に点を打ったとこから右に1つ、下に1つ、右下に1つ、と一度に点を打たなくてはいけないんだなと気づいて、FORNEXTでできそうかな?というよくわからないカンで、はさんであれこれしてみたら、これまたいい感じに大きくできました。 これも、最初は変数は使ってなかったけど、後々ダブってる作業をまとめるにあたって、置き換えられそうだと、変数に置き換わっていった感じです。
0そうだね
プレイ済み
返信[12]
親投稿
フレア Amatsuna
2つを纏めるにあたって、片方はそのままで、もう片方はFORNEXTというのがネックになって... 考えた挙げ句、変数Pをおいて、伸び縮みするPXPYを最初の状態で、0で止めていてくれるようにしてみました。0から0まで、となってFORNEXTも回らず増加もなし、普段通りのGPSETで動く。あとは、ボタンが押されたらその都度、変数に代入されるように、と、こんな様に入れ替わるようにできました。
0そうだね
プレイ済み
返信[13]
親投稿
フレア Amatsuna
・色の切り替え これもまた、纏めるとなると苦戦しました... 同じようなIF文を並べてしまうのは極力避けたかった。一纏めにするために、同じボタンでも、その時の色によって分岐して、自分ともうひとつ別の色になるようにする... 頭の使いどころでした。 白からスタートなので変数COLに最初に数値をいれといて、黒へ分岐、COL書き換えてから、もう一周目の時には、白へと分岐できる...という感じ。 ややこしくなりそうな仕組みですね。
0そうだね
プレイ済み
返信[14]
親投稿
フレア Amatsuna
・ペンを太く! ペンが細くて書きにくい、ということで少し太くするか、とこれは、消しゴムと同じ様にすればできる!のだけど消しゴムは大きめに、ペンはそこまで大きくなくても… というようにそれぞれ、別の大きさ設定で太くしてみたく、ここでも悩むこととなりました…。結局、変数SIZを介して色がえと同様に、それぞれの状態ごとに分岐するようにしたのですが… 消しゴム用の特大サイズ設定を、カラーペンがのっとってしまい、突然巨大カラーペンへと変わる、なんてことも起きてとにかく、苦戦させられました… あとボタン切り替えだけど、BUTTONの()の中をいじったりもしないと、思うような切り替えはやはりできなく、そこに至るまでにも歯痒い思いをしました… VSYNKも、置くまでは押した一瞬の間に超即で切り替えループが起こっていたなんてなかなか気付けず… 最終的にはスムーズな切り替えになって満足いきました!
0そうだね
プレイ済み
返信[15]
親投稿
フレア Amatsuna
さて、そろそろ切り上げたいところ… ・Bで終了 下画面はキーボードの音がうるさいのでSYSBEEP=0で音を消すようにしました。それに伴って、終了時にはきちんと戻すようにもしました。そしてこの部分、Bですぐに終了だったけど、せっかく書いたものの保存や読み込みもできるようにしたいと、それならまとめて終了も選べる、というような一つのメニュー画面にしたらよさそうと思い、一段階ふむようになりました…しかしINPUTでSAVELOADのファイル名をうってもらう、というのは何か、出来そうになかったのでそこであきらめました… 結果END用になったけど、そこでのINPUTも、Yで終了、Nで続行と設定したがN以外が押されても続行される… エラーが出たりはしないようなので、自分で例外処理をしておこうかと、 N押されるまでループしてやる!…とそこではうまくあいそうなREPEATUNTILを使って見ました。
0そうだね
プレイ済み
返信[16]
親投稿
フレア Amatsuna
ずらずらずらと、だいたいの取り組んでいった流れや考えたことなとを思い出しつつ書いてみました。 さぁ! 最後に、改善点。 まずはこれがまだ、一番大きいものだと思うが… 下画面がキーボードのままなので、ペンを置いたら上画面のどこらへんに出るのかが掴みにくい!全く同じのを表示できたらいいのだけど、うーむ… そうでなくとも、せめて上画面にカーソルが出るようにするとかできれば、少しでも書きやすくはなりそうかな…?
0そうだね
プレイ済み
返信[17]
親投稿
フレア Amatsuna
奴だ!左下のSTOPボタンだ! ラクガキに熱中してると意外と引っ掛かって押してしまうから気を付けろ! …キーボードが使われないようにしたりとかは、できないものだろうかね… SAVELOADについてもできたら、実装してみたいですね… ENDの後にGCLSをコメントアウトしてあるのだけど、ほんとは書き終わった後に後始末をさせようと、入れようとしたのだけど、SAVEが搭載できなかったので、終了後に各自、残った画面をSAVEでGRPに保存するなりしてもらえればということで、一応GCLSは外しといてあります…。
0そうだね
プレイ済み
返信[18]
親投稿
フレア Amatsuna
機能としてもたったこれだけのこと、なのかもだけど、自分なりに考えてみて、一つの思った形にできたのは、とても良いものでした…!達成感があるし、次はこんなのはどうか、このぐらいならできそうとか、次へ繋がるステップも新しく見えてくる気がします…! さぁ、だらだらと書いてるうちに… アア、モウヨガアケテシマウ… オツカレサマデシタ、オヤスミナサイ…
2そうだね
プレイ済み
返信[19]
親投稿
電子文具の開発もいいかもですね。
1そうだね
プレイ済み
返信[20]
親投稿
フレア Amatsuna
せっかくの開発環境なのだから、ゲーム制作だけにとらわれてしまうのはやっぱり、ちょっともったいないですよね。 自分の中からわき上がる、発想を大事に!
1そうだね
プレイ済み
返信[21]
親投稿
KU kerorinU
ACLSのあとにXSCREEN 3を入れるとキーボード消せますね。
1そうだね
プレイ済み
返信[22]
親投稿
KU kerorinU
上の改造だけだとバグが発生するので、21行目のACLSをGCLS RGB(0,0,0)に変更する必要がありました。
0そうだね
プレイ済み
返信[23]
親投稿
フレア Amatsuna
ACLSはXSCREENとか、変えた設定とかも元に戻しちゃうんですね?! 一度に消すのに便利だからと使っていたけど、注意しないと、ですね… こんなこともあるとは知らなかった! 頂いたアドバイス等を参考に、いろいろと改善をしてみたのですが、何とかうまくいったみたいです!ありがとうございました!
0そうだね
プレイ済み