Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1 2 3 4 5 6 7 8 9 10 11
次のページ(過去)
返信[1]
親投稿
Oskar oskar_liebig
え~と、これはそんなに簡単ではないですよ。 でも、偶然、似たようなプログラムを作りかけていたので、BGMを開始・終了するような形で作り直して公開してみます。このコメントとは別に投稿するので見てみてください。
0そうだね
プレイ済み
返信[12]
親投稿
Oskar oskar_liebig
ちょっと無理やりですがLOGを使ってみました。LOGの使い道(?)の参考になれば。 ・経験値をレベルに変換する 経験値 0~ 1 → レベル 1 経験値 2~ 5 → レベル 2 経験値 6~13 → レベル 3 ... 経験値 16382~32765 → レベル 15 経験値 32766~65533 → レベル 16 ... LEVEL=FLOOR(LOG(EX+2,2)) ・音の高さを周波数で指定してBEEP 0の音を鳴らす INPUT "Hz";HZ:BEEP 0,1200*LOG(HZ/440,2)+800 数学の教科書の説明よりはイメージが湧きやすいかもしれません。
1そうだね
プレイ済み
返信[9]
親投稿
Oskar oskar_liebig
すみません。書き間違えていました。 &&は「1つめが不成立なら2つめが実行されない」ですね。 OR に対応する || (切れている縦棒2つ)のほう が「1つめが成立したら2つめが実行されない」でした。
0そうだね
プレイ済み
返信[3]
親投稿
Oskar oskar_liebig
3号の場合 && という論理演算子があります。&& の場合、1つ目の条件が成立(0以外)したときに2つ目の条件は実行されませんので、まさにこういうときに便利!  電子説明書のBASIC基本仕様「演算子優先順序」のところに「ショートカットあり」に密かに書いてあるのは、実はこのこ とです。 AND と && はそれ以外にも意味が違っていて …… という話もあるのですが、それはほかの方にお任せします(笑)。
0そうだね
プレイ済み
返信[10]
親投稿
Oskar oskar_liebig
統計処理などで使われる R という言語では A <- A + 1 で代入なんですが、なんと A + 1 -> A という書き方でも代入できます。しかも書く場所によっては = も代入に使えたりして、かなりカオスです。
1そうだね
プレイ済み
返信[6]
親投稿
Oskar oskar_liebig
実は、私もある処理系をつくっております。ぽちぽちと。 大喜利に出すには強引に「BASICを飛び出して……」とか言い訳つけないとなー、とか考えたこともあったのですが、この分だと間に合わないので、まあ余計な心配だったようです。
0そうだね
プレイ済み
返信[5]
親投稿
Oskar oskar_liebig
ゲーム作らない(作れない)おじさんが来ましたよ。 マニュアルには特にないけど、配列を引数にすると参照渡しになって、DEF内で要素を書き換えられるようだよ。 DEF CLIPPING XY[] '[]はなくてもいいが一応入れた IF XY[0]<M THEN XY[0]=M ... IF XY[1]>=H-M THEN XY[1]=H-M END ... DIM SXY[2] ... CLIPPING SXY '[]を付けるとエラー ... でも、このプログラムの場合、XY座標をわざわざ配列にするのはちょっと微妙かも。
1そうだね
プレイ済み
返信[1]
親投稿
Oskar oskar_liebig
In Spring 2015, when the official English site says it's available, you'll can download and run all items in this community with their download keys, and of course open yours!
1そうだね
プレイ済み
返信[2]
親投稿
Oskar oskar_liebig
XかY方向に1か-1進めては点を打っていったのでしょうか。ランダムウォークって呼ばれているやつですね。
1そうだね
プレイ済み
返信[4]
親投稿
Oskar oskar_liebig
USEで他スロットを実行可能にしても大丈夫です。 プチコン3号のグローバル変数は、C言語でいうstatic変数(やC++の無名namespace)のように、同じ名前でもスロットごとに別物扱いになるからです。
0そうだね
プレイ済み
返信[1]
親投稿
Oskar oskar_liebig
これを組み込んだプログラムが複数のスロットにロードされていても正常に動作します。SMILEボタンのプログラムではCURRENT_SLOT() 関数は 4 を返します。 グローバルラベルとグローバル変数を使っていますが、思いっきり長くしておいたので、ほかで使っていることはまあないでしょう。
0そうだね
プレイ済み
投稿
Oskar oskar_liebig
今プログラムが動いているスロットを調べる関数を作ってみました。BACKTRACEを使わないので、コンソール画面に影響が出ません。 公開キー E3XK33JS
8そうだね
プレイ済み
返信[3]
親投稿
Oskar oskar_liebig
この4時間前ぐらいに、じてんしゃさんの投稿へのコメントで、社長が和音の鳴らし方を説明なさっていたんで、ついでに見てみてはどうかな。ASAさんのMMLの曲を輪唱にできるかも。
0そうだね
プレイ済み
返信[7]
親投稿
Oskar oskar_liebig
3号の場合隠し命令は見つかっていないようですが、命令や文法の隠し用法は結構あるようです。 VAR A=3,B=2 と書けるとか、MML/BEEP の隠し音色とか、 [] で文字列中の文字を操作できるとか……
0そうだね
プレイ済み
返信[2]
親投稿
Oskar oskar_liebig
まずは、自分でどうやって通分しているのか、例を使って言葉か図で説明してみようか。 かつみさん>後ろの2行なんか違わなくね? あと、できれば最小公倍数で通分したいよね。
3そうだね
プレイ済み
返信[1]
親投稿
Oskar oskar_liebig
現象は3.0.2で確認しました。 なお、問題の例でチャンネル2のMMLを追加して演奏時間を伸ばしてみたのですが、BGMCHK()がチャンネル0,1演奏後すぐに0を返しました。無音ではなく無視されているようです。
0そうだね
プレイ済み
投稿
Oskar oskar_liebig
MML内部変数代入の後でチャンネルを変更すると、その変更後に記したMMLの指定が無視されるようです。 BGMPLAY ":0CRRCRR:1RER$0=1RER:2RRGRRG" 最後のチャンネルで変数代入すれば問題は起こりません。 BGMPLAY ":0CRRCRR:1RERRER:2RRG$0=1RRG" 仕様かもしれませんが、一応ご注意を。
3そうだね
プレイ済み
返信[7]
親投稿
Oskar oskar_liebig
1. ですが、とても単純化して言うと、整数なら16桁「ぐらい」です。桁が多くなると、プチコンは下のほうの桁をいい加減に覚えるようになります。 例えば、1京1を1京ですと平気でいいやがります(笑) A=10000000000000001 OK PRINT A 10000000000000000 OK でも「ぐらい」って何なの? とか、小数の場合どうなの? とかいう話は、けいさんのおっしゃるとおり、分かりやすく説明するのは難しいです。裏には細かい仕組みがあるのですが、私には説明できる自信がありません(すみません)。
0そうだね
プレイ済み
返信[1]
親投稿
Oskar oskar_liebig
あれ? これだと6が出ないんでは? でも、とりあえず2と5だけ出やすかったりはしないようなので安心しました(詳しくはインターネットブラウザーで「クソゲー チンチロリン」で調べてみてね)。
1そうだね
プレイ済み
返信[2]
親投稿
Oskar oskar_liebig
ピザか何かかな? そういえば、初めてやったアーケードゲームは何だったっけなあ?(歳がバレるぜ)
0そうだね
プレイ済み