プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/26 22:17:18GOSUBって、DEFの使い方を知った後では何の役にも立たないってイメージがあるけど、GOSUBは同じルーチンの変数をそのまま参照出来るのに対し、DEFの方は、必要な変数を全部渡さなければならないので、引数の数が多くなってくると、結構大変になってくる。時には使い分けも必要かもね。7そうだね 20返信プレイ済み2017/11/04 00:45:59に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/26 00:02:13感想「プチコンを買ったけど使い方が分からない」というのを見ていてふと思ったのだが、もしかしたら彼らは、『自分がプログラミングの初心者である』という認識が無いまま、プチコンを買ってしまったのではないかという気がする。「君にもゲームが作れる!」みたいな宣伝文句に釣られて買ってみたら、いつの間にかプログラミングという場違いな場所に立たされていて、「こんなはずじゃなかったのに…!」とうろたえているような感じ。22そうだね 18返信プレイ済み2017/11/04 00:47:22に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/23 21:59:09比較的規模の大きなプログラムを作っていると、せっかくある程度の所までうまく動くようになってホッとしていたのに、ここから更に機能を拡張しようとすると、また迷宮の中に逆戻りしてしまうものだから、どうも腰が重くなりがち。勇気を出して、再び第一歩を踏み出さねば。12そうだね 0返信プレイ済み2017/11/04 00:49:45に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/22 22:05:36…あー、HEX$(数値を16進数の文字に変換)はあっても、BIN$(2進数に変換)は無いのか。でも&B(2進数を数値に変換)の方はあるってのが納得行かないなあ。そう言えば、富士通FM-7のF-BASIC Ver.3.0も2進数関連の命令が無かったんだよなあ。DEF FN命令でユーザー関数作ってみたけど遅くて、これがきっかけで6809CPUのマシン語を覚えたりした。結局作り方は分からずじまいだったけど。4そうだね 2返信プレイ済み2017/11/04 00:51:14に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/22 00:06:32感想今となっては、プログラミング言語はC++やJava等が全盛であるが、ジェネリクスやら何やら、ひたすら便利さを追求していく一方で、そのような概念が生まれてきた背景が分からない者にとっては、理解し難いものになりつつある。そして、そういった先鋭化の先にあるのは、格闘ゲームやシューティングゲームのような、プログラミングそのものの衰退なのではないかと危惧している。 一方、BASICというのは、今となってはちょっと野暮ったい、進化に取り残された言語という感が否めないが、プログラミング言語界のスーパーマリオのような、古典的存在であってほしいと思う。13そうだね 3返信プレイ済み2017/11/04 00:52:00に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/19 23:00:07昔、とあるゲームのフロッピーディスクの中をのぞいてみると、ファイルの作成日時がそのまま残っていたものがあった。中には深夜2時に出来たファイルなんてのもあって、ゲーム業界の中の人も大変なんだなあ…って、当時他人事のように思っていた。数年後、自分も同じ目にあう事になる訳だが。6そうだね 0返信プレイ済み2017/11/04 00:54:52に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/18 22:04:54INKEY$で認識出来る制御文字って、BS(8)とCR(13)だけなのね。本来、DELは127番に割り当てられているはずなのに、プチコンではバックスラッシュが割り当てられているせいか認識されない。また、CHR$(0~31)で制御文字を表示しても、画面上の効果は現れず、文字(ほとんど×印)として表示されるだけ。エスケープシーケンスとか使えたら…というのは、さすがに贅沢か。4そうだね 1返信プレイ済み2017/11/04 00:55:41に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/16 22:11:18かな入力が面倒なので、日本語FEP(IME)みたいなのが作れないかと思っている。手始めにローマ字かな変換のルーチンを作っているが、日本語って変だな~と思う事が一つ。『たちつてと』は、ローマ字だとta,chi,tsu,te,toで入力するけど、ti,tuだと『てぃ』『とぅ』って読めるのよね。それを考えると、た行って実は、『た、てぃ、とぅ、て、と』『つぁ、ち、つ、つぇ、つぉ』の2行に別れるんじゃないかって気がする(更に『つ』は微妙に『す』が混じっているような気がする)。「ティターンズ」とは読んでも、「チターンズ」とは読まないし。6そうだね 3返信プレイ済み2017/11/04 00:57:06に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/15 22:00:15デバッグ(プログラムの間違いを直す)で有用なテクニックをひとつ。プログラムが肥大化してくると、IF文等の分岐が重なって、どこを通っているのか分からなくなる時がある。そんな時は、分岐した先の部分の要所要所に、目印となるPRINT文を入れてみよう。実行した際にどこを通っているか一目で分かる。また、PRINT "変数=";(変数名)を入れておけば、実行時の変数の状態が確認出来る。10そうだね 2返信プレイ済み2017/11/04 00:57:46に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/14 22:40:07プログラムの作成途中にMiiverseをのぞいてしまうと、何だかんだであちこち見て回ってしまうんで、復帰後、「…あれ?さっきセーブしたっけ?したはずだけど、Miiverseに入る前にどっか変更したような、してないような」って何度もセーブしてしまう心配性。8そうだね 0返信プレイ済み2017/11/04 00:58:39に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/12 23:31:01通常のBASICから、X-BASICで構造化プログラミングに移った身としては、GOTO文を使うのはちと気が引けるけど、使ってしまうとやっぱり楽なのよね。『GOTO文有害論』(GOTOはどこにでも行き先を指定出来るので、乱用すると流れが分かりにくい、いわゆるスパゲッティプログラムの原因になるというもの)というのは分からなくもないが、構造化にこだわると、かえって冗長なプログラムになる事もあるからねえ。5そうだね 10返信プレイ済み2017/11/04 01:01:07に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/11 22:03:06「○○みたいなゲームを作りたい、でも作り方が分からない」というような人へ…と言うには重すぎるかも知れないけど、あるプログラマーの話。昔、Oh!Xというパソコン雑誌があって、そこで丹明彦というライターが、『車の挙動に関するシミュレーションの手法』について、連載で延々と書き綴っていた。力学やら何やら難しい話ばかりで、当時の読者の中で、彼がやろうとしている事を理解出来た人は、ほとんどいなかっただろう。14そうだね 2返信プレイ済み2017/11/04 01:02:07に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/11 00:31:11BUTTON関数の隠し機能めっけ。13ビット目にSTART/SELECTボタンが割り当てられている。通常はRUN/STOPキーだが、これらを押してプログラムを走らせ、そのまま押しっぱなしにしている間、BUTTON関数が8192を返してくれる。まあ、もう一回押してしまうとプログラムが止まってしまうので意味無いが。あと、BREPEATは設定出来ない。13そうだね 0返信プレイ済み2017/11/04 01:02:48に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/10 21:37:48引き続き、暗黙の了解との戦い。BUTTON(1)関数は、『ボタンが押された瞬間だけ』という説明があるのに、実際にやってみると、1回押しただけなのに、10回位連続で押されたと判定される。こんなんじゃ、最初からBUTTON(0)を使って、自前で押された/離されたの管理をした方がマシじゃん…と思っていたが、VSYNC命令を入れたら、ちゃんと動くようになった。5そうだね 8返信プレイ済み2017/11/04 01:03:03に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/09 22:36:52『ユーザー定義命令のルーチンは、メインよりも先に書かないと、メインと同名のローカル変数の定義が出来ない』という現行の仕様(バグ?)。ムダな処理を省く為、全ての処理は基本的にメインに詰め込むのが当然と思っていた自分だったが、この仕様がきっかけで、命令を作っているうちに、『必要そうな部品を先に作っておき、メインルーチンでそれらを使う』という考え方がある事に気付く。自分の考えは絶対ではないと今更悟った。6そうだね 1返信プレイ済み2017/11/04 01:04:02に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/08 22:01:56プログラムをセーブする時、プログラム名の拡張子は".BAS"にするのが俺のジャスティス。いや特に意味は無いんだけどさ。3そうだね 2返信プレイ済み2017/11/04 01:04:56に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/07 20:50:25BUTTON関数は、ビット演算を使って判定を行う方がスマートだけど、ビットとかの意味がよく分からないという人もいると思うので、自分なりに噛み砕いて説明してみる。と言うか、すでにそういう説明がいくつかあるようなので、『BUTTON関数が分からない人向け説明選手権』状態。4そうだね 4返信プレイ済み2017/11/04 01:06:01に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/06 21:54:39OUTを使用して、2つ以上の戻り値を返すユーザー定義命令における暗黙の了解(追加) ・必ず全ての戻り値に値を入れる ・実は、引数に配列変数をまるごと指定出来る ・戻り値に配列変数は指定出来ない(まるごとで出来た人います?) ・戻り値の変数を使って計算させる場合は、最初に戻り値の初期値を設定しておく まあ、配列はC言語だったらポインタ渡しで行けるけど、こっちはグローバル変数で頑張るしかないか。6そうだね 2返信プレイ済み2017/11/04 01:07:19に取得
プチコン3号 SmileBASIC コミュニティ投稿bigslope bigslope2014/12/06 17:19:44各種命令を使うというのは、『暗黙の了解』との戦いでもあるね。OUTを併用して、2つ以上の戻り値を返すユーザー定義命令は、必ず全ての戻り値に値を入れないと、CALLで呼んだ際に"Type mismatch"のエラーになる。ユーザー定義命令の使い方を確認する為、DEF~ENDの間に何も入れない命令を作ってみたら、何度やってもエラーになるのでハマりかけた。9そうだね 3返信プレイ済み2017/11/04 01:07:37に取得