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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
1121
kakko自分の名前を,1文字ずつ色を変えて,正しい順序と,逆の順序で表示5解決


kakko

リンク

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



kakko

リンク

2013/11/22(Fri) 00:48:57|NO.58367

ありがとうございます。
できたら、for - nextを使ったやりかたでお願いします。



Taddi

リンク

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を代入している部分を削除してください。



kakko

リンク

2013/11/22(Fri) 23:50:36|NO.58380

無事作ることができました。
ポテト(流星群)さん Taddiさん ありがとうございました。



kakko

リンク

2013/11/22(Fri) 23:51:07|NO.58381

解決



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