Редактирование: CelAut v2

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
[[Виртуальная лаборатория]] > [[Игра "Жизнь"]] > [[Клеточный автомат - версии]] > [[CelAut v2]] <HR>
+
[[ТМ|Кафедра ТМ]] > [[Программирование]] > [[Программирование и моделирование в Интернет|Интернет]] > [[JavaScript-программирование|JavaScript]] > [[JavaScript - Клеточный автомат|Клеточный автомат]] > '''CelAut v2''' <HR>
 +
 
 +
<addscript src=CelAut_v2_release/>
 +
<htmlet nocache="yes">CelAut_v2_TM</htmlet>
  
{{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Tcvetkov/CelAut/CelAut_v2_release/CelAut_v2_release.html |width=630 |height=650 |border=0 }}
 
  
 
Скачать программу: [[Медиа:CelAut_v2_release.zip|CelAut_v2_release.zip]]
 
Скачать программу: [[Медиа:CelAut_v2_release.zip|CelAut_v2_release.zip]]
<div class="mw-collapsible mw-collapsed" style="width:100%" >
+
Текст программы на языке JavaScript (разработчик [[Цветков Денис]]): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default">  
'''Текст программы на языке JavaScript (разработчик [[Цветков Денис]]):''' <div class="mw-collapsible-content">  
 
 
Файл '''"CelAut_v2_release.js"'''
 
Файл '''"CelAut_v2_release.js"'''
<syntaxhighlight lang="javascript" line start="1" enclose="div">
+
<source lang="javascript" first-line="1">
function MainChain(canvas) {
+
function MainMech(canvas) {
  
 
     // Предварительные установки
 
     // Предварительные установки
Строка 17: Строка 18:
 
     // *** Задание вычислительных параметров ***
 
     // *** Задание вычислительных параметров ***
  
     var fps = 5;                // frames per second - число кадров в секунду
+
     const fps = 5;                // frames per second - число кадров в секунду
  
 
     // Выполнение программы
 
     // Выполнение программы
  
     var w = canvas.width;     // ширина окна
+
     const w = canvas.width;     // ширина окна
     var h = canvas.height; // высота окна
+
     const h = canvas.height; // высота окна
     var n = 50;                  // количество клеток по горизонтали (желательно, делитель ширины окна)
+
     const n = 50;                  // количество клеток по горизонтали (желательно, делитель ширины окна)
     var m = 50;                  // количество клеток по горизонтали (желательно, делитель высоты окна)
+
     const m = 50;                  // количество клеток по горизонтали (желательно, делитель высоты окна)
     var cellW = w/n;              // ширина клетки
+
     const cellW = w/n;              // ширина клетки
     var cellH = h/m;              // высота клетки
+
     const cellH = h/m;              // высота клетки
  
 
     var pause = true;
 
     var pause = true;
Строка 32: Строка 33:
  
 
     // "Жизнь" Конвея: [B = 000100000, L = 001100000]
 
     // "Жизнь" Конвея: [B = 000100000, L = 001100000]
     var B = "000100000";            // геном рождения
+
     const B = "000100000";            // геном рождения
     var L = "001100000";            // геном выживания
+
     const L = "001100000";            // геном выживания
  
 
     // Работа с мышью
 
     // Работа с мышью
Строка 58: Строка 59:
 
         mouseY = e.clientY - rect.top;
 
         mouseY = e.clientY - rect.top;
 
     }
 
     }
 +
  
 
     // Работа с массивом
 
     // Работа с массивом
Строка 84: Строка 86:
 
         }
 
         }
 
     }
 
     }
 
    MainChain.prototype.clear = function(){
 
        for (var i = 0; i < n; i++)
 
            for (var j = 0; j < m; j++)
 
                cells[i][j] = false;
 
        draw();
 
        stopSystem();
 
    };
 
  
 
     // Управление работой автомата
 
     // Управление работой автомата
Строка 100: Строка 94:
 
     }
 
     }
  
     MainChain.prototype.changePauseState = function() {          // кнопка паузы
+
     MainMech.prototype.changePauseState = function() {          // кнопка паузы
 
         if (!pause) stopSystem();
 
         if (!pause) stopSystem();
 
         else startSystem()
 
         else startSystem()
 
     };
 
     };
  
     MainChain.prototype.nextStep = function(){                  // кнопка "Следующий шаг"
+
     MainMech.prototype.nextStep = function(){                  // кнопка "Следующий шаг"
 
         stopSystem();
 
         stopSystem();
 
         step();
 
         step();
Строка 113: Строка 107:
 
         pause = false;
 
         pause = false;
 
         intervalID = setInterval(step, 1000/fps);
 
         intervalID = setInterval(step, 1000/fps);
         document.getElementById('pause').value = "Остановить";
+
         document.getElementById('pause').value = "Stop";
 
     }
 
     }
  
Строка 119: Строка 113:
 
         pause = true;
 
         pause = true;
 
         clearInterval(intervalID);
 
         clearInterval(intervalID);
         document.getElementById('pause').value = "Запустить";
+
         document.getElementById('pause').value = "Start";
 
     }
 
     }
  
Строка 178: Строка 172:
  
 
}
 
}
</syntaxhighlight>
+
</source>
 
Файл '''"CelAut_v2_release.html"'''
 
Файл '''"CelAut_v2_release.html"'''
<syntaxhighlight lang="html5" line start="1" enclose="div">
+
<source lang="html" first-line="1">
 
<!DOCTYPE html>
 
<!DOCTYPE html>
 
<html>
 
<html>
Строка 188: Строка 182:
 
</head>
 
</head>
 
<body>
 
<body>
     <canvas id="canvasCelAut" width="600" height="600" style="border:1px solid #000000;"></canvas><br>
+
     <canvas id="canvasMech" width="600" height="600" style="border:1px solid #000000;"></canvas><br>
     <input id="pause" type="button" name="" style="width: 100px" onclick="app.changePauseState();return false;"/>
+
     <input id="pause" type="button" name="" style="width: 60px" onclick="app.changePauseState();return false;" value="Stop"/>
    <input type="button" name="" onclick="app.nextStep();return false;" value="Следующий шаг"/>
+
     <input id="next" type="button" name="" onclick="app.nextStep();return false;" value="Next step"/>
     <input type="button" name="" onclick="app.clear();return false;" value="Очистить поле"/>
+
     <script type="text/javascript">var app = new MainMech(document.getElementById('canvasMech'));</script>
     <script type="text/javascript">var app = new MainChain(document.getElementById('canvasCelAut'));</script>
 
 
</body>
 
</body>
 
</html>
 
</html>
</syntaxhighlight>
+
</source>
</div>
+
</toggledisplay>
</div>
 
 
 
[[Category: Виртуальная лаборатория]]
 
[[Category: Программирование]]
 
Вам запрещено изменять защиту статьи. Edit Создать редактором

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии Public Domain (см. Department of Theoretical and Applied Mechanics:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Отменить | Справка по редактированию  (в новом окне)
Источник — «http://tm.spbstu.ru/CelAut_v2»