トピック
3&U 0610KUmamotoYUu

最低限必要な命令を教えてください。

PRINTやIF、変数、ACLS、SPSETにBGMPLAYなどは知ってるんですが他に最低限覚えておいた方が良い命令ってありますかね… MLLも一応わかります。
4そうだね
プレイ済み
返信[1]
親投稿
moh6an moh6an
あとGOTOがあればプログラミング言語的には最低限だけどできる。かな? for文とWhileはGOTOで代用できるし
4そうだね
プレイ済み
返信[2]
親投稿
しろ sshiro1shiro
何がしたいか?によって必要なものは変わるのではないかな。
6そうだね
プレイ済み
返信[3]
親投稿
DIALOG使えば選択画面なんかは楽になるんじゃないかな
2そうだね
プレイ済み
返信[4]
親投稿
おかっぺ Japanese_WASABI
入力系が欲しいですね。文字ならINPUT。SP動かしたければ、BUTTON。
3そうだね
プレイ済み
返信[5]
親投稿
DieMatsmot Nintenndo.GOMI
ボタンを取得  button() タッチ座標と時間を取得  touch tm,tx,ty これはいると思う…。
2そうだね
プレイ済み
返信[6]
親投稿
ツララ LongIceSword
これだけは押さえておけ!っていうか、今覚えてる命令だけでも入力系と出力系みたいな分類してみたらいいんじゃないです? プチコンって要するにキーボードやボタンや各種センサーから「入力された情報」を「計算や色々な処理」をして、画面やスピーカーに「出力」してるってだけですから。
3そうだね
プレイ済み
返信[7]
親投稿
(最低限と言えばBrainf*ckを考えればいいんじゃ…) と思ったけどゲームとかの作品を作るには足りないな。
0そうだね
プレイ済み
返信[8]
親投稿
おちゃめ ochame_nako
何が「必要最低限の命令」なのかは人によって(もっと言えば作りたいプログラムによって)変わります。 しかし、プログラムというのは大きく分けて入力、出力、繰り返し、判断・分岐によって構成されているためそれぞれの命令を最低1つ覚えるということが必要最小限だと個人的には思います。
3そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
入力というのはボタン入力、キーボードによる文字入力、タッチによる入力によって使用する命令が変わります。 出力というのが画面出力(=画面表示)、音声出力等があります。画面表示にはプチコン3号ではコンソール、スプライト、BGなどが用意されています。コンソールというのは普通の文字のことでスプライトというのはゲームで良く使われている動作するキャラ、BGというのはゲームの背景のことです。 繰り返しというのは文字通りです。プログラムというのは先頭から順番に実行して最後まで実行したら自動的に終了してしまうためゲームオーバーになるまでゲームを続けるためには繰り返し処理が必要不可欠となります。
1そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
すでに覚えている命令から判断するとあと「繰り返し命令」と「入力命令」さえ覚えれば簡単なゲームは十分に作れます。 繰り返しの命令にはWHILE~WEND、REPEAT~UNTIL、FOR~NEXTなどあります。また、GOTO@ラベルによる繰り返しを記述も可能です。 自分が使いやすいものを選んで使用してください。(個人的にはWHILE~WEND派ですが、汎用性の高さからmohさんも書かれているようにGOTOで代用しても良い) 入力に関してはボタン入力をしたいならばBUTTON()、タッチ入力をしたいならばTOUCHですがこれは自分が作りたいプログラムに応じて選んでください。 あと出力命令に関してはPRINTではLOCATE、スプライトではSPOFSを使い「任意の場所に表示する」ということを覚えておくと作れるゲームの幅が広がると思います。
1そうだね
プレイ済み
返信[11]
親投稿
おちゃめ ochame_nako
命令の使い方は命令を入力した後でキーボード右上にある「?」をタッチするとヘルプが出てくるのでそれを見てください。(見ても分からなければまた質問してください) 命令を覚える順番というのは特に決まっておらず「自分に必要な命令」から順番に覚えると良いと思います。 逆に言えば「現在必要に感じていない命令」は特に覚える必要はありません。 とはいえ、ネット環境があるならば公式サイトのリファレンスを見たり、そうでなければプチコン関連書籍(公式ガイド、公式ムック等)を見てどんな命令があるのかをざっくりと眺めておくと良いかもしれませんね。
3そうだね
プレイ済み
返信[12]
親投稿
変数に配列が含まれているならいいけど、含まれてないなら配列を覚えると役に立つケースが多いと思いますよ。 とくに配列はわからないうちは不要と思われる人が多いっぽいですが、知ると手放せなくなるぐらい便利です。 ただ無ければ出来ないというわけではないんで最低限には含まれないかもしれませんが…。
3そうだね
プレイ済み
返信[13]
親投稿
かおなし SYO-YU-KOTO
フローチャートを覚えて作り、後はそれぞれの処理と命令を対応させる… 基本的にツララさんと同じでまずは命令の種類・大まかな役割を覚えれば良いのではないかと だからプログラムでまず覚えるべきは FORやGOTO(繰り返し命令) IF命令(条件分岐) なのかなと思います それに付随して変数とか文字列操作の内部で処理をする命令を覚える 入出力命令に関しては作りたいモノで変わりますから自分は用途別にまとまってる[?]を使ってます
2そうだね
プレイ済み
返信[14]
親投稿
3&U 0610KUmamotoYUu
BOTTONはなんとなくわかるんですが TOUCHや配列…分数(?)ってどうやって使うんでしょうか… 画面写真 @ラベルやLOCATE他、最近覚えたやつとかでなんかつくってみました
1そうだね
プレイ済み
返信[15]
親投稿
ツララ LongIceSword
そういえば学習用のグラフィカルなプログラム言語だと、フローチャートを書く感じで命令ブロックを繋ぎ合わせてプログラムを作ったりするのありますよね。 ゲーム感覚でお題をクリアして行くと、使える命令ブロックが増えて行くみたいな。 『これらの命令を使って〇〇を××するプログラムを作りなさい。尚すべて使い切る事。使用する変数や演算子の個数やは自由。』 [ LOCATE×3,PRINT×3,FOR TO NEXT×2,BUTTON()×1 IF THEN×2 ] みたいな問題集あったら面白いかも。
1そうだね
プレイ済み
返信[16]
親投稿
DieMatsmot Nintenndo.GOMI
Touch tm.tx,ty tmはタッチし続けている時間 tx,tyはタッチされた座標が格納される変数。
2そうだね
プレイ済み
返信[17]
親投稿
キルル2 kiruru2
個人的には必要最低限なら IF THEN ENDIF これに尽きますね あとは必要に応じて覚えていけばいいとおもいます
0そうだね
プレイ済み
返信[18]
親投稿
3&U 0610KUmamotoYUu
プチコン3号非公式講座ってのを見てきまして、とても分かりやすくて配列変数と二進数とかAND NOT等がなんとなくわかるようになりました。 あ、TOUCHで【?】を押したときにでてきたあのやつ 変数なんですか とりあえずなんかやってきますね。
0そうだね
プレイ済み
返信[19]
親投稿
たかChi takashi_o
「命令は覚えるもんじゃない。必要になった時に調べるものさ」 (42歳現役三流プログラマーの仕事訓)
6そうだね
プレイ済み
返信[20]
親投稿
かおなし SYO-YU-KOTO
プログラムの考え方さえ理解すればどんな言語も扱える筈 でも一応何かの言語を普通に使いこなせる位の技術はいるかも知れない
2そうだね
プレイ済み
返信[21]
親投稿
3&U 0610KUmamotoYUu
そうですね。 使わない命令覚えてもね…
0そうだね
プレイ済み
返信[22]
親投稿
ツララ LongIceSword
使わない命令っていうのは「今は使わない」ってだけなので、存在まで忘れちゃダメですよ。 要らない子とか言ってると思わぬ落とし穴に落ちたりしますから。 そもそもプログラム言語だって、人が何らかの意図を持って作ったものなんですから 不必要なものをわざわざ作って組み込んでおいたりすると思います? 我を押し付けるだけじゃなくて、作った人の立場になって見てみるっての大事ですよ。
2そうだね
プレイ済み
返信[23]
親投稿
3&U 0610KUmamotoYUu
あ、はい… じゃあ 使うときのために脳内の記憶引き出しに入れときます。 質問です TOUCH命令で線を描くのってどうすればいいんでしょうか?
2そうだね
プレイ済み
返信[24]
親投稿
かおなし SYO-YU-KOTO
TOUCH命令はOUTと一緒に使う、いわば3DSへの入力を感知する命令です タッチ操作で線を引く処理を詳しくすると タッチされた座標を調べる その座標から線を描画する座標を計算 実際に線を描画する という基本的な入力→計算→出力の流れになります 後は簡単です。それぞれの処理に合わせた命令を調べるだけです(「知らない命令は調べる」の意味) まずはしたいことを入力計算出力に分けて考えてみてはどうですか? ちなみに 下画面を使えるようにする→XSCREEN グラフィック系命令座標を下画面に適用→DISPLAY タッチ座標を求める→TOUCH OUT 線を引く→GLINE 点を打つ→GPSET
2そうだね
プレイ済み
返信[25]
親投稿
3&U 0610KUmamotoYUu
こんな感じでいいんでしょうか 点をうってから次の点をうつまでちょっと時間があるんですがなんとかできますかね…
2そうだね
プレイ済み
返信[26]
親投稿
3&U 0610KUmamotoYUu
貼り忘れました…
0そうだね
プレイ済み
返信[27]
親投稿
かおなし SYO-YU-KOTO
いくらGPSETしかないループとはいえ処理が追い付かない…ならば点と点を繋げれば線らしくなるんじゃないの!? というわけでGPSETの代わりにGLINEで点を繋ぎましょう 大分滑らかになるんじゃないでしょうか
1そうだね
プレイ済み
返信[28]
親投稿
おちゃめ ochame_nako
TOUCHとGPSETだけを使ってお絵かきソフトを作りそれでお絵かきをすると点線みたいになってしまうのは「TOUCHの座標取得が1フレーム(約1/60秒)に更新されている」ためです。 つまり、1フレームに1ドット以下の速度でゆっくりと描けば問題ないですが、それを超えると点と点が離れてしまうのは仕方ないということです。 それを改善する方法は多数あります。 かおなしさんが書かれているいるようにGLINEを使うのが最も簡単でしょう。 しかし、GLINEで繋ぐには2つの座標を指定する必要があります。 現在のタッチ座標とどこを繋ぐかというと1フレーム前の座標です。 GPSETのままでも「離れた点をGPSETで埋めていく」という方法もあります。 この方法も多数あります。 この「埋めていく」という方法を身につけると塗りつぶした円で埋めていけば太い線も簡単に描くことが可能になります
1そうだね
プレイ済み
返信[29]
親投稿
3&U 0610KUmamotoYUu
こうですよね あってるかな? 消しゴムモードは作ってる途中です。
0そうだね
プレイ済み
返信[30]
親投稿
かおなし SYO-YU-KOTO
へぇTOUCHのそんな仕様しらなんだ もっと詳しい人居るからゆるして
0そうだね
プレイ済み
返信[31]
親投稿
3&U 0610KUmamotoYUu
けしゴムモード出来ました。 消しづらかったので一回り大きくしました。 工夫はそのくらいです。 それと、1画面に収まるように「:」とかで2、3行を一行にしました。 見づらいですね。
0そうだね
プレイ済み
返信[32]
親投稿
おちゃめ ochame_nako
自力でここまでやれたのならばすごいと思います。 あとはその作ったプログラムを土台にして「ここは不満がある」「ここはこうしたい」「こんな機能が欲しい」という点をどんどん改善していけば良いでしょう。 「あんなこといいなできたらいいな」を実現できるのがプチコン3号の良いところなのでぜひ頑張って「自分が作ってみたい(使ってみたい)お絵かきソフト」を作ってください。 その際に分からない部分などがあればまたMiiverseで質問すれば良いと思います。
1そうだね
プレイ済み
返信[33]
親投稿
おちゃめ ochame_nako
ちなみに私が作ったお絵かきソフトはこんな感じです。 簡易毛筆 ver.2.1.0 https://miiverse.nintendo.net/posts/AYMHAAADAAB2V0f_gGvb6A SIMPLE PAINT ver.0.5.5 https://miiverse.nintendo.net/posts/AYMHAAADAAB2V0fzO4k3_g QSP(WIDTH 16の1画面プログラム) SIMPLE PAINT QSP https://miiverse.nintendo.net/posts/AYMHAAACAAADVHkuvFo95w 簡易毛筆QSP https://miiverse.nintendo.net/posts/AYMHAAACAAADVHkm7urBQQ
0そうだね
プレイ済み
返信[34]
親投稿
3&U 0610KUmamotoYUu
毛筆すごいですね! (「あ」に見えるが一応「安((古 ) QSPもダウンロードしました! あれらがたった1画面で!?
0そうだね
プレイ済み
返信[35]
親投稿
3&U 0610KUmamotoYUu
貼り忘れ (二回目)
0そうだね
プレイ済み
返信[36]
親投稿
3&U 0610KUmamotoYUu
FOR NEXTとか、TOUCH等の使い方が分かりましたし、ちょっと内容がそれてきたので そろそろ閉めますね! ありがとうございましたぁああ!
2そうだね
プレイ済み
返信[37]
親投稿
3&U 0610KUmamotoYUu
俺って トピックの閉め忘れと誤字脱字、画面写真の貼り忘れ多いな。 じゃあ
1そうだね
プレイ済み