[綜合]無題 無名 ID:iKLXL0Ko 2019/09/25(三) 11:12:02.060 No.16091742
評分:0, 年:0, 月:0, 週:0, 日:0, [+1 / -1] 最後更新:2019-09-24 23:05:20
請問這段程式碼 錯在哪裡啊 他一直說Unexpected token {
但是我怎麼檢查都沒錯啊 求救 求救~~~
let players = [
{name: '熊弟', win: 0, lose: 0,tie:0},
{name: '虎哥', win: 0, lose: 0,tie:0},
]
for(count=1;count<=10;count++){
play(count)
}
function play (count){
let bear = Math.floor(Math.random() * 6) + 1
let tiger = Math.floor(Math.random() * 6) + 1
if(bear > tiger){
console.log(`第${count}局>>>>${players[0].name}${bear}點,${players[1].name}${tiger}點\n${players[0].name}贏!\n`)
players[0].win++
players[1].lose++
}else if (bear< tiger){
console.log(`第${count}局>>>>${players[0].name}${bear}點,${players[1].name}${tiger}點\n${players[1].name}贏!\n`)
players[0].lose++
players[1].win++
}else{
console.log(`第${count}局>>>>${players[0].name}${bear}點,${players[1].name}${tiger}點\n平手!\n`)
players[0].tie++
players[1].tie++
}
}
console.log ("result")
console.log(`${players[0].name}贏${players[0].win}局,輸${players[0].lose}局\n`)
console.log(`${players[1].name}贏${players[1].win}局,輸${players[1].lose}局\n`)
console.log(`平手${players[1].tie}局\n`)
if (players[0].win > players[1].win ) {
console.log(`最終冠軍:${players[0].name}`)
} else if (players[0].win < players[1].win ) {
console.log(`最終冠軍:${players[1].name}`)
} else (players[0].win=== players[1].win){
console.log("沒輸沒贏")
}
無題 無名 ID:iKLXL0Ko 2019/09/25(三) 11:15:48.349 No.16091784 >>16091759阿那個token 是最下面那個else (players[0].win=== players[1].win){ <<<這個{ token 問題是 這個token 是必要的阿 所以到底出錯在哪裡
無題 無名 ID:Mvf7CpBs 2019/09/25(三) 11:18:34.979 No.16091810 >>16091784>} else (players[0].win=== players[1].win){
我不懂JS但會其他語言...
但else後面還要加判斷嗎?
為什麼不是else if (players[0].win=== players[1].win)
最後else再用個例外處理
無題 無名 ID:iKLXL0Ko 2019/09/25(三) 11:21:41.870 No.16091834
無題 無名 ID:iKLXL0Ko 2019/09/25(三) 11:28:49.128 No.16091888
無題 無名 ID:t5TIHJIY 2019/09/25(三) 12:02:45.163 No.16092206 邦泥改一下
[aa]
interface player{
name:string,
win:number,
lose:number,
tie:number,
}
let bear = <player>{name: '熊弟', win: 0, lose: 0,tie:0};
let tiger = <player>{name: '虎哥', win: 0, lose: 0,tie:0};
const playCount = 10;
playGame(playCount,bear,tiger);
function playGame(playCount:number,player1:player,player2:player)
{
for(let count=1;count<=playCount;count++){
console.log(`-----${count}局-----`);
rollDiceWinner(player1,player2);
debugState(player1);
debugState(player2);
console.log('--------');
}
if (player1.win > player2.win ) {
console.log(`最終冠軍:${player1.name}`)
}
else if (player1.win < player2.win ) {
console.log(`最終冠軍:${player2.name}`)
}
else{
console.log("沒輸沒贏");
}
}
function rollDiceWinner(player1:player,player2:player)
{
let player1Dice = Math.floor(Math.random() * 6) + 1
let player2Dice = Math.floor(Math.random() * 6) + 1
if(player1Dice > player2Dice){
player1.win++
player2.lose++
}
else if (player1Dice< player2Dice){
player1.lose++
player2.win++
}
else{
player1.tie++
player2.tie++
}
console.log(`player1Dice:${player1Dice},player2Dice:${player2Dice}`);
}
function debugState(player:player){
console.log(`${player.name}(win:${player.win},loss:${player.lose},tie:${player.tie})`);
}
[/aa]
無題 無名 ID:t5TIHJIY 2019/09/25(三) 12:07:42.439 No.16092248 >>16092206幾個要點縮名一下
1.盡可能的封裝,抽出並整理相同/類似的邏輯。
2.若沒必要不要直接使用陣列取位置方式指派參數。
3.排版長一點沒關係,一個大括號後面應該接的是換行,
被笑不夠GEEK無所謂,至少看自己的CODE輕鬆又愉快。
4.用方法名稱隱喻實作邏輯,讓程式碼可閱讀。
無題 無名 ID:t5TIHJIY 2019/09/25(三) 12:40:37.511 No.16092607
無題 無名 ID:oeMqgHe. 2019/09/25(三) 12:55:13.864 No.16092784 屁ㄅ
程式碼就是該用好幾個goto裝B
別人看不懂才能顯示自己的價值
懂嗎
無題 無名 ID:t5TIHJIY 2019/09/25(三) 12:58:15.186 No.16092821
無題 無名 ID:t5TIHJIY 2019/09/25(三) 14:02:07.049 No.16093538
無題 無名 ID:nTlMRr1A 2019/09/25(三) 14:03:30.292 No.16093554
無題 無名 ID:zqM.Elnc 2019/09/25(三) 14:47:34.631 No.16093986
無題 無名 ID:t5TIHJIY 2019/09/25(三) 14:58:20.537 No.16094076