トピック
ネタバレ
Rabui sakaisyo10.25

初心者です。少しずつ学んできます。

最近、放置気味(ていうか放置)だったので、また1から始めようと考えています。始めると言っても、暇な時になんで、そんなにはできないと思います。皆さんには、プログラムについてや、知っておきたいコマンド(?)等を聞ければ、と思っています。生活第一なんで、米確認は週1、2位しかできないと思うけど、米、お願いします。   ※全くもってプログラムは初心者です。何も知りません。出来れば、本当の初歩段階やできる限りでいいので分かりやすく、でお願いします。
9そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
知っとくといいのは制御構文ですね。 for next while wend repeat until このみっつ。 プログラム作成は料理みたいなものだから、自分で手を動かさないとさっぱり上達しません。 「プチコン 初心者」でぐぐって見つかるサイトを見て、そのサンプルプログラムをかたっぱしから入力してみるとかするといいと思います。
2そうだね
プレイ済み
返信[2]
親投稿
だにえる haru2016nen
初心者なら、PRINT系の命令が 一番分かりやすいと思います。 基本でもありますし、 目に見える変化がありますから! 【参照用命令】 PRINT COLOR LOCATE ATTR
1そうだね
プレイ済み
返信[3]
親投稿
SilverBlue Corei72630QM
まず覚えとけってのは IFと条件式です。 これがないと処理を分岐させる時や、特定条件下での動作を決定することができないです。
3そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
(1)画面に表示をする命令 (2)入力をする命令 (3)条件判断、分岐をする命令 (4)繰り返しをする命令 この4種類を覚えておけば基本的にどんなプログラムも作れます。 あとは変数と演算子の使い方を覚えればOKです。 具体的に言えばアクション系のコンソールゲーム(文字だけのゲーム)を作るならば(1)はPRINT、(2)はBUTTON、(3)はIF、(4)はGOTOでしょう。(GOTOは繰り返しの命令ではないけどBASICでは繰り返しに用いられることが多い) 命令は必要になった時にその都度覚えていくのが良いと思います。(スプライトを表示したくなったらスプライト関係の命令を覚えていく等)
2そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
プログラムを作れるようにするためには命令を覚えるのが重要ではなく動作の仕組みを覚えることの方が重要です。 プチコン3号はコンピュータであり頑固で融通が効かないため指示された通りにしか動けないためです。 逆に言えば指示の仕方が間違っていてもプチコン3号は間違った指示通り動いてしまうし、プチコン3号が理解できない指示であれば画面にエラー表示が出るわけです。 つまり、自分がどうして欲しいのかを考えてそのためには具体的にどのように指示を出したらよいのかを考える必要があるわけです。 それをプチコンが分かる言葉で書いたものがプログラムとなります。
2そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
例えば「十字ボタンの右を押したら右に進む」という場合も「キャラを右に進ませる」という命令はないため「右に進む」というのはどういうものかを考える必要があります。 プチコンの表示座標は右の方が大きくなっているため右に進むためには表示座標を大きくすれば良いことが分かります。 表示座標を大きくするには横方向(X座標)の位置を示す変数の値を大きくすれば良いのです。 変数Xが表示座標を示している(LOCATE X,Yのように使用している)ならばX=X+1で1回実行するごとに1ずつ座標が大きくなります。(「+1」で良いのかはプログラムによって変わるため実際に動かして確かめる必要がある) こんな感じでプチコン3号に分かるレベルにまで具体化していくことでプログラムができます。
2そうだね
プレイ済み
返信[7]
親投稿
Rabui sakaisyo10.25
米遅れスミマセン(;>_<;)          しっかり返事をしたいんですが、今少し忙しいんでこの位の返事にさせて貰いますm(_ _)m  たくさんの米、ありがとうございます!  ゆっくりプチコンしたいよぉ……。
0そうだね
プレイ済み
返信[8]
親投稿
Rabui sakaisyo10.25
(雑談)米の改行がわかんねぇ…(教えてとは言っていない)。
0そうだね
プレイ済み
返信[9]
親投稿
Rabui sakaisyo10.25
おちゃめs»動作の仕組みを覚えた方がいいのなら、最初から簡単な作品を目指して練習するのもアリでしょうか?  皆さんへ»もし仮にその方法でやるとしたら、どんな作品がいいでしょうか?出来れば、作りやすくかつプログラムの概念を理解できるような…。
0そうだね
プレイ済み
返信[10]
親投稿
だにえる haru2016nen
最初の頃は難しいプログラムに挑戦しても、 つまずいて、やる気がなくなるだけ だと思います。 あんまり具体的な実行結果は求めず、 なんとなく作ったプログラムに 少しづつ命令を追加していく。という のがいいと思います。 個人的には 「コンソール画面上でのキャラ操作」 が基本を学ぶには最適だと思います。
0そうだね
プレイ済み
返信[11]
親投稿
BlackSoft BlackSoft.mkII3g
自分は、「もぐら叩き」を最初に作りましたね。と言っても、実際にもぐらやハンマーなどグラフィックにこだわる必要はありません。 例えば、「ABXYのうちランダムに出てくる文字と同じボタンの早押し」とか。 何を習得できるか? ・各種表示処理 ・ボタンの入力値の取得 ・乱数の使い方 ・条件分岐、繰り返し ・タイマー(制限時間)の実装方法 などなど。 これだけでも基礎は整うと思います。
0そうだね
プレイ済み
返信[12]
親投稿
Rabui sakaisyo10.25
あざす。とりま、だにえるsやBlacksoftさんが言ってるやつをぐぐってみて、実践してみます。わからない部分があったら、皆さんに聞けたらと思ってまする。
1そうだね
プレイ済み
返信[13]
親投稿
Rabui sakaisyo10.25
BlackSoftさん»スミマセン、↑の投稿の中にある名前なんですが、「S」を小文字にしてしまいました……。
1そうだね
プレイ済み
返信[14]
親投稿
Rabui sakaisyo10.25
写真のようなプログラムをしてみました。内容は「BUTTON()の関数の値を表示する」らしいんですが、いまいちこのプログラムが分かりません。「ボタンを押せば関数の値がでる」とあったんですがいまいち…。
0そうだね
プレイ済み
返信[15]
親投稿
だにえる haru2016nen
プログラムは基本、 エディトモードで作ります。 キーボードの左下で 「ダイレクト、エディト0~3」の画面を 切り替えます。
0そうだね
プレイ済み
返信[16]
親投稿
Rabui sakaisyo10.25
現段階で把握しているのは、B=BUTOON()のBは変数で、押しているボタンの情報が入るところ、BUTTON()は押しているボタンを関数の値といった形で表し、押しているボタンによって、この値は変わる、例としてAを押すと値は16になり変数Bは16になる、みたいな感じですかね。これは個人的な考えなんですけど、変数Bが何故Aの関数の値と一緒なのかと思い、等式で考えたら「B=BUTTON()」のBUTTON()に16を代入すれば、「B=16」となるため、一緒なのでは、と考えました。
0そうだね
プレイ済み
返信[17]
親投稿
Rabui sakaisyo10.25
だにえるs»あざす。ではEDIT(?)でやってみます。
0そうだね
プレイ済み
返信[18]
親投稿
だにえる haru2016nen
↑はだいたい合ってます。 用語が少しおかしい気もしますが。 【サンプルプログラム】 物理ボタンを押せば数値が変わります。
0そうだね
プレイ済み
返信[19]
親投稿
だにえる haru2016nen
プログラムを打った後、 スタートボタンを押す。もしくは ダイレクトモードで「RUN」でエンター。 で、実行。
0そうだね
プレイ済み
返信[20]
親投稿
だにえる haru2016nen
強制的にプログラムを終了させるのは スタートボタンで。
0そうだね
プレイ済み
返信[21]
親投稿
BlackSoft BlackSoft.mkII3g
>変数Bが何故Aの関数の値と一緒なのかと思い この一文を読んで気になったので、一応。 B=BUTTON() これの意味は、「同じである」ではなく、 「変数BにBUTTON()で取得した値を格納せよ」 という命令です。 様々な壁にぶつかると思いますが、頑張ってくださいね。
0そうだね
プレイ済み
返信[22]
親投稿
Rabui sakaisyo10.25
あざす。同じ、ではなく、しまう、みたいなものですかね? あと、前の僕の米にあったプログラムをEDITに打ったら、このようになりますた。一番下の文字が点滅している状態です。これは一体どういうことですか?もしかしてバグですか?
0そうだね
プレイ済み
返信[23]
親投稿
BlackSoft BlackSoft.mkII3g
PRINT表示命令の仕様です。 右側に続けて表示するものがなければ、自動的に改行します。 下まで来て改行が高速で行われているので、点滅しているように見えます。 試しに、PRINT~の前に LOCATE 18,14 を入れてみてください。
1そうだね
プレイ済み
返信[24]
親投稿
だにえる haru2016nen
□=◇ のとき ◇の数値を□にコピーするイメージです。 ◇は定数,変数,関数なら基本なんでもOKです 【例】 X=399'定数 A=B'変数 BT=BUTTON()'関数
0そうだね
プレイ済み
返信[25]
親投稿
Rabui sakaisyo10.25
あざす。もっかいやってみます。      だにえるs»サンプルプログラム、参考になりますた!感謝!!出来ればで良いのですが、あのプログラムに使われている命令の解説なんかお願いできないですか?
0そうだね
プレイ済み
返信[26]
親投稿
Rabui sakaisyo10.25
BlackSoftさん»PRINT~の前に「LOCATE18,14」を入れた所、文字が固定されました。ただ、ボタンを押して放すと数字が3つになっていて、最後の数字は8で固定され、真ん中の数字は前に押したボタンの関数が次のボタンを押すまで残っていて、0にリセットされているのが頭の数字だけなんですけど、解決できないですか?
0そうだね
プレイ済み
返信[27]
親投稿
Rabui sakaisyo10.25
高速に改行されて困ってたやつなんですが、実はボタンにも反応していなかったらしく…。けど自分の改行ミスということが分かり、写真のように解決しますた。あとは文字を固定したい…。
0そうだね
プレイ済み
返信[28]
親投稿
MIKI ifconfig
b=button(): ? format$("button()カンスウ=%10d", b) 'または ? format$("button()カンスウ=%10d", button()) です。%10d の部分を10桁の十進数で置き換えます。(dはデシマル(十進数)の意味) ? format$("button()カンスウ=%32b", b) これは32桁の二進数で表示します。button() の戻り値を見るならこれが一番直観的。 bはバイナリ(二進数)の意味。 %はいくつあってもいいので、 ? format$("maincnt=%10d, button()カンスウ=%32d", maincnt, button()) のようにも書けます。
0そうだね
プレイ済み
返信[29]
親投稿
だにえる haru2016nen
画像の補足。 WHILE 1 ~ WEND は基本、無限ループをさせたいときに よく使われるイメージがあります。 WHILE A ~ WEND のように1のように定数ではなく Aのような変数にした場合、 「WHILE命令を通過する時に Aが0ならループを止める。」 という処理になります。 後者は比較的使われません。
0そうだね
プレイ済み
返信[30]
親投稿
だにえる haru2016nen
「WHILE命令を通過する時」というのは、 ACLS WHILE'(最初の)通過 PRINT WEND ↓ WHILE'通過 PRINT WEND ↓ WHILE'通過 ってことです。
0そうだね
プレイ済み
返信[31]
親投稿
だにえる haru2016nen
VSYNCをプログラムから外すと、 タイミングが一定ではなくなり、 表示がチカチカするようになります。
0そうだね
プレイ済み
返信[32]
親投稿
BlackSoft BlackSoft.mkII3g
文字の固定について 既にMIKIさんが回答してくれていますので、それを踏まえてサンプルを書いてみます。 ACLS WHILE 1 VSYNC B=BUTTON() LOCATE 18,14 ?"BUTTON()=[";FORMAT$("%4D",B);"]" WEND 捕捉として ("%4D",B) → 右詰め ("%-4D",B) → 左詰め
0そうだね
プレイ済み
返信[33]
親投稿
BlackSoft BlackSoft.mkII3g
おまけ:直感的なやつです。
0そうだね
プレイ済み
返信[34]
親投稿
Rabui sakaisyo10.25
あざす。すみません、ちょっと米確認出来なさすぎなんで、一回トピ〆ます。また作ると思うんで、その時は宜しくです。
0そうだね
プレイ済み