task-13.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // chess
  2. // Сформируйте строку с шахматной доской из вложенных циклов.Для перевода строки используйте \n.
  3. // Код должен поддерживать легкое изменение размеров доски.
  4. // .#.#.#.#.#.#
  5. // #.#.#.#.#.#.
  6. // .#.#.#.#.#.#
  7. // #.#.#.#.#.#.
  8. // .#.#.#.#.#.#
  9. // #.#.#.#.#.#.
  10. // .#.#.#.#.#.#
  11. // #.#.#.#.#.#.
  12. // .#.#.#.#.#.#
  13. // #.#.#.#.#.#.
  14. const task13block = document.createElement('div');
  15. task13block.style = "border: 2px solid green; border-radius:5px; margin-bottom:10px; padding:10px";
  16. const task13title = document.createElement('h2');
  17. task13title.innerText = 'Task-13 Chess';
  18. const chessFieldBtn = document.createElement('button');
  19. chessFieldBtn.innerText = 'Form chess field';
  20. chessFieldBtn.style = 'margin-bottom:13px';
  21. root.appendChild(task13block);
  22. task13block.appendChild(task13title);
  23. task13block.appendChild(chessFieldBtn);
  24. chessFieldBtn.onclick = () => {
  25. let resultLine = "";
  26. const n = +prompt('Введите желаемое количество строк');
  27. const m = +prompt('Введите желаемое количество элементов в строке');
  28. if (n&&m) {
  29. for (let j = 0; j < n; j++) {
  30. for (let i = 0; i < m; i++) {
  31. resultLine = resultLine + (((i === 0) || (((i + 1) % m) || (j === (n - 1)))) ? (j%2?(i%2?".":"#"):(i%2?"#":".")) : ((j%2?(i%2?".":"#"):(i%2?"#":".")) + "\n"));
  32. }
  33. }
  34. console.log(resultLine);
  35. const lineResult = document.createElement('p');
  36. lineResult.innerHTML = `Шахматное поле ${n}Х${m}:<br/> <b> ${resultLine.split('\n').join("<br>")}</b>`;
  37. task13block.appendChild(lineResult);
  38. }
  39. else {alert("Некорректный ввод") }
  40. }