Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1 2 3 4 5 6 7 8 9 10 11 1213
次のページ(過去)
返信[37]
親投稿
(入試文がネタバレじゃないのでこれもネタバレなし) 最初の書き込みから(要件定義)だけだとデッキ配列を操作して答え求めるプログラム教科の試験なのかなって思ったけど、これふつうに数学科なのかなーって思ったらやっぱりふつうに数学だった。 数学な解き方をコードに落とすなら switch case で場合分けになりそうだけど、そんなことせずにBASICで数学的に解くならどうなるか、って問題になってプチコン数学オリンピック的な感じでいろいろ期待。 ※「数学オリンピック」で検索すると 数学オリンピック財団 のページから問題見れるので、ガチな問題を見たい人にはおすすめ。
0そうだね
プレイ済み
返信[13]
親投稿
PRINTデバッグだいじ。 再帰とPUSH/SHIFTがちゃんとプチコンで動いてくれたのでコード10分、デバッグ20分くらい やっぱり3号のキーボード使い慣れないなぁ
0そうだね
プレイ済み
返信[98]
親投稿
SPROT/BGROTで Z軸方向XY平面の回転が出来るけどY軸方向や X軸方向の回転もできるのに期待(内部データ管理的に厳しそう)
0そうだね
プレイ済み
返信[30]
親投稿
愛されるクソゲーって現代美術のように理解が難関だけどアートとして感じられるのが。 PS1の「グルーヴ地獄V」(グルーブじごくファイブ) はジャンルがクソゲーで、ものすごくクソゲーテイストだけど、それがアート(PSPで続編あり) スペランカーもたけしの挑戦状もトランスフォーマーコンボイの謎もすぐゲームオーバーになるだけで、内容は普通の激ムズゲームなので、万人受けしないのはやっぱりクソゲーとよばれてしまう世の中 ファミコン版ドラクエ3だって今プレイするともっさりで人によってはクソゲーよばわりされるのも バグ取りや調整の時間なしでの発売な感じなのが本当のクソゲーだけど、 デスクリムゾンはそれがアートになってて、チーターマンも同じくアートで、BGMが良作いという感じ プチコンで作ればみんながレビューしてくれるので、まずは作りたいモノを作ってみて、遊んでもらうのが良い感じ。
3そうだね
プレイ済み
返信[22]
親投稿
・「IF A THEN ?"ABC"」 を 「?"ABC"*A」に BASICのプログラムとしては「Aが成り立つならABCを表示」と「ABCをA回表示する」だけど この目的としては「A(条件)が成り立つならABCを表示したい」 プチコンでは条件式が成り立たない場合は 0 で、成り立つ場合は 1 となります。 A(条件)が成り立てば「?"ABC"*A」は ABCを1回表示するので、結果的に ABC が表示されます Aは条件式の結果なので「X=3:?"ABC"*(X>2)」は条件成立で ABCが表示されます 条件式が成り立つ場合の 1 を 表示するための1回として使っているので、目的が違うけど、プチコンでの短縮として使っているのです ※本当は目的が違う同士は使っちゃダメで「BUTTON() AND #BLUE」はABXY→ボタン判定として動くけど文章として理解すると間違いなのと同じ
1そうだね
プレイ済み
返信[21]
親投稿
おちゃめさんのコードで使われてるのをちょっと説明 ・前の命令と次の命令を1行で書く場合に「:」でつなぐけど、 数字→英字、記号→英字など、命令の切り替わりが判断出来る場合は「:」は無くてもいい(引数の最後が#Yだと次の命令も英字なので:が必要になる) ・数値の書き方は数字だけではなく「-2E3」「-73E5」など、「E」を使った書き方がある(常用対数) 「E」は「10の何乗か」を表すので「-2E3」は「-2*1000=-2000」となる 「-73E5」は HEX$(-73E5)=&hFF909C60 なので、色の値として有効な値となる ※「&H」で16進数値が表せるように「-2E3」は文字ではなく数値なのです(数字以外でも数値を表せます) ※数値なので「A=3:B=-2EA」みたいに変数は使えません ※10のマイナス2乗は 1/100 なので「1E-2」は「0.01」になります
1そうだね
プレイ済み
返信[20]
親投稿
ちなみに実際のお仕事でのコード短縮はあんまり意識されることなくて、 開発期間に間に合うように動くモノを作るのがお仕事で、 なおかつ何人かでプログラムを作るので「短さ」より「わかりやすさ」が優先されます。 なので、プチコン以外のほとんどの言語では、難解で短くするより、みんなが見てもわかりやすいプログラムが良いとされます。 ポケコンとメモリと短縮はおちゃめさんが書かれてるとおりで、BASICはコンパイルされて実行コードが短くなるわけでは無く、入力されたコードそのものが実行プログラムとなるので 同じように動くプログラムでも1文字でも短ければ短いほどさらにメモリが使えて追加でコードも書くことができるのです。 QPSなどは実用的と言うよりは、プチコンとBASICを使ったパズルで、 パズル自体は生活してて実用的ではないけど、なにかと考え方は役には立つので、どうすれば短縮できるかを考えるのが大切です
1そうだね
プレイ済み
返信[97]
親投稿
公式サイト側の方の要望をツイッターに書いたのも含めて。 ・プログラム講座が未完成なので、ユーザ側みなさんでも講座を書いている人がたくさんいるので、公式からユーザ講座としてのリンクページがほしいけど、 プチコンからWebプチコン入門で飛んだときに見えないかもしれないので、原稿の寄稿でもいいのかもしれない。(ベーマガ投稿プログラム方式?) ・GRP4,GRP5のリソースデータが公式ページに無いので追加(mkII時代はあったし公開データ自体はあるっぽいので) ・命令表に結構記載されてないことも多くて、ユーザ大勢が数年使っていて命令表のおかしいところがいくつか気になっているところもあるので、命令表校正トピック(命令表記載要望トピック)があってもいいのかも? ・トップ以外の右側の欄にユーザ投稿作品のボタンが無いのであってもいいかも。
0そうだね
プレイ済み
返信[96]
親投稿
欧州版で一段落した感じらしいので、前に書いてから今までに気になったところふまえて追加。 ・下キーボードに実行ボタン追加 タッチペン握った右手でDIRECTモード→F5 RUN→ENTERはちょっと大変なのでスタートボタンと同じ機能がほしい ・下キーボードの検索・ヘルプボタンを横並べにして大きめに 縦並びだけど横並びでも問題無さそうなのでボタンサイズ大きくして押しやすく ・ファイル管理がやっぱり貧弱なので、ファイルコピー・削除・変更画面でプロジェクトの中身が分かる何かを表示して欲しい。 公開キー取得プロジェクトは公開キー発行者の表示と、プロジェクト内の TITLE.TXT の1行目を表示とか ・実行中のスロットを取得する手段がない(スマイルツール登録かどうか判断も含めて) ・スマイルツール2つ目がメモリ容量制限じゃなくてキーボードレイアウト制限なら自由割り当て用の2つめがほしい
0そうだね
プレイ済み
返信[6]
親投稿
データ定義を別スロットに定義することでプログラムとデータを分ける設計をしたいところですが、 プチコンのスロットって自分のスロットで参照するデータはすべて自分のスロットで持っておくって設計思想に見えます ※別スロットの変数は直接参照できない 別のスロットにデータを定義して、メインスロットで参照するのはいろいろあるけど、どれもメインスロットの変数にいったん覚えるという処理が必要になってきます。 ・VAR()に渡してスロットを超えた変数参照の式を解釈してもらってメインスロットの変数に入れる ・直接参照出来ない変数をCOMMON DEF で返してもらう(クラス設計のプロパティ扱い) ・USE <slot>してDATA文で定義してREADしてメインスロットの変数に入れる ・テキストファイルを読み込んでメインスロットの変数に入れる(設定ファイルみたいな感じ、テキストを解析する処理が必要) などなど
4そうだね
プレイ済み
返信[6]
親投稿
mkIIのリファレンスに、SPHITSP関数 ではなくて SPHIT関数(mkIIのみ)が SPCOL のマスクの影響を受ける衝突判定って書いてあって、 3号でSPHITSP()に統合されたときにマスク値を見忘れてるって感じも? mkIIのSPHITSP関数はマスクを見ないので、3号でマスクを見ない衝突判定が必要ならやっぱりマスク見る見ないフラグか、3号のリファレンスにちゃんと書かないとって感じかも。
1そうだね
プレイ済み
返信[5]
親投稿
リファレンスには特記がないので、引数2つの場合のSPHITSPがおかしい感じかなぁ。 引数1つ(3つ)ならマスク値も &h0が有効そうだし。(他のマスク値とヒットしない) 他は管理番号が返るのに2つのときだけ TRUE/FALSE が返るから処理も違ってそうだし、マスク値みてなさそうな感じも。 意図的にマスクを無視するなら、せめてマスク値を無視するためのフラグがSPHITSPにないとって感じ。
1そうだね
プレイ済み
返信[38]
親投稿
無限ループやFOR-NEXT も実のところIFとGOTOの組み合わせの別の書き方だったりするので、本当は最初にその辺ちゃんと理解が必要だったりもするけど、 プチコン触ってとりあえず何か作るってなると、ボタン操作して画面で何か動かすってことになると思うので、 そうなると必要なもの以外は「おまじない」として、簡単な理由と説明がとっつきやすいのかなぁと思います。 ちなみに10進数と2進数・16進数変換は、個人的にそこまで気にしなくていいとおもってます。(BGPUTのBG番号も16進数で管理) 2進数・16進数で扱わないといけないものは、もとから2進数・16進数で扱っていればよくて、プチコンでも &H をつければ値は16進数として扱われます。 2進数と10進数と同居する場合でも、2進数が何桁なら10進数の範囲はここまで(2の累乗の値)を気にしてればいい感じです。
0そうだね
プレイ済み
返信[37]
親投稿
BUTTON関数の戻り値は(10進数っぽい値が入るけど)3DSのたくさんのボタンの状態が特別な形で1つの変数に入ってくるので、それを個別に判定するのが B AND #UP みたいな書き方です。 それぞれに対応するのはこの書き方です(斜めや同時押し含む例を載せる) って感じで、おまじないとするのが最初は混乱しない感じかもです。 この時点では方向やボタンを取得したいだけなはずなので、2進数かどうかなんてややこしいこと気にしなくて、ボタンだけ取得できればいいのかなと。 2進数やビット操作はDIALOGやBGPUTやATTRなど、慣れてきたあたりで使うような命令で、ビットで渡す必要があるときに説明すればいいのかなとは思います。
0そうだね
プレイ済み
返信[14]
親投稿
ちなみに上下や左右が同時に押せないのは十字キーのハードウェア的なつくりだからであって、NINTENDO SWITCHやワンダースワン(20年近く前の携帯ゲーム機)みたいに、上下左右が別々のボタンの場合は、上と下が同時に押されることもあります。 (どっちのゲーム機も上下左右ボタンがABXYボタンとして使えるのです) ハードウェアのつくりの結果、絶対にBUTTON関数が返さないビットの組み合わせがあるけども、それはBUTTON関数の制約ではないことを気にしておかないといけないのです。 ファミコンは本体の2つのコントローラとは別にコントローラ(連射つきのとかいろいろ)をつなげることができて、これが1Pコントローラとして扱われるので、 本体の1Pの左と、別のコントローラの右を押すと、左右が同時に押されたって判定がされます。 (それするとおかしな動きするゲームも結構あります)
1そうだね
プレイ済み
返信[13]
親投稿
BASICはとりあえず書けば動くのがメリットでもあるので、まずはおまじないとしてこうすれば動くとしておいて、あとで細かい説明がいいのかなと思います。 IFで4行使って各方向ごとに XとYを変化させてあげるのがカーソル移動処理です、みたいな。 (ボタン判定をして、「必要な変数を変化させる」のが大事) BUTTON() の戻り値は、そもそも普通の数値ではなくて、ビット単位で操作する必要があって(ビットフィールド)、本当は10進数で考えちゃいけないのです。 PRINTしたらたまたま10進数で表示されるだけで、ちゃんと表示するなら「PRINT BIN$(B,16)」のように2進数か HEX$(B,2) で16進数で表示させます。 ビットで渡す必要がある命令には、公式の命令表に「|b00|」「|b01|」などで説明があるので、2進数やビット操作はいずれちゃんと説明する必要があります。
1そうだね
プレイ済み
返信[7]
親投稿
基本的に数値で何か値を渡すところは変数で書いても変数の値が渡せます。(文字渡す場合でも文字列変数で渡せます) SPSET の 500も変数に置き換えられるし、配列要素数も変数で渡せます。 DIM は変数の宣言だけど、[]が付くと配列変数の宣言になって、[]の中の数だけ変数が使えるようになります。 []の中で書かれた変数同士の計算なので、 6x5=30個の Cという名前の配列変数が使えるようになります 配列を使う場合は C[1]=1000 みたいな感じで、何番目の変数を使うかをカッコ付きで指定します。 配列を一気に渡す場合は C だけを渡すけど、プチコン命令表の「数値配列」と書かれてる引数に渡す場合などに使います。 配列の C だけ渡せば、勝手に配列の数を増やしてくれる命令の方が特別なのです(GLOADはDIM C[0]した C を渡すと配列足りないので勝手に増やして返す)
1そうだね
プレイ済み
返信[41]
親投稿
ちなみにファイル名が人間が理解できないような名前でもちゃんと管理できるのは、ファイルを扱う画面でファイルの中身が表示されるからであって、 ファイル名しか表示されない画面ではまったくもって役に立たないのです。 プチコンのファイル管理画面(コピー削除や公開キーアップロードなど)ってプログラムで処理できないので、人間が理解出来ない名前だらけだと多くの人は何も出来ないのです。 PCやスマホで写真ファイル名が連番でも管理できてるのは、ファイルを選ぶのと表示されている写真を選ぶのとが同じだからです。
0そうだね
プレイ済み
返信[40]
親投稿
GRPが使いづらいとなると全部DAT形式で出力しておいて、必要なときにGRPに出力するって方法もあったりするけど、 結局同じプロジェクト内にDATとGRPが混在しちゃうことになるから、GRPの場合は「.GRP」を付けて出力して、プログラム内のファイル一覧には「.GRP」は表示しないようにするのがいい感じ。 ※そのソフト専用のファイルで保存しておいて、他のシステムでも使えるようなファイルで出力(エクスポート)するソフトはたくさんあります DATの中身がどんな内容かとか縦横サイズとかのファイルヘッダをちゃんと定義する必要があるし、単純にGLOADできなくなったりするけど、そういうDEFを作ればなんとか。 ちゃんと設計すれば将来圧縮処理も入れられるし。
1そうだね
プレイ済み
返信[16]
親投稿
技術的なこととか学術的なこととかは1つの資料や情報だけじゃなくて、いろんな資料や情報を参考にすると、こっちには書いてないけど、あっちには書いてあるって情報が結構あるので、 その辺をかいつまんで、自分なりの知識にしていくといい感じですよ。 さすがにFFTを理解するにはここに書き込める量だけじゃたりないし。 ネットの情報だけがすべてじゃなくて、やっぱり本のほうが細かい説明があったりするので、 興味があるジャンルは図書館や大きい書店で立ち読みしながらほしい本を探してみるのがいいかもです。
0そうだね
プレイ済み