开发者

Problems with a single line break in JavaScript

开发者 https://www.devze.com 2023-02-13 17:14 出处:网络
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.

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

精彩评论

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