Skip to content

flavvvour/Game-of-Life

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Game of Life β€” Π˜Π³Ρ€Π° "Π–ΠΈΠ·Π½ΡŒ"

Game of Life β€” это ΠΊΠ»Π΅Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚, ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΉ британским ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΌ Π”ΠΆΠΎΠ½ΠΎΠΌ КонвССм Π² 1970 Π³ΠΎΠ΄Ρƒ. Π­Ρ‚Π° ΠΈΠ³Ρ€Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠ»Π΅Ρ‚ΠΎΠΊ Π² Ρ€Π΅ΡˆΠ΅Ρ‚ΠΊΠ΅, Π³Π΄Π΅ каТдая ΠΊΠ»Π΅Ρ‚ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΆΠΈΠ²ΠΎΠΉ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ€Ρ‚Π²ΠΎΠΉ, ΠΈ Π΅Ρ‘ состояниС измСняСтся Π½Π° основС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ».

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° визуализация ΠΈΠ³Ρ€Ρ‹ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ измСнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² скорости ΠΈ состояния ΠΊΠ»Π΅Ρ‚ΠΎΠΊ.

ОписаниС ΠΈΠ³Ρ€Ρ‹

Π˜Π³Ρ€ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ прСдставляСт собой сСтку ΠΊΠ»Π΅Ρ‚ΠΎΠΊ, Π³Π΄Π΅ каТдая ΠΊΠ»Π΅Ρ‚ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… состояний: "Тивая" ΠΈΠ»ΠΈ "мСртвая". БостояниС ΠΊΠ»Π΅Ρ‚ΠΎΠΊ мСняСтся ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Π½Π° основС количСства ΠΆΠΈΠ²Ρ‹Ρ… сосСдСй Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ. Π˜Π³Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° Π² автоматичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π΄Π΅Π»Π°Ρ‚ΡŒ шаги, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ измСнСния.

ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΈΠ³Ρ€Ρ‹

ΠœΠ΅ΡΡ‚ΠΎ дСйствия ΠΈΠ³Ρ€Ρ‹ β€” размСчСнная Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠΈ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±Π΅Π·Π³Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠΉ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π·Π°ΠΌΠΊΠ½ΡƒΡ‚ΠΎΠΉ.

КаТдая ΠΊΠ»Π΅Ρ‚ΠΊΠ° Π½Π° этой повСрхности ΠΈΠΌΠ΅Π΅Ρ‚ восСмь сосСдСй, ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΡ… Π΅Ρ‘, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Π΄Π²ΡƒΡ… состояниях: Π±Ρ‹Ρ‚ΡŒ Β«ΠΆΠΈΠ²ΠΎΠΉΒ» (Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ) ΠΈΠ»ΠΈ Β«ΠΌΡ‘Ρ€Ρ‚Π²ΠΎΠΉΒ» (пустой).

РаспрСдСлСниС ΠΆΠΈΠ²Ρ‹Ρ… ΠΊΠ»Π΅Ρ‚ΠΎΠΊ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠ³Ρ€Ρ‹ называСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ΠΌ. КаТдоС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ рассчитываСтся Π½Π° основС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ:

  • Π² пустой (ΠΌΡ‘Ρ€Ρ‚Π²ΠΎΠΉ) ΠΊΠ»Π΅Ρ‚ΠΊΠ΅, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠΎΡΠ΅Π΄ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ ΠΆΠΈΠ²Ρ‹Π΅ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ, зароТдаСтся Тизнь;
  • Ссли Ρƒ ΠΆΠΈΠ²ΠΎΠΉ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΈ ΠΆΠΈΠ²Ρ‹Π΅ сосСдки, Ρ‚ΠΎ эта ΠΊΠ»Π΅Ρ‚ΠΊΠ° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΆΠΈΡ‚ΡŒ; Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС (Ссли ΠΆΠΈΠ²Ρ‹Ρ… сосСдСй мСньшС Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ большС Ρ‚Ρ€Ρ‘Ρ…) ΠΊΠ»Π΅Ρ‚ΠΊΠ° ΡƒΠΌΠΈΡ€Π°Π΅Ρ‚ (Β«ΠΎΡ‚ одиночСства» ΠΈΠ»ΠΈ Β«ΠΎΡ‚ пСрСнасСлённости»).

Π˜Π³Ρ€Π° прСкращаСтся, Ссли:

  • Π½Π° ΠΏΠΎΠ»Π΅ Π½Π΅ останСтся Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Β«ΠΆΠΈΠ²ΠΎΠΉΒ» ΠΊΠ»Π΅Ρ‚ΠΊΠΈ;
  • конфигурация Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌ шагС Π² точности (Π±Π΅Π· сдвигов ΠΈ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ΠΎΠ²) ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ сСбя ΠΆΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… шагов (складываСтся пСриодичСская конфигурация);
  • ΠΏΡ€ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌ шагС Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠ»Π΅Ρ‚ΠΎΠΊ Π½Π΅ мСняСт своСго состояния (частный случай ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°, складываСтся ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ конфигурация).

Π˜Π³Ρ€ΠΎΠΊ Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ участия Π² ΠΈΠ³Ρ€Π΅. Он лишь расставляСт ΠΈΠ»ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Β«ΠΆΠΈΠ²Ρ‹Ρ…Β» ΠΊΠ»Π΅Ρ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ согласно ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. НСсмотря Π½Π° простоту ΠΏΡ€Π°Π²ΠΈΠ», Π² ΠΈΠ³Ρ€Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

  • ИзмСнСниС состояния ΠΊΠ»Π΅Ρ‚ΠΎΠΊ: ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Ρ‘ состояниС (с ΠΆΠΈΠ²ΠΎΠΉ Π½Π° ΠΌΠ΅Ρ€Ρ‚Π²ΡƒΡŽ ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚).
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠΉ:
    • Π‘Ρ‚Π°Ρ€Ρ‚/ΠŸΠ°ΡƒΠ·Π°: ЗапускаСт ΠΈΠ»ΠΈ приостанавливаСт ΠΈΠ³Ρ€Ρƒ.
    • Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг: ВыполняСт ΠΎΠ΄ΠΈΠ½ шаг ΠΈΠ³Ρ€Ρ‹.
    • Бброс: БбрасываСт всС ΠΊΠ»Π΅Ρ‚ΠΊΠΈ Π² исходноС состояниС (ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹Π΅).
  • Π Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° скорости ΠΈΠ³Ρ€Ρ‹: Π˜Π·ΠΌΠ΅Π½ΡΠΉΡ‚Π΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈΠ³Ρ€Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ»Π·ΡƒΠ½ΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс.
  • ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ "Π“Π»Π°ΠΉΠ΄Π΅Ρ€": Π˜Π³Ρ€Π° начинаСтся с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ шаблоном "Π“Π»Π°ΠΉΠ΄Π΅Ρ€", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΏΠΎ полю.

РСализация

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±Ρ‹Π» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… домашнСго задания курса ΠšΠ‘Π• (ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ cΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ eстСствознания).

About

Game of Life

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published