タイトルの通り,elseやifが多いコードをきれいにしたいです.
コードを見てください.
JavaScript
1process.stdin.resume(); 2process.stdin.setEncoding('utf8'); 3 4let R = "D" 5let W = "D" 6let winner = "B"; 7 8let lines = []; 9let reader = require('readline').createInterface({ 10 input: process.stdin, 11 output: process.stdout 12}); 13reader.on('line', (line) => { 14 lines.push(line); 15}); 16reader.on('close', () => { 17 for(let i = 0; i < lines.length; i++){ 18 if(lines[i] == "RD"){ 19 if(R == "D"){ 20 winner = "A" 21 }else{ 22 R = "U" 23 } 24 }else if(lines[i] == "RU"){ 25 if(R == "U"){ 26 winner = "A" 27 }else{ 28 R = "U" 29 } 30 }else if(lines[i] == "WD"){ 31 if(W == "D"){ 32 winner = "A" 33 }else{ 34 W = "D" 35 } 36 }else if(lines[i] == "WU"){ 37 if(W == "U"){ 38 winner = "A" 39 }else{ 40 W = "U" 41 } 42 } 43 } 44 console.log(winner) 45});
これは,旗上げゲームです.
標準入力で赤白の旗(R,W)を上げるか下げるか(U,D)の命令を適当な数入力します.
最初は赤白両方の旗を下げている状態で初めて,命令に間違いがあった場合(旗が下がっているのに下げる命令をする等)はAがwinnerになり,間違った命令をしなかった場合はBがwinnerになります.
コードのelseやifがごちゃごちゃしていて気になるのですが,どのように改善すればよいかわからず質問させていただきました.
解答の程よろしくお願いします.
回答2件
あなたの回答
tips
プレビュー