Редактирование: CelAut v1
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
− | [[ | + | [[ТМ|Кафедра ТМ]] > [[Программирование]] > [[Программирование и моделирование в Интернет|Интернет]] > [[JavaScript-программирование|JavaScript]] > [[JavaScript - Клеточный автомат|Клеточный автомат]] > '''CelAut v1''' <HR> |
+ | |||
+ | <addscript src=CelAut_v1_release/> | ||
+ | <htmlet nocache="yes">CelAut_v1_TM</htmlet> | ||
− | |||
Скачать программу: [[Медиа:CelAut_v1_release.zip|CelAut_v1_release.zip]] | Скачать программу: [[Медиа:CelAut_v1_release.zip|CelAut_v1_release.zip]] | ||
− | + | Текст программы на языке JavaScript (разработчик [[Цветков Денис]]): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default"> | |
− | |||
Файл '''"CelAut_v1_release.js"''' | Файл '''"CelAut_v1_release.js"''' | ||
− | < | + | <source lang="javascript" first-line="1"> |
function MainCelAut(canvas) { | function MainCelAut(canvas) { | ||
Строка 17: | Строка 18: | ||
// *** Задание вычислительных параметров *** | // *** Задание вычислительных параметров *** | ||
− | + | const fps = 5; // frames per second - число кадров в секунду | |
// Выполнение программы | // Выполнение программы | ||
− | + | const w = canvas.width; // ширина окна | |
− | + | const h = canvas.height; // высота окна | |
− | + | const n = 50; // количество клеток по горизонтали (желательно, делитель ширины окна) | |
− | + | const m = 50; // количество клеток по горизонтали (желательно, делитель высоты окна) | |
− | + | const cellW = w/n; // ширина клетки | |
− | + | const cellH = h/m; // высота клетки | |
var pause = false; | var pause = false; | ||
// "Жизнь" Конвея: [B = 000100000, L = 001100000] | // "Жизнь" Конвея: [B = 000100000, L = 001100000] | ||
− | + | const B = "000100000"; // геном рождения | |
− | + | const L = "001100000"; // геном выживания | |
// Работа с массивом | // Работа с массивом | ||
Строка 60: | Строка 61: | ||
if (pause) { | if (pause) { | ||
clearInterval(intervalID); | clearInterval(intervalID); | ||
− | + | document.getElementById('pause').value = "Start"; | |
− | |||
} | } | ||
else { | else { | ||
intervalID = setInterval(control, 1000/fps); | intervalID = setInterval(control, 1000/fps); | ||
− | document.getElementById(' | + | document.getElementById('pause').value = "Stop"; |
} | } | ||
}; | }; | ||
Строка 125: | Строка 125: | ||
} | } | ||
− | </ | + | </source> |
Файл '''"CelAut_v1_release.html"''' | Файл '''"CelAut_v1_release.html"''' | ||
− | < | + | <source lang="html" first-line="1"> |
<!DOCTYPE html> | <!DOCTYPE html> | ||
<html> | <html> | ||
Строка 137: | Строка 137: | ||
<canvas id="canvasCelAut" width="600" height="600" style="border:1px solid #000000;"></canvas><br> | <canvas id="canvasCelAut" width="600" height="600" style="border:1px solid #000000;"></canvas><br> | ||
<script type="text/javascript">var app = new MainCelAut(document.getElementById('canvasCelAut'));</script> | <script type="text/javascript">var app = new MainCelAut(document.getElementById('canvasCelAut'));</script> | ||
− | <input id=" | + | <input id="pause" type="button" name="" style="width: 60px" onclick="app.changePauseState();return false;" value="Stop"/> |
</body> | </body> | ||
</html> | </html> | ||
− | </ | + | </source> |
− | </ | + | </toggledisplay> |
− | |||
− | |||
[[Category: Программирование]] | [[Category: Программирование]] | ||
+ | [[Category: JavaScript]] |