HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0808
T.K楽譜を配列変数したいのですが・・・4解決


T.K

リンク

2014/8/8(Fri) 10:59:26|NO.63571

hsp初心者です。音ゲーを作成中なのですが・・・

KEY_CODE = 0,'Z','X','C','V','B' KEY_POSX = 41 KEY_POSY = 423 BAR_SIZEX = 100 BAR_SIZEY = 20 PERFECT_LINE = 400 PERFECT_RANGE = 20//PERFECT_LINEから上下にずれてもperfectになるサイズ //背景バッファ初期化 buffer 1 color 0,0,0 :boxf:color 255,255,255 repeat 5 line BAR_SIZEX+cnt*BAR_SIZEX,0,BAR_SIZEX+cnt*BAR_SIZEX,640 loop line 0,PERFECT_LINE,500,PERFECT_LINE gsel 0 sdim gakuhu,,5 Z.gakuhu ="11111" ;0は無表示,1〜5はz〜bボタンを押す X.gakuhu ="2222" C.gakuhu ="3333" B.gakuhu ="4444" N.gakuhu ="55555"

自分なりに楽譜の配列変数をして Zキーのレーンの譜面 Xキーのレーンの譜面 ・・・
のようなキーごとのレーンを配列で管理したつもりんですが・・・・
自分でもどこかごちゃごちゃになってるのはわかるんですが、どう直せばいいかわからなくて
質問しました><



この記事に返信する


掘木

リンク

2014/8/8(Fri) 12:04:34|NO.63575

(・ω・)・・・配列変数?なにか僕の知識外の言語の指示方法をしておられる。。。

ごちゃごちゃになっているのは配列変数への指示方法です。


Z.gakuhu = "11111" // 配列変数Zのgakuhu番目に"11111"を入れる
と、わけのわからない指示になってます。

プログラムマニュアルの配列変数に関する項を見て確認してみましょう。
数値型、文字列型どちらでもそこまで変化はありませんよ?

gakuhu.1 = "11111" // Zキー相当 gakuhu.2 = "22222" // Xキー相当 ・・・
通常はこうですね。(gakuhu.0も使えます。)

――補足――
gakuhu.1とgakuhu.2で使う文字を区別がないように思える。
だって、Zキーのレーンに"Xキー押してね"なんてバーが現れることないでしょう?

個人的に言うと、1とZを何も書かずにバインドするのが気持ち悪いとも言えるけどネ。



cats

リンク

2014/8/8(Fri) 17:40:33|NO.63581

まず配列変数gakuhuに対してn個の要素を確保します。
nは空白部を含めた打つ音の数となります。
それから将来的には曲の長さを示す変数kを用意するとよいでしょう。
k / n が1つの音の長さになります。
gakuhu(n) = "zxcvb" と各桁ごとに分けるのが良いと思います。
例えば10101ならz、c、bを打つことになります。
そうすると、

gakuhu(0) = "00000" gakuhu(1) = "00000"   :   : gakuhu(i) = "10011" gakuhu(i+1) = "10010"   :   : gakuhu(n-1) = "00000" gakuhu(n) = "00000"
のよう(適当)な譜面になるでしょう。
これは一般的にテキストデータとして別ファイルに保存して読み込みます。

もう少し言えば、各レーンの音を文字列にするのはおすすめしません。
文字列よりも数値の方が計算がとても早いので、
例えば2進数の桁でz〜bを決めるとかが良いと思います。
(例)5 = 2^2 + 2^0 = 00101 , 12 = 2^3 + 2^2 = 01100



たんす

リンク

2014/8/8(Fri) 20:29:48|NO.63589

楽譜データの仕様を仮にでも決めるのが良いでしょう。

スレッドを見るたびに楽譜データがバラバラでは、アドバイスするのも難しいものです。



T.K

リンク

2014/8/9(Sat) 09:07:41|NO.63620

皆さん回答ありがとうございます><

皆さんのアドバイスを元に頑張ってみます^^



ONION software Copyright 1997-2018(c) All rights reserved.