Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
194 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114154
次のページ(過去)
返信[6]
親投稿
おちゃめ ochame_nako
タバひめさんへ 実は高橋名人の秒間16連射は最高ではなくたまたま計測したときが16連射であって最高記録は17連射以上みたいですね。 そう考えると負けていますが、16連射は(私でさえできるのだから)特別難しいものではないと当時思っていました。
0そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
すみません。正しいリストはこちらです。 GCLS-256では黄色がきつかったので公開直前に少しクリーム色に近いGCLS-2E3に変えました。 公開キーのリストは修正済みのものです。
0そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
ちなみに私の最高はこすりありで148、こすり無しの普通に指で連打だと118でした。 昔(1980年代)は指で160くらいあったのでかなり衰えています(笑)
2そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
見た目は某シュ○ォッチがモチーフとなっています。 メイン部分の処理はQSPのさらに半分以下(連射計測プログラムはmkIIの1行プログラム=99文字でも作れたのでQSPならば余裕)なのですが、プログラムの大半が表示関係となっています。 特に難しい処理はしておらず、リスト短縮はおなじみのものばかりなので説明不要でしょう。(分からない部分等があればコメントしてください) 公開キー【 4R3EB3J3 】、ファイル名「1GQ_SWT」
3そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
これがプログラムリストです
1そうだね
プレイ済み
プレイ日記
おちゃめ ochame_nako
QSP第17弾「連射計測QSP」です。連射速度を計測するプログラムですがQSPでできる範囲で見た目に拘りました。 公開キーはコメントにて。
16そうだね
プレイ済み
返信[28]
親投稿
おちゃめ ochame_nako
あまさとしおんさんへ 最短のためならば使えるものは何でも使うべきでしょう(笑) 例えば256という値が欲しければ、ボタン入力とは無縁の場所でも定数リテラル#Lを使用します。 ただし、#Lの後に別の命令を続けて記述する場合はスペースやコロンが必要になるためこれは短縮にはなりませんが。 QSPで作品作りを重ねることでプチコン3号ならではのリスト短縮テクニックを多数会得できたのでまた機会をみて自サイトの方でまとめたいと思います。
2そうだね
プレイ済み
返信[27]
親投稿
おちゃめ ochame_nako
使用されることが多いWHILE 1~WENDという無限ループですが、こうしてみると速度面でも短さの面でも使うメリットはありません。 まぁ最速や最短を気にしない場面では私もよく使っていますが。 あとGOSUBは速度重視の場面では使用するし、そうでない場面であればDEFの方が使い勝手が良いです。 結局可読性かリストの長さか速度かでどれを使うかのがベターかが決まると思います。 特に気にしないのであれば自分が使いやすいものを使うのがベターでしょう。 でんぺんさんも書かれているようにプログラミングに正解はありません。 趣味でやるプログラミングならば他人がとやかく言っても自分が楽しく作るのが一番ですね。
3そうだね
プレイ済み
返信[26]
親投稿
おちゃめ ochame_nako
私はこんな感じでループを使い分けています GOTO・・・最速、最短 WHILE~WEND・・・条件付きループでは最短 FOR~NEXT・・・回数が決まっているループでは最短 ON GOTO・・・条件付きループでは最速(比較演算子を使う場合はREPEAT~UNTILが最速) ちなみに無限ループはこのように記述できます。 WHILE 1~WEND REPEAT~UNTIL 0 FOR I=0 TO I+1~NEXT
2そうだね
プレイ済み
返信[13]
親投稿
おちゃめ ochame_nako
「○○が作れたら初心者卒業」というフォーマットに則った回答をするならば「自分が作りたいと思ったもの」が何でも作れたら初心者卒業と言ってもいいでしょうね。(上記のように中級者ならば理論上はどんなプログラムでも作れるようになるため) その際に処理速度を速くしたいとか、ゲームを面白くしたいというのは別の問題となるため(プログラミングの)初心者卒業とは直接は関係ありません。 もちろん、プチコン3号では実現が不可能なものや困難なものがあるため「作れないものがあるならば初心者である」とは限らないですが。
1そうだね
プレイ済み
返信[40]
親投稿
おちゃめ ochame_nako
・プチコンの 無い生活は あり得ない  先日トイレにNew 3DS本体を落とし水没させてしまいました。 3日かけて乾燥させたため最初は無事に使えていたのですが、やっぱり調子が悪くなったので修理に出すことにしました。 しかし、修理中プチコン3号が使えないのは寂しいのでNew 3DS LL本体+プチコン3号を本日買いました。 これで心おきなく修理に出せます。 ボタンの調子が悪く引っ越しもできない状況なので完全な買い増しです。
4そうだね
プレイ済み
返信[8]
親投稿
おちゃめ ochame_nako
他の方と概ね同じですが、単純に待ちたい時はWAIT、ループ内で使う場合などタイミングを取りたい場合はVSYNCという使い方で問題ないと思います。 これは言い換えると「待たないと困る場合はWAIT」「待ちすぎたら困る場合はVSYNC」となります。 WAIT 5とすれば確実に5フレームくらい待ってくれますが、VSYNC 5だと前回VSYNCが実行されてからのフレーム数が影響するため5フレーム待つ保証はできません。(前回のVSYNCから5フレーム以上経っている場合はVSYNC 5と記述しても無視される)
1そうだね
プレイ済み
返信[19]
親投稿
おちゃめ ochame_nako
INC・・・基本的には使わない(A=A+1の方が速いし変数名が1文字だとリスト短縮にならない) OPTION STRICT・・・基本的には使わない カラー指定・・・基本的には10進数(例えば-7E5でピンクを指定みたいな感じ) 1行・・・QSPなどではできるだけ行末ぴったりになるような文字数で記述 変数宣言・・・VARをよく使うけどQSPでは基本的に宣言はしない 自作関数内で使用しているグローバル変数は"_"+関数名によってどの関数で使用しているグローバル変数であるかが明確になると同時にダブりの防止をしています。 あとクセというわけではないですが、QSPやOSPのような文字数制限があるプログラムではない普通のプログラムでもリスト短縮を行って記述しています。 ほとんど意味がないこと(下手すればマイナスにしかならない)と分かっていても無駄があるのが気になるわけです。
1そうだね
プレイ済み
返信[12]
親投稿
おちゃめ ochame_nako
あとは、れいさんも書かれているように一人で調べられることができれば理論上はどんなプログラムも作ることができます。 中級者が初心者よりも上に位置するのであれば私が考える中級者の条件である「論理的にプログラムが作れる」ができるようになれば「初心者卒業」と言ってもいのではないかと思います。
1そうだね
プレイ済み
返信[11]
親投稿
おちゃめ ochame_nako
「初心者卒業」をどのように捉えているかは人それぞれだと思いますが、私も「○○が作れたら初心者卒業」と言えるようなプログラムはないと考えています。 私が書いているプチコン3号入門講座において中級者といえるための条件としては「論理的にプログラムが作れる」というものを挙げています。 これはどのようなことを意味しているかというと「自分が作ったプログラムの仕組みを第三者に説明できる」というものです。(言語化することで自分自身で理解できているかが把握できる) 例えば「IF文において何となくこんな条件式にしたら動いた」ではなく「このIF文は○○だから××のような判定を行い処理している」と自分自身で把握して作れるようになる必要があるということです。
2そうだね
プレイ済み
返信[16]
親投稿
おちゃめ ochame_nako
音姫では2回連続で不正解の場合のみゲームオーバーとすることですぐに終わってつまらないという状況を減らししています。 序盤は初心者でもそれなりにプレイ可能な難度にするというのははゲーム作りにおいて重要だと私は考えています。 不正解の時は2回連続で正解しないと次のレベルに進めないようにして不正解時のペナルティとしてだけではなく無用に難易度が上がるのを防ぎ自分のレベルに応じた難易度でプレイを可能にしています。 またこのゲームはQSPに収めるため1オクターブ、半音無しという簡単な問題しか出題されないため絶対音感がある人ならば楽勝でつまらなく感じてしまうことが予想されます。 それを防ぐためトータル2秒という時間固定によってレベルが高くなれば絶対音感のある人でも歯ごたえがあるようになっています。 やっていることは簡単なことですがQSPでもちゃんとゲームバランス調整等が可能なことが分かると思います
1そうだね
プレイ済み
返信[15]
親投稿
おちゃめ ochame_nako
natto-/プチ3さんへ リスト短縮テクニックというのは特別難しいものではなくやり方を覚えれば誰でも使うことができます。 しかし、ほとんどの場合において可読性ダウンに繋がるためある程度普通に作れるようになってから使うと良いでしょう。 もっとも、QSPなどの文字数制限のあるプログラムでないとほとんど使う意味はほとんどないと思います。(プチコン3号は比較的メモリが潤沢だし) 個人的には短ければそれでOKではなくQSPであってもツールならば使い勝手、ゲームならばゲームバランスを考えるようにしています。 (続く)
1そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
プチコンの音声合成や音楽をPCで行うニコ生用に使いたいということではないのですか? それならば、単純なプログラムで対応できると思います。(プチコンを使いリアルタイムで文字入力をするのは非常に大変だけど) プレイ中の動画をプチコン単体で録画はできませんが、ボタンやタッチの情報を1フレームずつ記録しておけば自分のプレイを再生することは可能です。 ただし、乱数を使っているプログラムの場合は乱数の値も記録していかないと正しく再生できません。
1そうだね
プレイ済み
返信[13]
親投稿
おちゃめ ochame_nako
ボタンをもう一度押すとキャンセルではなくリセットボタン式にしたいのでしたら、B=(B OR BUTTON()>>4)*(BUTTON()!=1)としてください。 この改造をすることで十字キーの上を押したらリセットされ時間設定は0に戻ります。 いずれの場合も改造するとQSPに収まらなくなり何かの要素を削る必要があります。 このプログラムは残り時間によって色が変わったりラストの数秒になると点滅するとか最後のFADE命令を使った演出などがあり削れる場所はありますが。(もっとも、色変えと点滅は-8E8/Tで行っているため削ってもほとんど節約できないけど)
0そうだね
プレイ済み
返信[12]
親投稿
おちゃめ ochame_nako
それでもやっぱり「ボタンを放した時に0に戻らない方が使いやすい」と感じるのでしたら「B=BUTTON()>>4」の部分を「B=B XOR BUTTON(2)>>4」に変えてください。 この改造を行うことでもしもボタンを押し間違えてもそのボタンをもう一度押すとそのボタンのみキャンセルされます。 例えばA+Bで3分を選ぼうとした場合にA+Xと押して5分にしてしまったらXをもう一度押すとXボタンのみがキャンセルされて1分になるためBを押せば良いということです。
0そうだね
プレイ済み