プチコンで遊ぼう! (はてなブログ版)

任天堂3DSのプチコンで遊ぼう! [twitter:@eida_s]

はてなダイアリーから移行しました。 はてなダイアリーのURLを開いても自動的にこちらにリダイレクトされますのでご了承ください。

プチコン作品一覧

■プチコン3号作品●7650 パックマンDLCを使ったパズルゲーム。 http://d.hatena.ne.jp/eidaht/20160612/1465755564●MISSILE DEFENSE for プチコン3号 ミサイルコマンド風ゲームのプチコン3号移植。 http://d.hatena.ne.jp/eidaht/20141223/1419341732●ゲーム…

再帰的アルゴリズムで迷路をつくる

ツイッターで再帰的アルゴリズムで迷路を作る画像が流れてきてエモい感じだったので早速つくってみました。再帰的分割による迷路作成まだ細かく詰めるところはありますが、できて満足したので早速放流ですw(Fire&Forget)キー: NKQE345Dスピード調整は最後のB…

PiSTARTERことはじめ

■PiSTARTERとは 「シングルボードコンピュータ(Raspberry Pi 3)上で動くSmileBASICです。」 smilebasic.com SmileBASICは、スマイルブームが発売するプチコンシリーズでも採用されているBASIC言語です。 特徴としては、現代的なほとんどのプログラミング言語…

LISPのメモリ構造をつくってみる (4)

つづき とりあえず、文字列として出力する関数を作っておきます。(こうしておくと仕様もわかりやすいし) 実装してない箇所には「Not Implemented」と表示して、実装忘れを防ぐようにしておきます。 とりあえずbooleanやらintegerやらfloatを文字列として出力…

「ウィィィィース!(WYYYYS)」(未完成)

ウィィィィース!(α版) 赤毛の冒険者が半キャラずらしで、草原において犬とかの敵を倒していくゲーム。(未完成です) ver.0.4 2017/05/13 【KRL3VKHV】 ミバのアーカイブからサルベージ。はてぶろにアップしてなかったのでとりあえず... えいだeida_s Tuesd…

整数かどうか判定する方法

一つ前の記事で偶数・奇数の判定をする方法を書きました。 偶数・奇数というのは、整数の時に使わない区別だということも書きました。 では変数Xに入っている数値が整数かどうかを判別するにはどうすればよいでしょうか? これが今回の話題です。いきなり答…

偶数・奇数の判定の仕方

なぜか「偶数 奇数」という検索ワードが目についたので、もしかして偶数/奇数の判定の仕方がわからない人が情報を求めてやってきたかもしれないので書きます。 (主に小中学生を想定します。)自分も小学生くらいにBASICを覚えたことですけど、その時は「そん…

LISPのメモリ構造をつくってみる (3)

メモリに格納可能な値は、booleanやintegerなどの基本的な型や、文字列や浮動小数点数などです。 また、それらの値を格納したコンテナを複合型とします。 ここに書いたのは組み込み型です。 これらのうち、nodeの類はlistなどから間接的に使い、ライブラリの…

LISPのメモリ構造をつくってみる (2)

前回はLISPのメモリ構造といいましたが、実はJSONを読み込んでそれをそのままオブジェクトとして使えるようなものにしたいと考えています。さて話は戻ります。 プチコン3号にはポインタがないのでメモリ空間を配列を使って自前で実装します。 宣言部分はこん…

LISPのメモリ構造をつくってみる

かなり久しぶりの更新です。 メインの開発機だったOld3DSLLが半年ほど前(2017年8月頃)に喪失してしまったため、活動が止まっていました。 遅まきながらNew3DSLLに2016年12月頃のバックアップを入れて活動再開です。年が改まって最初の活動として、LISPのメモ…

プチコン3号/BIGのランチャー

メモMOTさん LINE LAUNCHER http://motmark3.web.fc2.com/petitcom3/mot3llc.htmlみむさん みむめにゅ~[mim.MENU ]みむめにゅ~ v1.1.2 公開キー:JKXN4XZ1 アプリを240個まで登録できるランチャー。タブでジャンル分けなど自由に登録できます。[v1.1.2]起…

画面の横に表示可能な文字数を調べる

PEPの中のMOREを作る過程で得た知見です。画面の横に表示可能な文字数を調べる方法を紹介します。XSCREENで表示解像度を変えることができますが、現在設定されているXSCREENを取得する方法が現在ないため、現在の解像度が何かはわかりません。 テキストで画…

プチコンデータ交換プロトコルPEPとデモプログラムを作りました

プロジェクト名: PEP公開キー: NDHE33Y3 VKK8N5GY公開日: 2017/06/11 2017/06/07バージョン: 1.00 v1.00 初公開 (2017/06/11 --README--を単品で実行してメッセージ読めるようにした)プチコンのプログラム間でデータ交換を行うためのプロトコルPEPの提案とそ…

標準のグラフィックエディタ(SBGED)に機能追加してみた

標準のグラフィックエディタ(SBGED)に、GSAVEデータをDATA文にして書き出す機能を追加してみました。ファイル名: SBGED公開キー: 4RQ5438D公開日: 2017/05/15バージョン: 1.71 (標準のv1.7を基準にしている) 標準のグラフィックエディタ(SBGED)に次の機能を…

プチコンプログラミング覚え書き(7) 互換機能編

プチコンBIGも発売されたので、「3号プログラミング覚え書き」でなくて「プチコンプログラミング覚え書き」にしました。・バンナムDLCを使っているプログラムを一つのソースコードでBIGやDLCの入っていない3号で動かすには DLCが入っているか入っていないか…

認知心理学の実験 on プチコン3号

以前、プチコンmkIIで作った認知心理学の実験をプチコン3号用に焼き直しました。キー: EB2X5EKE 公開日: 2016/11/03mkII時代の動画を貼っておきます。 なお、今回作ったのは、動画のうち実験2の方だけです。 www.youtube.com

補足: ほしけんさんのプチコン漢字ライブラリの高速化を試みた

「ほしけんさんのプチコン漢字ライブラリの高速化を試みた」のエントリの補足(兼自分用メモ)。 eidaht.hatenablog.com「ほしけんさんのプチコン漢字ライブラリの高速化を試みた」でキャッシュなどを導入してプチコン漢字ライブラリの高速化を行いましたが、…

文字列を追加していく時はINCの方が速い

数値を加算する時は、INCを使うよりもA=A+Bのようにふつうの代入と加算の組み合わせの方が速い、という事実が以前から知られていましたが、文字列の時はどうなのか?と思い検証してみました。以下のようなプログラムを実行します。 最初のループが代入を使う…

ほしけんさんのプチコン漢字ライブラリの高速化を試みた

ほしけんさんのプチコン漢字ライブラリ(KNJLIB)の高速化を試みてみました。ほしけんさんのプチコン漢字ライブラリ(http://wiki.hosiken.jp/petc3gou/?Toukou%2F%A5%D7%A5%C1%A5%B3%A5%F3%B4%C1%BB%FA%A5%E9%A5%A4%A5%D6%A5%E9%A5%EA) はプログラムサイズと高…

別スロットの関数名/命令名

■ライブラリの直接呼びされることを想定しないDEFは、COMMON DEFにしないようにしようライブラリとして呼び出したプログラムに、自分のプログラムと同じ関数名/命令名があると、Duplicate functionエラーになる。SLOT 0 USE 1 ?"A=";A() ?"B=";B() DEF B() R…

3号プログラミング 覚え書き(7) クリップボード編

・プチコン3号のエディターでアンドゥできなくなるのは4103文字以上の文字列をペーストしようとした時 クリップボードに入っている文字列が4102文字までの時は、ペーストしてもアンドゥできる。

計算式評価ライブラリEVALLIB

計算式を評価するいわいるEVALを実現するライブラリを作成中です。ファイル名: EVALLIB公開キー: S2NXCNKE C3E8N4JP 434X4X2D公開日: 2016/07/05 2016/07/03 2016/07/02バージョン: 0.03 0.02 0.01v0.03 ()を含めたバグ修正、前置の+-を使えるようにした v0.…

BGMCHKの挙動

旧3DSLLかつプチコン3号 Ver3.3.1で以下を確認。134番のBGMが終わってから、135番のBGMを流すつもりで以下のように処理を書くと、 BGMPLAY 134 WHILE BGMCHK():WEND BGMPLAY 135なぜかループがすぐ終了し、135番は演奏されない。BGMPLAYを発行してからタイム…

パズル 7650 (パックマンDLC必要)

パックマンDLCを使ったパズル7650。 なんか見たことあるような?いや気のせいですwファイル名: ED7650公開キー: QDAJR3B3 C33NY3AP E23N33D4公開日: 2016/12/18 2016/06/27 2016/06/12バージョン: 1.11 1.10 1.00v1.11 WiiUでエラーになる問題を修正 v1.10 D…

SMILE BASIC 小技(9)

PRGINSで動的にコードを追加する方法。PRGINSで他のスロットにコードを追加した後にUSEを実行すると、追加したコードを実行することができる。 PRGINS毎にUSEを使えば、何度でもコードを追加できる。例: VAR DQ$=CHR$(34) PRGEDIT 3 PRGDEL -1 PRGINS "DEF …

SMILE BASIC 小技(8)

BGのキャラ定義の一部がキャラクターコードに対応していることと、BGGETを使うと非常に簡単に自作キーボードを作ることができる。具体的には、 TOUCH OUT STTM, TX, TY G=BGGET(レイヤー番号,TX,TY,1)とすると、GにBGのキャラ番号がとれる。 BGの32〜95番に…

バイナリファイル調査その(2)

型変換調査 (1) VAR A#[10] A#[0]=1.5 A#[1]=2.5 SAVE "DAT:BINDATA",A# VAR B%[0] LOAD "DAT:BINDATA",B% ?"LEN=";LEN(B%) ?B%[0] ?B%[1] ?B%[2] ?B%[3]とすると、 LEN=10 1 2 0 0と表示される。(2) VAR A%[10] A%[0]=1 A%[1]=2 SAVE "DAT:BINDATA",A% VAR …

バイナリファイル調査その(1)

バイナリファイルサイズ調査 (1) VAR A[1] a[0]=1 SAVE "DAT:BINTEST",Aとすると、36バイトのファイルが作成された。(2) VAR A#[2] A#[0]=1 A#[1]=2 SAVE "DAT:BINTEST",A#だと44バイト。(3) VAR A%[1] A%[0]=1 SAVE "DAT:BINTEST",A%だと32バイト。(4) VAR …

PRGINSしたコードを呼び出すことができるか

昨日、いろいろ試していた結果。 あるスロットから他のスロットにPRGINSでコードを追加して、追加したコードを呼び出すことができるか、という研究。 PRGEDIT 3 FUNCNM$="_ABC" IF !CHKCALL(FUNCNM$) THEN PRGINS "COMMON DEF "+FUNCNM$+"()" PRGINS " RETUR…

SMILE BASIC 小技(7)

テキストの表示デモの例。 昔からある技をSMILE BASICで焼き直したもの。 他にもたくさんあったと思うが、基本的なものを書いた。今回は長いので公開キーで。 【D3KKXJAX】1.ターミナル風 ■を付けて表示する基本型。 FOR I=0 TO LEN(T$)-1 LOCATE X+I,Y:PRIN…