アプリ版:「スタンプのみでお礼する」機能のリリースについて

A=1のときB=1
A=2のときB=2
A=3のときB=3
A=4のときB=4
A=5のときB=5
A=6のときB=1
A=7のときB=2
A=8のときB=3
A=9のときB=4
A=10のときB=5
A=11のときB=1
A=12のときB=2
A=13のときB=3
A=14のときB=4
A=15のときB=5



A=20のときB=5
(Aは1,2,3,4,5,6,7,8,9,10,11,12,13,14,15…20)
(Bは1,2,3,4,5,1,2,3,4,5,1,2,3,4,5…5)

というようにしたい場合、

if(A == 1) {
 B=1;
}
if(A == 2) {
 B=2;
}
if(A == 3) {
 B=3;
}
if(A == 4) {
 B=4;
}
if(A == 5) {
 B=5;
}
if(A == 6) {
 B=1;
}
if(A == 7) {
 B=2;
}





if(A == 20) {
 B=5;
}

というようにスクリプトを書けばよいと思うのですが、
もっと簡潔に書く方法はないでしょうか?

説明がヘタで分かりにくいかもしれませんが、
よろしくお願いします。

A 回答 (1件)

Flash Lite 1.x (Flash 4) には配列がないので


eval関数で配列もどきを作って対処することがあります。

書かれていらっしゃるスクリプトを
その配列もどきを使ってする方法例↓

//---------------------------------
for (i=0; i<=4; i++) {
for (j=1; j<=5; j++) {
eval("fakeArr" add (5*i+j)) = j;
}
}

A = 20;
B = eval("fakeArr" add A);
//---------------------------------



最初の for文 で
fakeArr1 = 1
fakeArr2 = 2
fakeArr3 = 3
fakeArr4 = 4
fakeArr5 = 5
fakeArr6 = 1
fakeArr7 = 2
fakeArr8 = 3
fakeArr9 = 4
fakeArr10 = 5
~略~
fakeArr19 = 4
fakeArr20 = 5
になります。

A = 20
のとき
B = eval("fakeArr" add A);

B = eval("fakeArr" add 20);
になりますから
B = fakeArr20;

B = 5
になります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!