タイトルの通り、値の範囲によって送るメッセージを変えたいです。
自力で実装したものは以下のとおりです。
js
1 if(!(key in protectionAlarted)){ 2 protectionAlarted[key] = 0; 3 } else if(protectionAlarted[key] != 10 && protectionRemaining == 0) { 4 SendDistortionMessage("が風化しています。", entity); 5 protectionAlarted[key] = 10 6 } else if(protectionAlarted[key] != 9 && protectionRemaining < 300) { 7 SendDistortionMessage("の残り維持期間が5分未満です。", entity); 8 protectionAlarted[key] = 9 9 } else if(protectionAlarted[key] != 8 && protectionRemaining < 600) { 10 SendDistortionMessage("の残り維持期間が10分未満です。", entity); 11 protectionAlarted[key] = 8 12 } else if(protectionAlarted[key] != 7 && protectionRemaining < 900) { 13 SendDistortionMessage("の残り維持期間が15分未満です。", entity); 14 protectionAlarted[key] = 7 15 } else if(protectionAlarted[key] != 6 && protectionRemaining < 1800) { 16 SendDistortionMessage("の残り維持期間が30分未満です。", entity); 17 protectionAlarted[key] = 6 18 } else if(protectionAlarted[key] != 5 && protectionRemaining < 3600) { 19 SendDistortionMessage("の残り維持期間が1時間未満です。", entity); 20 protectionAlarted[key] = 5 21 } else if(protectionAlarted[key] != 4 && protectionRemaining < 10800) { 22 SendDistortionMessage("の残り維持期間が3時間未満です。", entity); 23 protectionAlarted[key] = 4 24 } else if(protectionAlarted[key] != 3 && protectionRemaining < 21600) { 25 SendDistortionMessage("の残り維持期間が6時間未満です。", entity); 26 protectionAlarted[key] = 3 27 } else if(protectionAlarted[key] != 2 && protectionRemaining < 43200) { 28 SendDistortionMessage("の残り維持期間が12時間未満です。", entity); 29 protectionAlarted[key] = 2 30 } else if(protectionAlarted[key] != 1 && protectionRemaining < 86400) { 31 SendDistortionMessage("の残り維持期間が1日未満です。", entity); 32 protectionAlarted[key] = 1 33 } else if(protectionRemaining >= 86400){ 34 protectionAlarted[key] = 0 35 }
要件としては、毎分protectionRemaining
を取得し、値の範囲によって状態が決まります。そして、前回と状態が違うときだけメッセージを送信します。
同じようなものが連なっており、これをきれいに書く方法があるのか気になり質問させていただきました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/26 14:54