謎解き1. 暗号化されたメッセージの解読
シナリオ
古代の魔法書に暗号化されたメッセージが刻まれている。解読すれば次のエリアへの鍵が得られる。問題
次のメッセージを意味がわかる単語に並べ替えるコードを書いて解読する。NEKIROMOA
答え
回答
const message = "NEKIROMOA"
const solve = message.split("").reverse().join("")
console.log(solve)
解説
- "NEKIROMOA"をローマ字読みすると、「ネキロモア」 - 英字を逆にすると、"AOMORIKEN"になり、「青森県」と理解することができる。
謎解き2. トラップ解除プログラム
シナリオ
道を進んでいくと数字が書いてある道がある。 どうやら、「3の倍数と3の付く数字」を踏んでしまうと、トラップとして仕込まれている地雷が爆発してしまうようだ。 その地雷を避けて通る為に、どの数字を通って道を進めばいいかわかるプログラムコードを作成しなければならない。問題
数字は、1から100まで書かれている。 3の倍数と、3の付く数字を除外した数値の配列を作成する。答え
回答
const numbers = []
for(let i=1; i<=100; i++){
if(i%3 !== 0 && String(i).indexOf("3") === -1){
numbers.push(i)
}
}
console.log(numbers)
解説
- numbersは、3の倍数または3という文字がつく数値ではない値を格納する器として用意する。 - for文で、1から100までループさせる。 - i%3、で余剰を求めて、0が返るものは3の倍数のためそれ以外の条件とする。 - String(i).indexOf("3") は、数値を文字列にして、その中に3が含まれているとそのポジションを返し、含まれていないと-1を返す処理 - 上記条件で、3の倍数と3のつく数値以外を、numbers配列に追加する。
謎解き3. 魔法の扉のパスワードを生成
シナリオ
魔法の扉が「特定の条件を満たす文字列」をパスワードとして要求する。問題
プレイヤーは、文字列を条件に合う形に変換する必要がある。文字列 : wizard 条件 : 1. 英字は大文字にする。 2. 犯罪が起きた時に電話する番号の数値がパスワードの後ろに付く。
答え
回答
const string = "wizard"
const number = "110"
const password = string.toUpperCase() + number
console.log(password) // "WIZARD110"
解説
- 文字列を大文字にする処理、string.toUpperCase() - 犯罪が起きた時に電話する番号は、"110" - これらを組み合わせてパスワードを作成する。
0 件のコメント:
コメントを投稿