Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1144 145 146 147 148 149 150 151 152 153 154
次のページ(過去)
投稿
おちゃめ ochame_nako
プチコン3号を買ったばかりの初心者で「何をしたらいいのか分からない」「プログラムの作り方が分からない」という人が非常に多くいますが、そういう人のためにプチコン3号入門講座を書いてみました。 Miiverseでは外部サイトのURLを記述してはいけないみたいなので「プチコン3号 ゲーム制作講座」で検索してみてください。
37そうだね
プレイ済み
返信[7]
親投稿
おちゃめ ochame_nako
例えばじゃんけんゲームを作るときに「グー」なら1、「チョキ」なら2、「パー」なら3とします。 自分の出す手が変数Xに入っていて相手の出す手が変数Yに入っている場合には普通にIF命令を使うと9通りの判定が必要になります。 しかし、剰余を使うとIF命令無しでも可能になります。 (Y-X+3)MOD 3の値が0ならば「あいこ」、1ならば「自分の勝ち」、2ならば「相手の勝ち」になるためです。 これ以外にもキャラをBUTTON関数で8方向に動かしたりなど特定パターンの動作や処理をさせたい場合には剰余の演算子MODは大活躍できます。
2そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
ちなみに「0か」「0以外か」で判定されているのはIF以外でもWHILE~WENDやREPEAT~UNTILの条件式でも言えます。 これもプチコン3号入門講座で詳しく書く予定です。
1そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
これはIF~THEN~の条件式においては内部ではTrue(=1)かFalse(=0)の値で判断されているためですね。 ANDやORが使えない一部のBASICでは*や+が使われていましたが、それはIFの仕組みが分かればそれでOKな理由は簡単に分かります。 詳しく書くと長くなるので私が書いているプチコン3号入門講座「論理式で深まる条件判断」で書く予定です。 すでにポケコン講座やプチコンmkII講座で書いているようなものですが、それをさらに初心者でも分かりやすく解説します。
0そうだね
プレイ済み
返信[25]
親投稿
おちゃめ ochame_nako
スタック用のメモリが減っていくのでそのうちStack overflowになりますが、同じFORやREPEATやWHILEを何度実行してもスタック用のメモリは消費されないためGOTOで抜けても問題はないと思います。 大量のFORやREPEATやWHILEを実際に記述しない限りは大丈夫でしょう。
1そうだね
プレイ済み
返信[22]
親投稿
おちゃめ ochame_nako
この問題を意図する解答にするのならば「このプログラムは順番を並べ替えるだけで速度が速くなります。並べ替えたプログラムとその理由を書いてください。」とすれば良かったと思います。
0そうだね
プレイ済み
返信[21]
親投稿
おちゃめ ochame_nako
問題を作るというのは簡単なようで難しいですからね。 出題者の意図する解答と客観的にみてベターな解答が異なっている場合にはあまり良い問題とは言えません。 上のネタバレで書いているように意図した解答ならば1.2倍しか速くなりませんが、多くの人が気づいている解答ならば3.4倍くらい速くなるので後者の方に気づいた方を褒めるべきではないでしょうか? 他の言語での応用を考えたらスプライトやBGも他の言語でそのまま活かすことなんてできませんしBASICそのものが向かないと思います。
2そうだね
プレイ済み
返信[13]
親投稿
おちゃめ ochame_nako
個人的にはGRPFの「F」はフォントの「F」のような気がします。 ちなみに情報元は社長(@notohoho)の12月12日のツイートですね。 Miiverseは検索性が弱いのでtwitterも見ていると良いかもしれませんね。 #petitcom とか #sbkey とかで検索すると有益な情報を得られます。
0そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
このプログラムにおいてX=4:Y=4とCOLOR 15をループ外に出すことで20%の高速化ができますが、A$="●"*16としてループを1つ減らせば3.4倍の高速化ができるためこちらの方が高速化としては重要ですね。 ちなみに「?」と「PRINT」では速度差はありませんでした。
2そうだね
プレイ済み
返信[17]
親投稿
おちゃめ ochame_nako
FOR~NEXTによる無限ループ表記をしたいのならばこれが最短ですね。 FOR I=0TO I+1 ?"こんにちわ"WAIT 60 NEXT これだとカウンタが1ずつ増えているので厳密には無限ループになってないように見えますが、プチコン3号では9007199254740992でカウンタがカンストになるので実質無限です。 ちなみにカンストまでにかかる時間は約2億8542万7016年です。
1そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
私の「プチコン3号 入門講座」でも書いていますが、プログラミングは最初に命令などを全部覚えようとしたら絶対に挫折してしまいます。 1つずつ動作を確認していきながら簡単なプログラムから作っていけば誰でも作れるようになります。 他の人が作ったプログラムを入力してどのようにしたらそのような動きになるのかを考えるのも勉強になります。
1そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
変換テーブルさえ作ればGRPFを使ってすべての文字をGRP上に表示するのは簡単にできますが、その変換テーブルを作るのが面倒なんですよね。 ひらがなだけに絞るならば少し工夫すれば計算で求められそうですがすべての文字となると・・・。
0そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
すでに改善済みのようですが、大きな数を表示して0が大量に出るのを防ぐにはSTR$で文字列化してやると指数表示になります。
1そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
VSYNCとWAITは微妙に動作が異なるのですがVSYNC、WAITに関してはプチコン3号はmkIIと同じ仕様だと思うので私のサイトの解説を参考にしてみてください。(初代プチコンのVSYNCのみ仕様が異なるので注意) http://ochameclub.web.fc2.com/petitcom/p002.htm#column 単純に一定時間待つ場合はWAIT、表示やボタン入力のタイミングを取る場合はVSYNCにするのがベターだと思います。
2そうだね
プレイ済み
返信[7]
親投稿
おちゃめ ochame_nako
Newあっキーさんへ 私の拙い講座等を参考にしていただいているようでどうもです。 ちなみにMiiは私の自画像(?)がモデルです。 もっさんさんへ 細かい仕様まで正確に公表するのは難しいからでしょうね。 分かったことは私のWebサイトの方でまとめていこうと思います。 http://ochameclub.web.fc2.com/petitcom3/
0そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
もっさんさんへ プチコン3号では色指定はRGB各8bitで指定できますが、内部では各5bit(8の倍数の数字)に丸められています。したがって、GSPOITを使って当たり判定を行う場合に表示の指定色と読み取った色を比較する際には異なった値を返すため正しく判定ができない恐れがあり注意する必要があります。 例:RGB(255,248,250)で色指定した場合には内部ではRGB(248,248,248)になっている。
0そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
あんへるたんさんへ やっていることは大したことではないんですよね(笑) 書き忘れましたが、上記の公開キーによるリストでは昨日twitterで公開した旧バージョンがGRAY()、今回の新バージョンがGRAY2()となっていますが旧バージョンを使うメリットは全く無いので削除しても良いでしょう。
0そうだね
プレイ済み
返信[21]
親投稿
おちゃめ ochame_nako
Miiverseへの初投稿を記念して私も参加します。 作者名 おちゃめ 作品名 擬似256階調関数 GRAY() 公開キー 23N3434J 実質32階調表示しかできないプチコン3号で擬似256階調を可能にする自作関数です。(ファイル名 OCHA_GRAY)
0そうだね
プレイ済み
投稿
おちゃめ ochame_nako
Miiverse初投稿です。 実質32階調表示のプチコン3号で擬似的に256階調表示を可能にするGRAY関数を作ってみました。公開キー23N3434J
22そうだね
プレイ済み