Румянцев Даниил - #1
Conversation
| <canvas height='200' width='200' id='canvas1'></canvas> | ||
| <canvas height='200' width='200' id='canvas2'></canvas> | ||
| <canvas height='200' width='200' id='canvas3'></canvas> | ||
| <body onload="setup"> |
There was a problem hiding this comment.
Сложный UI... Слишком много кнопок и не понятно в каком порядке их нажимать.
Я в итоге справился, но все же слишком много кнопок.
| var lSysString = axiom; | ||
| var drawLetters = []; | ||
| var moveLetters = []; | ||
| var backgroundColor = 80; |
There was a problem hiding this comment.
Ты похоже здесь подразумевал константу BACKGROUND_COLOR
| if (currentSymbol == rule.pred) { | ||
| resultString += rule.succ; | ||
| } else { | ||
| //Если не нашли символ, удовлетворяющий правилам, то просто пишем в строку текущий символ |
There was a problem hiding this comment.
Этот одинокий комментарий в гуще сложного алгоритма выглядит как газета над головой во время тайфуна...
| resultString += currentSymbol; | ||
| } | ||
| } | ||
| lSysString = resultString; |
There was a problem hiding this comment.
Было бы круче, чтобы у тебя была функция, которая возвращает resultString (без побочных эффектов), а вот функция applyRule уже присваивает lSysString и stepSize
|
|
||
| var currentSymbol = lSysString.charAt(i); | ||
|
|
||
| if (drawLetters.includes(currentSymbol)) { |
There was a problem hiding this comment.
Тут бы выделить функцию drawSymbol(currentSymbol). Текущая функция бы стала меньше. И continue не пришлось бы писать - вместо них был бы return. Да и вообще разделять код на мелкие, но логически целостные блоки в виде функций с правильными названиями - это благо.
No description provided.