プチコン3号 SmileBASIC コミュニティ返信[19]親投稿おちゃめ ochame_nako2016/9/6 21:38nobuさんへ 私は1週間くらいならば1つの作品に集中できますが1ヶ月過ぎればほぼ確実に飽きて放置状態になります。 したがって、大作は作れないんですよね。(だから、QSPばかり作ってる) そういう意味では、るかかさんはすごいと思います。 高い完成度の作品を頻発しているねこはちさんもすごいし、中の人になったBugtaroさんの技術力もすごいです。 すごい人だらけでうれしい悲鳴を上げています。2そうだね プレイ済み2017/11/03 17:53:11に取得
プチコン3号 SmileBASIC コミュニティ返信[13]親投稿おちゃめ ochame_nako2016/9/5 22:36擬似3Dというのは近くのものは大きく、遠くのものは小さく表示すれば良いだけです。 レースゲームではそれをどのように処理していけば良いかを簡単に書いてみます。 道路(レースのコース)を長方形が長く連なったものだとします。長方形の本などを斜め上から見下ろすと奥行きが短くなった台形に見えます。台形を描画するのは大変なので奥行きの短い長方形を連ねていけば道路が表現可能です。奥行きの比率は距離に影響を受けます。(この奥行きが縮まった長方形はスプライトで表示すれば簡単かつ高速に処理できる) 直線はこのように簡単ですが、カーブも奥行きが縮まった長方形を左右にずらして表示することで実現可能です。 あとは車の挙動を速度やカーブの大きさに合わせてそれっぽい感じにすればOKです。 こんな感じで1次元的な擬似3Dのタイムアタック専用ゲームならば1画面プログラムに余裕で収まるくらい簡単に作れます。4そうだね プレイ済み2017/11/03 17:53:12に取得
プチコン3号 SmileBASIC コミュニティ返信[12]親投稿おちゃめ ochame_nako2016/9/5 21:54マリオカート風のゲームならばれいさんが作ったF-ねこが参考になると思います。 ただし、このゲームは高速化処理のため初心者が解読するのは結構大変かもしれません。 レースゲームを作った経験がないのでしたらまずはシンプルなタイムアタックオンリーのゲームを作ってみてはいかがでしょうか。 マリカのような回転による擬似3Dはプチコン3号の性能をもってしても難しいですが、ファミコンのような擬似3D(1次元的な擬似3D)ならば難易度はかなり抑えられます。 タイムアタックのレースゲームができたらキャラ数を増やしたり敵キャラを追加していけば良いでしょう。 その上でやっぱり、マリカのような回転処理をしたいというのであれば2軸回転プログラムを自前で用意するか他の人が作ったものを使うという方法を採ると良いです。 私も以前2軸回転プログラムを作りました。6そうだね プレイ済み2017/11/03 17:53:12に取得
プチコン3号 SmileBASIC コミュニティ返信[28]親投稿おちゃめ ochame_nako2016/9/5 21:33とりあえず、7問作ってみました。 上から順番に見ていけば前の問題の解答+次の問題となっているためうっかり答えを見てしまう心配がありません。 1そうだね プレイ済み2017/11/03 11:46:34に取得
プチコン3号 SmileBASIC コミュニティ返信[27]親投稿ネタバレおちゃめ ochame_nako2016/9/5 21:31↑ 正解は1 (解説) 結果が整数値になるビット演算やシフト演算を行えば小数部分は自動的に切り捨てられます。FLOOR(A)だとAが負数のときは-1.5が-2になるため正常動作しません。0そうだね プレイ済み2017/11/03 11:46:34に取得
プチコン3号 SmileBASIC コミュニティ返信[26]親投稿ネタバレおちゃめ ochame_nako2016/9/5 21:28↑ 正解は2 (解説) プチコン3号の実数型は2進数で52桁分の有効桁数となっています。これは10進数換算で16桁弱です。普通に表示した際には小数第8位までしか表示されませんがFORMAT$を使えば16桁まで表示可能です。 (問題) 変数Aの値の整数部分だけを取り出したい。Aの絶対値が1億以下の場合に正常動作しないことがあるものはどれ? (選択肢) 1. FLOOR(A) 2. A>>0 3. A OR 00そうだね プレイ済み2017/11/03 11:46:34に取得
プチコン3号 SmileBASIC コミュニティ返信[25]親投稿ネタバレおちゃめ ochame_nako2016/9/5 21:26↑ 正解は3 (解説) 実数型の変数Aと文字列"A"は異なるものであるため0(false)もしくは型が違うためType mismatchエラー表示となりそうですが、なぜか文字列と数値の比較演算は3を返します。 (問題) 1/3を実行すると何桁まで正しく計算される? (選択肢) 1. 8桁 2. 16桁 3. 32桁0そうだね プレイ済み2017/11/03 11:46:34に取得
プチコン3号 SmileBASIC コミュニティ返信[24]親投稿ネタバレおちゃめ ochame_nako2016/9/5 21:26↑ 正解は2 (解説) NEXT実行時にカウンタ変数Iの値が0.1ずつ加算されます。この時に終了値1.5を超えていればループを終了するため1.6が正解となりそうですが、実数型の演算誤差によって0.1を15回加算すれば1.5を微妙に超えるためその時点でループを終了します。(ループ1回分少なくなる) (問題) ?"A"==A で画面に表示される文字は? (選択肢) 1. Type mismatch 2. 0 3. 30そうだね プレイ済み2017/11/03 11:46:34に取得
プチコン3号 SmileBASIC コミュニティ返信[23]親投稿ネタバレおちゃめ ochame_nako2016/9/5 21:23↑ 正解は3 (解説) NEXT実行時にカウンタ変数Iの値が1ずつ加算されます。この時に終了値10を超えていればループを終了するためIの値は11となります。 (問題) FOR I=0.1 TO 1.5STEP 0.1:NEXT:?I で表示されているIの値は? (選択肢) 1. 1.4 2. 1.5 3. 1.60そうだね プレイ済み2017/11/03 11:46:34に取得
プチコン3号 SmileBASIC コミュニティ返信[22]親投稿ネタバレおちゃめ ochame_nako2016/9/5 21:22↑ 正解は1 (解説) VSYNCは前回のVSYNCからの経過フレーム数となるためVSYNC 180では入力時間を含めて最大3秒間の待ちとなるので入力に3秒かかればVSYNCは無視される。 (問題) FOR I=1 TO 10:NEXT のループ終了後のIの値は? (選択肢) 1. 9 2. 10 3. 110そうだね プレイ済み2017/11/03 11:46:34に取得
プチコン3号 SmileBASIC コミュニティ返信[21]親投稿ネタバレおちゃめ ochame_nako2016/9/5 21:21↑ 正解は1 (解説) ANDは複数の条件式が成立する場合に使うことができますが、比較演算子を省略した場合には正しく行うことができません。 (問題) INPUT "123*456=";A:?"正解は56088"において入力して約3秒後に正解表示するようにしたい。?の前に挿入するものとして間違っているものはどれ? (選択肢) 1.VSYNC 180 2.WAIT 180 3.M=MILLISEC:WHILE MILLISEC-M<3000:WEND0そうだね プレイ済み2017/11/03 11:46:34に取得
プチコン3号 SmileBASIC コミュニティ返信[20]親投稿ネタバレおちゃめ ochame_nako2016/9/5 21:20(問題) B=BUTTON()のときAボタンとBボタンの両方が押されている場合を判定したい。間違っているものはどれ? (選択肢) 1.IF (B AND 16) AND (B AND 32) THEN ~ 2.IF (B AND 16) && (B AND 32) THEN ~ 3.IF (B AND 48)==48 THEN ~0そうだね プレイ済み2017/11/03 11:46:34に取得
プチコン3号 SmileBASIC コミュニティ返信[19]親投稿おちゃめ ochame_nako2016/9/5 21:18しょぼーんさんへ それは代入された段階で型が決まるためです。 これによっていろいろと便利なことができるようになります。 というわけで、私もいくつか問題を作ってみました。 問題や解説が若干長目なので文字数オーバーならば適当に端折ってください。2そうだね プレイ済み2017/11/03 11:46:34に取得
プチコン3号 SmileBASIC コミュニティ返信[31]親投稿おちゃめ ochame_nako2016/9/4 23:50私のNew3DSは買ってから数ヶ月後にトイレに水没して壊れてしまいました。 壊れるときはあっさり壊れるためこまめなバックアップは必要でしょうね。1そうだね プレイ済み2017/11/03 17:53:49に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿おちゃめ ochame_nako2016/9/4 12:44実は左右ではなくちゃんとタッチした座標を求めることは可能でプチコンmkIIではマルチタッチルーチンを公開しています。 ただし、判定のため1フレームの遅延が必ず発生してしまうのとそれなりに誤差が出てしまうためゲームに使うには微妙な感じでした。 2点ではなく3点、4点も理論上は可能ですが、タッチ数が増えるほど誤差がどんどん大きくなるため実用にはならないでしょう。2そうだね プレイ済み2017/11/03 11:47:12に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿おちゃめ ochame_nako2016/9/4 12:43TOUCH_LR2はタッチした瞬間のみ取得可能な関数です。グローバル変数_TOUCH_LRを使用しています。 自作プログラムに自由に組み込んで使ってもらってOKです。 公開キーは【 TENVV3C4 】です。2そうだね プレイ済み2017/11/03 11:47:12に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿おちゃめ ochame_nako2016/9/4 12:43TOUCH_LR関数は画面左をタッチしていれば4(#LEFT)を返し、右をタッチしていれば8(#RIGHT)を返し両方タッチしていれば12(#LEFT+#RIGHT)を返します。 ただし、左3分の1、右3分の1が有効範囲で中央3分の1は正常判定不可となっています。 十字ボタンの左右判定と同じようにANDを使って判定が可能です。2そうだね プレイ済み2017/11/03 11:47:12に取得
プチコン3号 SmileBASIC コミュニティプレイ日記おちゃめ ochame_nako2016/09/04 12:42:24簡易的な擬似マルチタッチを実現する関数を作りました。 「画面左と右のどちらをタッチしているか」しか判定できませんが、左をタッチした状態でも右をタッチしているかが判定可能であるため様々なゲームに使えると思います。18そうだね 3返信プレイ済み2017/11/03 11:47:12に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿おちゃめ ochame_nako2016/9/3 21:52簡易的な擬似マルチタッチ関数を作りました。 TOUCH_LRは画面左をタッチしていれば1を返し、右をタッチしていれば2を返し両方タッチしていれば3を返します。(左3分の1、右3分の1が有効で中央3分の1は正常判定不可) ボタンの上下判定と同じようにANDを使って判定が可能です。 TOUCH_LR2はタッチした瞬間のみ取得可能な関数です。グローバル変数_TOUCH_LRを使用しています。 自作プログラムに自由に組み込んで使ってください。1そうだね プレイ済み2017/11/03 17:53:40に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿おちゃめ ochame_nako2016/9/3 21:15質問の意味を勘違いしていたかもしれません。 もしかして、太鼓のように左右の指を使いタッチを行いそれを判定したいということでしょうか?0そうだね プレイ済み2017/11/03 17:53:40に取得