开发者

Problems with a single line break in JavaScript

Hello I've looked through JavaScript related questions and can find no result. What I'm trying to do is very simple; I know how to do it but for some reason it isn't working.

Here's the code I'm having the problem with:

playersScore = rollDie();
document.write('Score: ' + playersScore);
playersPosition = playersScore + playersPosition;
document.write(', Square: ' + playersPosition);

indexOfNumber = findIndexOf(playersPosition, specialSquaresArray);

if (indexOfNumber != -1) {
    document.write(', Ladder to Square: ' + connectedSquaresArray[indexOfNumber] + '<BR>');
    playersPosition = connectedSquaresArray[indexOfNumber];
    indexOfNumber = -1;
}
// end of question(iii) 
// start of question(iv)(b) 
while (playersPosition < 80) {
    playersScore = rollDie()
    document.write('Score: ' + playersScore)
    playersPosition = playersPosition + playersScore
    document.write(', Square: ' + playersPosition)
    indexOfNumber = findIndexOf(playersPosition, specialSquar开发者_开发技巧esArray)
    if (indexOfNumber != -1) {
        document.write(', Ladder to Square: ' + connectedSquaresArray[indexOfNumber]);
        playersPosition = connectedSquaresArray[indexOfNumber];
    }
    document.write('<BR>');

And here's the result in the browser:

Score: 4, Square: 4Score: 4, Square: 8
Score: 2, Square: 10
Score: 1, Square: 11
Score: 2, Square: 13
Score: 5, Square: 18
Score: 4, Square: 22
Score: 1, Square: 23
Score: 5, Square: 28
Score: 3, Square: 31
Score: 5, Square: 36
Score: 3, Square: 39, Ladder to Square: 51
Score: 4, Square: 55
Score: 6, Square: 61
Score: 6, Square: 67
Score: 1, Square: 68, Ladder to Square: 73
Score: 1, Square: 74
Score: 3, Square: 77, Ladder to Square: 58
Score: 5, Square: 63
Score: 1, Square: 64
Score: 4, Square: 68, Ladder to Square: 73
Score: 6, Square: 79
Score: 6, Square: 85

The first line is the player's 'first go' (Score: 4, Square: 4) yet I need the line that immediately follows it (Score: 4, Square: 8) to break to the line below but no matter where I place <BR> it will not do it. Is the a problem with the first few lines or is it an issue at the start of the while loop? I really can't figure it out!!

I'd really appreciate some help with this. Many thanks in advance.


Just write line break if no ladder is found:

if (indexOfNumber != -1) {
    document.write(', Ladder to Square: ' + connectedSquaresArray[indexOfNumber] + '<BR>');
    playersPosition = connectedSquaresArray[indexOfNumber];
    indexOfNumber = -1;
}
else {
   document.write('<BR>');
}


Change line number 4 to the following

document.write(', Square: ' + playersPosition + '<br/>');


Put another

     document.write('<BR>'); 

as the first line of While Loop.


You would have to explicitly write out HTML and line breaks, e.g. document.write('<br />');.


You need to add a

document.write('<BR>');

before your while loop to break the line after the first section of output. You do have a BR up there but it only gets output if the if test passes.

Remove the BR from the first 'Ladder to Square:' output line and just add one before the while loop so that it will be always be output.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜