Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1 2 3 4 5 6 7 8
次のページ(過去)
返信[1]
親投稿
基本的に1トラックで1音です。メロディを0トラックで、伴奏を1トラックでと謂う様に使用します。和音も複数のトラックを使用します。 プログラミングの書式表記では、ブラケット( [ ] )は、省略する事が出来ると謂う事です。ブラケットの中にカンマ( , )が有る場合は、省略する場合は、カンマも省略すると謂う意味です。 猶、ブラケットで囲まれて居ない引数は、必ず指定しなければ成りません。
2そうだね
プレイ済み
返信[11]
親投稿
配列以外の変数の宣言は、プチコン3号では、省略出来ますが、大きなプログラムに成ると、イージーミスを誘発し、其れを見付けるのが中々面倒なので、変数の宣言は強制(OPTION STRICT)した方が良いと想います。私は、タイプミスが多いので、必ず記述する様に仕てます。
0そうだね
プレイ済み
返信[7]
親投稿
斯う謂う事ですか。他人のコードを読み解くのは、良い勉強に成ります。ZEXさんのコードや私のコードを参考に仕て下さい。
0そうだね
プレイ済み
返信[5]
親投稿
@STGN1 の処では、 READ F$,MM DATA "A",&H67 なので、A$ に文字列 "A" が、MM に16進数値 &H67 が読み込まれます。処が、@STGN2 の処では、@STG1_01 ~ @STG1_08 からデータを読み込む事に成るので、FMM$ の後の MM のに読み込む数値データが有りません。其れで、次の文字列データを MM に読み込もうと仕て、Type mismatch の例外が発生して居ます。取り急ぎ。
0そうだね
プレイ済み
返信[19]
親投稿
斯う謂う事ですか。此の場合なら、DATA文の下2行は不要です(RESTOREステートメントも)。
0そうだね
プレイ済み
返信[6]
親投稿
スプライトの座標を @SPPOS2 の場所のデータから読み込む場合のコードは下記の通りです。 RESTORE @SPPOS2 READ X,Y @SPPOS1 : DATA 200,200 @SPPOS2 : DATA 100,200 ' 此処のデータが読み込まれる 此れで、X に 100 が、Y に 200 が読み込まれます。 此の調子で行けば、RPG製作も然う遠い話では無く成りますよ。愉しんで下さい。
0そうだね
プレイ済み
返信[5]
親投稿
DATA文には、必要な数丈のデータをカンマで区切り記述します。例えば、スプライトのX座標(100)とY座標(200)なら、DATA 100,200 と記述します。猶、複数行で記述する場合は、改行も区切り記号(デリミタ)と成ります。 此のデータを変数に格納するのが、READステートメントです。指定した変数の数丈データを読み込みます。例えば、READ X なら、X に 100 が読み込まれます。亦、READ X,Y とすると、X に 100 が、Y に 200 が読み込まれます。RESOTEステートメントは、何のデータを読み込むかを指示する為に使用します。(続く)
0そうだね
プレイ済み
返信[11]
親投稿
コンピュータが使える環境に有るなら、此のスレッドにも書き込みの有るおちゃめさんのサイトに行き(プチコン3号とおちゃめで検索すれば簡単に見付かる筈です)、面白いと思う物(総て面白いですが、個人の好みも有ると思うので)を片っ端から打ち込んで観て下さい。人の書いたコードを観るのは(然して実際に打ち込んで観るのは)、上達の役に立つと想います。
0そうだね
プレイ済み
返信[21]
親投稿
おちゃめさんへ 貴方のサイトへは、私のサイトよりリンクを貼らせて貰って居ます。80年代前半からのプログラミング歴と謂う事で親近感を感じて居ます(私の本棚には83年11月号からのI/O誌が残って居ます)。 小中高生を含む若い人達にプログラミングを普及させる為に、プチコン3号の世界に参入して来ましたが、本当にプチコン3号は面白いですね(開発環境と仕ても、言語と仕ても)。皆が多少成り共プログラミングの心得が有る時代が来る様に、益々プチコン3号が普及し、発展して欲しいと願って居ます。
0そうだね
プレイ済み
返信[20]
親投稿
勿論、2次元配列を1次元配列に変更する等、対処法は色々有りますが、必要な時に必要な配列を使えないと謂うのは、矢張り『不便』では無いでせうか。亦、私は、『不便』と思う気持ちが、『便利』な物を産み出す原動力だと考えて居ます。
0そうだね
プレイ済み
返信[19]
親投稿
コータさんへ 私が不便に感じたのは、マップエディタを作成して居る時でした。マップ情報を格納する2次元配列を、操作画面(グラフィック)表示後に、幅と高さを入力して確保しようと仕た時に、例外が発生しました(勿論、宣言以前に使用は仕て居ません)。其の為、先ずコンソール画面で此等を入力し、配列の領域を確保した後、グラフィック画面を表示する様に変更を余儀無くされました。 更に、マップ作成時にサイズの変更を行う必要が生じた時、此の時点で新たな配列を作成する事は元より、配列の要素数を変更する事も出来ませんでした(PUSHステートメントやPOP関数は多次元配列には適用出来ない様です)。多次元配列でも、要素数の異なる配列を参照させる事で、要素数を変更する事は出来ますが、参照元と成る配列を、要素数未定時に宣言して置かなければ成らないと謂う矛盾が生じます。(続く)
0そうだね
プレイ済み
返信[1]
親投稿
RESTOREステートメントは、文字列で指定出来るので、下記の様にすれば何うですか。 OPTION STRICT ACLS DIM N,A$ N=RND(3) RESTORE "@P"+STR$(N) READ A$ : PRINT A$ @P0 : DATA "AAA" @P1 : DATA "BBB" @P2 : DATA "CCC"
0そうだね
プレイ済み
返信[1]
親投稿
BGCLIPステートメントで、第2引数以下(始点と終点)を全部省略した場合、画面全体を指定した事に成ると、公式ガイドブックに記載されてますが、XSCREEN 4の場合は、何故か左端が表示されません(他の画面モードでは問題無いので、仕様とは思えませんが)。対処法と仕ては、BGCLIP 0,0,0と引数を全部は省略しない(BGCLIP 0,0でも正常に表示されます)事しか無い様です。
1そうだね
プレイ済み
返信[1]
親投稿
下画面の右下に有る『SAVE』をタッチすると保存画面が表示されるので、適当な名前を付けて、『決定』をタッチすると、作業用のプロジェクトのディレクトリ(フォルダ)に保存されます。猶、ファイルの確認をする時は、『DAT』にチェックを付けないと、表示されません。
1そうだね
プレイ済み
返信[6]
親投稿
プチコン3号には、動的配列(宣言時に要素数が未定の配列)やREDIMステートメントが無い為、配列の要素数を恣意的に変更する事が出来ません。此れは不定数のデータを扱う時には、必要以上に大きな配列を用意しなければ成らない事を意味します。N-BASICやF-BASICの様な初期のBASICでも此等は提供されて居り、現在の主たる高級言語は悉く此の機能を備えて居る事を考えれば、不便と謂わざる得ないでせう。 猶、コードの可読性等の為に、変数の宣言を其のブロックの先頭部分で宣言するのとは別問題です、為念。
0そうだね
プレイ済み
返信[1]
親投稿
一応、公式ガイドブックに、『配列や変数の宣言はプログラムの冒頭の行で行おう』(56頁)と記載されて居るので、仕様と謂う事に成るのでせうが、不便ですね。使用する前で有れば、何処で宣言しても良い様に変更して欲しい物です。序に、動的配列も使える様に…。
0そうだね
プレイ済み
返信[18]
親投稿
タイトル画面の音楽なので、起動時に一回丈しか演奏されない物だと思って居ました。 構文的な問題で無ければ、演奏方法の問題かも知れませんね。BGMPLAYステートメントの第1引数のトラック番号が省略されて居るので、同じトラックで演奏される為、次の曲が演奏されると、前の曲が終了すると謂う様な事が起こって居ませんか。演奏が終了する迄、ウェイトを入れて観ては如何ですか。 REPEAT : UNTIL BGMCHK(0)==0 猶、BGMCHK関数の引数は、トラック番号です。但し、タイトル画面での演奏は、通常バックグラウンドで行うので、ウェイトを入れると謂うのも変ですが…
0そうだね
プレイ済み
返信[5]
親投稿
何と謂うエラーメッセージが表示されますか? Out of DATA in 0:32 なら、最初に書いた様にデータの数が足りません。此の場合なら、下記のコードで解決する筈です。 FOR I=0 TO 5:FOR J=0 TO 11 READ A : BGPUT 0,J,I,559*A NEXT:NEXT:BGSCALE 0,2,2 其れ以外なら、画面からは解りません。
0そうだね
プレイ済み
返信[10]
親投稿
従って、上記のコードの後ろに @MAIN の様なラベルを作り、各処理の後で、其処に飛ばす様にすれば良いと想います。 @0 PRINT "0":GOTO @MAIN @1 PRINT "1":GOTO @MAIN @2 PRINT "2" @MAIN
0そうだね
プレイ済み
返信[9]
親投稿
先ず、下記のコードを観て下さい。 N=RND(4) IF N==0 THEN @0 IF N==1 THEN @1 IF N==2 THEN @2 @0 PRINT "0" @1 PRINT "1" @2 PRINT "2" 今、Nに2が設定されると@2の処理丈が実行されますが、0なら@0の処理を実行した後、下に流れ落ちて(ドロップスルーと謂います)@1と@2の処理も実行されます。(続く)
0そうだね
プレイ済み