Skip to content

Родин Роман - #4

Open
CINOEA wants to merge 4 commits into
trpomoais2017:masterfrom
CINOEA:master
Open

Родин Роман#4
CINOEA wants to merge 4 commits into
trpomoais2017:masterfrom
CINOEA:master

Conversation

@CINOEA

@CINOEA CINOEA commented Apr 19, 2017

Copy link
Copy Markdown

Как и в прошлый раз добавил новый html файл и скрипт к нему
(Ps: Мне так удобнее т.к. обычно пишу с нуля)
Запускать через lsystem.html (После запуска будет отрисована снежинка)
Если не вбивать значения и нажать OK, то значения будут присвоены по умолчанию - будет введены значения для куста
Скалирование делать не стал т.к. теряется качество картинки (по крайней мере у меня получалось так) Поэтому решил что пусть лучше будет вбиваться все вручную...
Примечание: Угол можно вбивать двумя способами: в градусах(например 60, 30, 22.5) и в радианах(в виде pi/2, pi/6, 3pi/2 ... Прямо вместе с делением)
Вроде написал в этот раз лучше и не как в Индии...

Переделан внешний вид кода и убрана часть кода, которая обрабатывала более одного символа в переменной rulOf. Теперь ей будет присвоено значение F если будет введено более одного символа.

Comment thread base.js Outdated
var Transform = function (str,rulOf,rulTo,n) {
var retStr = "";
for(n; n>0; n--)
{

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C#-овый стиль скобочек. Когда пишешь на JS используй K&R-стиль ("египетский")

Comment thread base.js Outdated
}
str = retStr;
}
return retStr;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Неправильный отступ

Comment thread base.js
str = retStr;
}
return retStr;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Пропускай строчку между методами

Comment thread base.js Outdated
var canvasHeight = parseInt(canvas.getAttribute("height"));
var canvasWidth = parseInt(canvas.getAttribute("width"));
var context = canvas.getContext('2d');
var Transform = function (str,rulOf,rulTo,n) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В JS методы, которые не конструкторы, пишутся в camelCase: начинаются с маленькой буквы

Comment thread base.js Outdated
{
var eq = true;
j = i;
for(i;i-j<rulOf.length;i++)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Слишком много кода для того, чтобы применить правило.
На самом деле ты либо добавляешь в результат то, что было, либо добавляешь замену из правила

Comment thread base.js
switch (str[i])
{
case 'F':
context.moveTo(x, y);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Отступы!

Comment thread base.js Outdated
context.restore();
}
function Run () {
Print(Transform("[F]+[F]+[F]+[F]+[F]+[F]","F","F[+FF][-FF]FF[+F][-F]FF",4),1000,1000,1,60);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Отступы!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants