Итак, я переписал ваш код, чтобы вы могли видеть, как он должен выглядеть.
<script>
var isInCheck = '';
var kingX = prompt('Enter X co-ordinate of King? ','');
var kingY = prompt('Enter Y co-ordinate of King? ','');
var queenX = prompt('Enter X co-ordinate of Queen? ','');
var queenY = prompt('Enter Y co-ordinate of Queen? ','');
document.write('<table>');
for (var x=0; x<10; x++) {
document.writeln('<tr>');
for (var y=0; y<10; y++) {
// This is inside of a nested for-loop
document.writeln('<td>');
if (kingX == x && kingY == y) {
document.writeln('K');
} else if(queenX == x && queenY == y) {
document.writeln('Q');
} else {
document.writeln(' ');
}
document.writeln('</td>');
}
document.writeln('</tr>');
}
document.write('</table>');
</script>
В коде опубликованы 2 основных ошибки.
Первый, не делают это потому, что точка с запятой не будет выполнять код между фигурными скобками:
for(j=1; j<10; j++);{
Он должен выглядеть следующим образом (без запятой):
for(j=1; j<10; j++) {
Возможно, это основной источник путаницы, который у вас может быть.
Во-вторых, вы хотите сделать это:
if (kingX == x && kingY == y) {
Не так:
if (kingX == x || kingY == y) {
Код, который вы написали, что говорит: если координата х равна kingX, OR координата у равна затем отобразите K. Вы хотите, чтобы оба условия были истинными, поэтому вам нужно и хотите использовать & &.
Кроме того, for-loops также могут быть вложенными, вы можете иметь цикл в другом цикле, который необходим для создания нужной структуры таблицы.
И, наконец, не всегда использовать document.write для вывода таблицы, но поскольку вы новичок, все в порядке. Обычно мы будем конкатенировать строку с переменной, а затем просто выводить эту переменную.
Какое указание у вас есть, что есть проблема? Когда вы отлаживаете это, где конкретно это не удается? – David
Вы описали, что вы ожидаете, этот код * должен * делать, но не описал, что он делает *. Как это не удается? Что касается отладки, посмотрите на инструменты отладки в вашем браузере. Вы можете установить «контрольные точки» в своем коде и пройти через него, по очереди, по мере его выполнения. Это позволяет вам просматривать значения времени выполнения переменных, видеть, как ведет себя логика и т. Д. – David