|
|
2013/11/21(Thu) 22:54:40|NO.58352
自分の名前を,1文字ずつ色を変えて,正しい順序と,逆の順序で
// 交互に5回ずつ表示するプログラムを作りなさい。
//
// 実行時のイメージは以下のようになる
//
// Tanaka
// akanat
// Tanaka
// akanat
// Tanaka
// akanat
// Tanaka
// akanat
// Tanaka
// akanat
sdim myname, 6
randomize
myname(0) = "T"
myname(1) = "a"
myname(2) = "n"
myname(3) = "a"
myname(4) = "k"
myname(5) = "a"
for i, 0, 6
r = rnd(256)
g = rnd(256)
b = rnd(256)
color r, g, b
pos i * 10, 0
mes myname(i)
next
まではできたのですが、改行をして名前を逆にすることができません。
教えてくださいお願いします。
|
|
2013/11/21(Thu) 23:30:30|NO.58357
ちょっとソース変えちゃいましたが
(HSPでは一応repeatが主流と勝手に解釈してるので)
こんな感じでどうしょうか。
ループ回数*縦幅。
//自分の名前を,1文字ずつ色を変えて,正しい順序と,逆の順序で
// 交互に5回ずつ表示するプログラムを作りなさい。
//
// 実行時のイメージは以下のようになる
//
// Tanaka
// akanat
// Tanaka
// akanat
// Tanaka
// akanat
// Tanaka
// akanat
// Tanaka
// akanat
sdim myname, 6
randomize
myname(0) = "T"
myname(1) = "a"
myname(2) = "n"
myname(3) = "a"
myname(4) = "k"
myname(5) = "a"
repeat 10
j = cnt
if ((j \ 2) == 0){
repeat length(myname)
i = cnt
r = rnd(256)
g = rnd(256)
b = rnd(256)
color r, g, b
pos i * 12, (j*12)
mes myname(i)
loop
}else{
repeat length(myname)
i = cnt
r = rnd(256)
g = rnd(256)
b = rnd(256)
color r, g, b
pos i * 12, (j*12)
mes myname(5-i)
loop
}
loop
|
|
2013/11/22(Fri) 00:48:57|NO.58367
ありがとうございます。
できたら、for - nextを使ったやりかたでお願いします。
|
|
2013/11/22(Fri) 01:31:11|NO.58370
値が1ずつ増えて、かつその値を代入する場合、
repeat-loopとfor-nextの使い方はほとんど同じなので、
ポテト(流星群)さんのスクリプトがそのまま使えます。
repeat-loopの代わりにfor-nextを入れてください。
最初のrepeat 10の代わりにfor j,0,10,1を入れます。
あとのrepeat length(myname)の代わりにfor i,0,length(myname),1を入れます。
そしてrepeat-loop内のcntを代入している部分を削除してください。
|
|
2013/11/22(Fri) 23:50:36|NO.58380
無事作ることができました。
ポテト(流星群)さん Taddiさん ありがとうございました。
|
|
2013/11/22(Fri) 23:51:07|NO.58381
解決
|
|