From cf0b33632ed73fcef3a71a64ec5b30fe9e258490 Mon Sep 17 00:00:00 2001 From: Pallavi_5i2 <22wh1a05i2@bvrithyderabad.edu.in> Date: Fri, 9 Aug 2024 12:11:40 +0530 Subject: [PATCH] life-game --- Games/Life_Mossaic/.gitignore | 1 + Games/Life_Mossaic/README.md | 207 ++++++ Games/Life_Mossaic/animation.js | 40 ++ .../data/game-images/Big-Glider.png | Bin 0 -> 2204 bytes .../data/game-images/Circle-of-Fire.png | Bin 0 -> 5449 bytes .../data/game-images/Game-Grid.png | Bin 0 -> 26829 bytes .../data/game-images/Game-Sidebar.png | Bin 0 -> 20679 bytes .../data/game-images/Gosper-Glider-Gun.png | Bin 0 -> 1904 bytes .../Life_Mossaic/data/game-images/Pulsar.png | Bin 0 -> 9901 bytes .../data/game-images/Quadpole.png | Bin 0 -> 3466 bytes .../data/game-images/Small-Glider.png | Bin 0 -> 1783 bytes .../Life_Mossaic/data/game-images/Spider.png | Bin 0 -> 17197 bytes Games/Life_Mossaic/data/presets.json | 338 ++++++++++ Games/Life_Mossaic/data/themes.json | 98 +++ Games/Life_Mossaic/desktop.ini | 2 + Games/Life_Mossaic/gamerules.css | 169 +++++ Games/Life_Mossaic/gamerules.html | 173 +++++ Games/Life_Mossaic/history.html | 67 ++ Games/Life_Mossaic/images/Big-Glider.png | Bin 0 -> 2204 bytes .../images/Fast-Forward-Button-Dark.svg | 4 + .../images/Fast-Forward-Button.svg | 4 + .../images/Fast-Reverse-Button-Dark.svg | 4 + .../images/Fast-Reverse-Button.svg | 4 + Games/Life_Mossaic/images/Game-Grid.png | Bin 0 -> 26829 bytes .../Life_Mossaic/images/Gosper-Glider-Gun.png | Bin 0 -> 1904 bytes .../Life_Mossaic/images/Pause-Button-Dark.svg | 5 + Games/Life_Mossaic/images/Pause-Button.svg | 5 + .../Life_Mossaic/images/Play-Button-Dark.svg | 4 + Games/Life_Mossaic/images/Play-Button.svg | 4 + Games/Life_Mossaic/images/Small-Glider.png | Bin 0 -> 1783 bytes Games/Life_Mossaic/images/desktop.ini | 2 + Games/Life_Mossaic/images/glider-icon.png | Bin 0 -> 24322 bytes Games/Life_Mossaic/images/home.png | Bin 0 -> 16953 bytes .../images/registerpage-favicon.png | Bin 0 -> 24322 bytes Games/Life_Mossaic/index.html | 275 ++++++++ Games/Life_Mossaic/js/app.js | 588 +++++++++++++++++ Games/Life_Mossaic/js/gradient.js | 32 + Games/Life_Mossaic/package-lock.json | 21 + Games/Life_Mossaic/package.json | 14 + Games/Life_Mossaic/style.css | 603 ++++++++++++++++++ assets/images/lifesmossaic.png | Bin 0 -> 80673 bytes 41 files changed, 2664 insertions(+) create mode 100644 Games/Life_Mossaic/.gitignore create mode 100644 Games/Life_Mossaic/README.md create mode 100644 Games/Life_Mossaic/animation.js create mode 100644 Games/Life_Mossaic/data/game-images/Big-Glider.png create mode 100644 Games/Life_Mossaic/data/game-images/Circle-of-Fire.png create mode 100644 Games/Life_Mossaic/data/game-images/Game-Grid.png create mode 100644 Games/Life_Mossaic/data/game-images/Game-Sidebar.png create mode 100644 Games/Life_Mossaic/data/game-images/Gosper-Glider-Gun.png create mode 100644 Games/Life_Mossaic/data/game-images/Pulsar.png create mode 100644 Games/Life_Mossaic/data/game-images/Quadpole.png create mode 100644 Games/Life_Mossaic/data/game-images/Small-Glider.png create mode 100644 Games/Life_Mossaic/data/game-images/Spider.png create mode 100644 Games/Life_Mossaic/data/presets.json create mode 100644 Games/Life_Mossaic/data/themes.json create mode 100644 Games/Life_Mossaic/desktop.ini create mode 100644 Games/Life_Mossaic/gamerules.css create mode 100644 Games/Life_Mossaic/gamerules.html create mode 100644 Games/Life_Mossaic/history.html create mode 100644 Games/Life_Mossaic/images/Big-Glider.png create mode 100644 Games/Life_Mossaic/images/Fast-Forward-Button-Dark.svg create mode 100644 Games/Life_Mossaic/images/Fast-Forward-Button.svg create mode 100644 Games/Life_Mossaic/images/Fast-Reverse-Button-Dark.svg create mode 100644 Games/Life_Mossaic/images/Fast-Reverse-Button.svg create mode 100644 Games/Life_Mossaic/images/Game-Grid.png create mode 100644 Games/Life_Mossaic/images/Gosper-Glider-Gun.png create mode 100644 Games/Life_Mossaic/images/Pause-Button-Dark.svg create mode 100644 Games/Life_Mossaic/images/Pause-Button.svg create mode 100644 Games/Life_Mossaic/images/Play-Button-Dark.svg create mode 100644 Games/Life_Mossaic/images/Play-Button.svg create mode 100644 Games/Life_Mossaic/images/Small-Glider.png create mode 100644 Games/Life_Mossaic/images/desktop.ini create mode 100644 Games/Life_Mossaic/images/glider-icon.png create mode 100644 Games/Life_Mossaic/images/home.png create mode 100644 Games/Life_Mossaic/images/registerpage-favicon.png create mode 100644 Games/Life_Mossaic/index.html create mode 100644 Games/Life_Mossaic/js/app.js create mode 100644 Games/Life_Mossaic/js/gradient.js create mode 100644 Games/Life_Mossaic/package-lock.json create mode 100644 Games/Life_Mossaic/package.json create mode 100644 Games/Life_Mossaic/style.css create mode 100644 assets/images/lifesmossaic.png diff --git a/Games/Life_Mossaic/.gitignore b/Games/Life_Mossaic/.gitignore new file mode 100644 index 0000000000..f83526d133 --- /dev/null +++ b/Games/Life_Mossaic/.gitignore @@ -0,0 +1 @@ +**/node_modules/ \ No newline at end of file diff --git a/Games/Life_Mossaic/README.md b/Games/Life_Mossaic/README.md new file mode 100644 index 0000000000..75401690b1 --- /dev/null +++ b/Games/Life_Mossaic/README.md @@ -0,0 +1,207 @@ +
+

Life's Mosaic

+

A cellular automaton devised by British mathematician John Horton Conway in 1970.

+
+ +--- +## โœจ What is it? + +Life's Mosaic, or simply "Life," is a cellular automaton devised by British mathematician John Horton Conway in 1970. It is a zero-player game, meaning its evolution is determined by its initial state, requiring no further input. Players interact with the game by creating an initial configuration and observing how it evolves. The game is Turing complete and can simulate a universal constructor or any other Turing machine. + +--- + +## ๐ŸŒŒ The Universe + +The universe of the Game of Life is an infinite, two-dimensional orthogonal grid of square cells. Each cell is in one of two possible states: `ALIVE` or `DEAD`. Every cell interacts with its eight neighbors, which are the cells that are horizontally, vertically, or diagonally adjacent. + +--- +## ๐Ÿ“œ The Rules + +1. Any live cell with fewer than two live neighbors dies, as if by **underpopulation**. +2. Any live cell with two or three live neighbors lives on to the next generation. +3. Any live cell with more than three live neighbors dies, as if by **overpopulation**. +4. Any dead cell with exactly three live neighbors becomes a live cell, as if by **reproduction**. + +The first generation is created by applying the above rules simultaneously to every cell in the seed, alive or dead; births and deaths occur simultaneously, and the discrete moment at which this happens is sometimes called a tick. Each generation is a pure function of the preceding one. + +--- + +## ๐ŸŽฎ The Game + +### ๐Ÿ–ผ๏ธ The Canvas / Grid + +![Game Grid](data/game-images/Game-Grid.png) + +| Buttons | What they do | +| --- | --- | +| โ–ถ๏ธ | Starts the animation after you've set the initial pattern | +| โธ๏ธ | Pauses the animation | +| โฉ | Increases the speed of the animation | +| โช | Decreases the speed of the animation | +| `Clear` | Clears the grid on click, only if the game is not animating at that moment | +| `Random` | Randomly initializes the grid with initial randomness as 20% | + + +### โš™๏ธ The Settings + +| Settings | What are they for? | +| --- | --- | +| `Gridlines` | Toggles visibility of the gridlines | +| `Warp on Edges` | Warps the patterns across the edges - Initially set as true | +| `Randomness` | Allows you to set custom randomness percent for random initialization | + + +### ๐ŸŽจ The Themes + +| Themes | The Colors | +| --- | --- | +| Blue (default) | ![#0f045a](https://placehold.co/15x15/0f045a/0f045a.png) ![#7582b2](https://placehold.co/15x15/7582b2/7582b2.png) ![#036c96](https://placehold.co/15x15/036c96/036c96.png) ![#ebf2ff](https://placehold.co/15x15/ebf2ff/ebf2ff.png) ![#352a7e](https://placehold.co/15x15/352a7e/352a7e.png) ![#101536](https://placehold.co/15x15/101536/101536.png) ![#080126](https://placehold.co/15x15/080126/080126.png) ![#c6cede](https://placehold.co/15x15/c6cede/c6cede.png) ![#00246B](https://placehold.co/15x15/00246B/00246B.png) ![#CADCFC](https://placehold.co/15x15/CADCFC/CADCFC.png) | +| Red | ![#5a0404](https://placehold.co/15x15/5a0404/5a0404.png) ![#B27575](https://placehold.co/15x15/B27575/B27575.png) ![#960320](https://placehold.co/15x15/960320/960320.png) ![#FFEBEB](https://placehold.co/15x15/FFEBEB/FFEBEB.png) ![#7E2A37](https://placehold.co/15x15/7E2A37/7E2A37.png) ![#361015](https://placehold.co/15x15/361015/361015.png) ![#260106](https://placehold.co/15x15/260106/260106.png) ![#DEC6C6](https://placehold.co/15x15/DEC6C6/DEC6C6.png) ![#6b0000](https://placehold.co/15x15/6b0000/6b0000.png) ![#fccaca](https://placehold.co/15x15/fccaca/fccaca.png) | +| Green | ![#045a1e](https://placehold.co/15x15/045a1e/045a1e.png) ![#75B289](https://placehold.co/15x15/75B289/75B289.png) ![#03962f](https://placehold.co/15x15/03962f/03962f.png) ![#EBFFEF](https://placehold.co/15x15/EBFFEF/EBFFEF.png) ![#2A7E4D](https://placehold.co/15x15/2A7E4D/2A7E4D.png) ![#10361C](https://placehold.co/15x15/10361C/10361C.png) ![#01260B](https://placehold.co/15x15/01260B/01260B.png) ![#C6DECC](https://placehold.co/15x15/C6DECC/C6DECC.png) ![#006b2b](https://placehold.co/15x15/006b2b/006b2b.png) ![#cafcdd](https://placehold.co/15x15/cafcdd/cafcdd.png) | +| Purple | ![#5a045a](https://placehold.co/15x15/5a045a/5a045a.png) ![#B275B2](https://placehold.co/15x15/B275B2/B275B2.png) ![#960396](https://placehold.co/15x15/960396/960396.png) ![#FFEBFF](https://placehold.co/15x15/FFEBFF/FFEBFF.png) ![#7E2A7E](https://placehold.co/15x15/7E2A7E/7E2A7E.png) ![#361036](https://placehold.co/15x15/361036/361036.png) ![#260126](https://placehold.co/15x15/260126/260126.png) ![#DEC6DE](https://placehold.co/15x15/DEC6DE/DEC6DE.png) ![#6b006b](https://placehold.co/15x15/6b006b/6b006b.png) ![#fcafcf](https://placehold.co/15x15/fcafcf/fcafcf.png) | +| Dark Cyan | ![#045a5a](https://placehold.co/15x15/045a5a/045a5a.png) ![#75B2B2](https://placehold.co/15x15/75B2B2/75B2B2.png) ![#039696](https://placehold.co/15x15/039696/039696.png) ![#EBFFFF](https://placehold.co/15x15/EBFFFF/EBFFFF.png) ![#2A7E7E](https://placehold.co/15x15/2A7E7E/2A7E7E.png) ![#103636](https://placehold.co/15x15/103636/103636.png) ![#012626](https://placehold.co/15x15/012626/012626.png) ![#C6DEDE](https://placehold.co/15x15/C6DEDE/C6DEDE.png) ![#006b6b](https://placehold.co/15x15/006b6b/006b6b.png) ![#cafcfc](https://placehold.co/15x15/cafcfc/cafcfc.png) | +| Dark Neon | ![#d0ff00](https://placehold.co/15x15/d0ff00/d0ff00.png) ![#00cc26](https://placehold.co/15x15/00cc26/00cc26.png) ![#00b81b](https://placehold.co/15x15/00b81b/00b81b.png) ![#004640](https://placehold.co/15x15/004640/004640.png) ![#fc0101](https://placehold.co/15x15/fc0101/fc0101.png) ![#000000](https://placehold.co/15x15/000000/000000.png) ![#002628](https://placehold.co/15x15/002628/002628.png) ![#000525](https://placehold.co/15x15/000525/000525.png) ![#9800f5](https://placehold.co/15x15/9800f5/9800f5.png) ![#80ffff](https://placehold.co/15x15/80ffff/80ffff.png) | + + +### โณ History + +Stores history of patterns that user has played with, up to 5 recent patterns. + +--- + +## ๐Ÿ”ฎ The Presets + +### Glider + +The glider is the smallest, most common, and first-discovered spaceship in Game of Life. It travels diagonally across the grid. Gliders are important because they are easily produced, can be collided with each other to form more complicated patterns, and can be used to transmit information over long distances. + +
+ Small Glider + +
+ +### Big Glider + +The big glider was found by Dean Hickerson in December 1989 and was the first known diagonal spaceship other than the glider. Two gliders can be temporarily seen at the front of the ship; these do not stay gliders but still move like them. + +
+ Big Glider + +
+ +### Gosper Glider Gun + +The Gosper glider gun is the first known gun, and indeed the first known finite pattern with unbounded growth, found by Bill Gosper in November 1970. It consists of two queen bee shuttles stabilized by two blocks. + +
+ Gosper Glider Gun + +
+ + +### Pulsar + +The pulsar is a period-3 oscillator, meaning it returns to its initial state after three generations. Itโ€™s a symmetric pattern and one of the most recognized oscillators in the Game of Life. + +
+ Pulsar + +
+ +### Circle of Fire + +This term isnโ€™t standard in the Game of Life nomenclature but could refer to a specific type of oscillator or a similar repeating pattern that creates a visual effect resembling a circle of fire. + +
+ Circle-of-Fire + +
+ +### Quadpole + +The quadpole is the eighth most common oscillator in Achim Flammenkamp's census, being less common than the bipole but more common than the great on-off. It is the eighth most common oscillator on Adam P. Goucher's Catagolue. + +
+ Quadpole + +
+ +### Spider + +Spider is a c/5 orthogonal spaceship that was discovered by David Bell on April 14, 1997. It is the smallest known c/5 orthogonal spaceship. Its side sparks have proven to be very useful in constructing puffers and rakes. + +
+ Spider + +
+ +### More Configurations + +Explore more patterns at [ConwayLife Patterns](https://conwaylife.com/wiki/Category:Patterns). + +--- + +## ๐Ÿ“š Resources + +### Spark your interest + +- [The Game of Life | John Conway | TEDxDanubia](https://www.youtube.com/watch?v=R9Plq-D1gEk) +- [Conway's Game of Life Explained](https://youtu.be/C2vgICfQawE?si=yWqN0BOSBOMaujkI) + +### Try playing it here + +- [Play Game of Life](https://playgameoflife.com/) +- [Conway Life](https://conwaylife.com/) + + +
+

Life's Mosaic offers a unique way to explore the unpredictable beauty of life itself.

+
+ + +
+

Open Source Programs

+
+ + This project is part of GirlScript Summer of Code. We welcome contributions from the community to help enhance gameoflife. + +![gssoc](https://github.com/d1vyadharsh1n1/Flipkart_Clone/assets/146218077/dd4ffa29-2d52-47ad-9967-d0d6f8aff717) + +
+ + +
+

Code of Conduct

+
+ +Please note that this project is released with a [Contributor Code of Conduct](./CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. + +
+ + +
+

License

+
+ +This project is licensed under the [GPL-3.0 License](LICENSE.md). + +
+ +## Contact Us +
+https://www.linkedin.com/in/shriharimagar/ +
+ +
+ +
+

Contributors

+
+ +Thank you for contributing to our project! Your help is greatly appreciated in making gameoflife even better. ๐Ÿ˜Š + +
+ + + +
\ No newline at end of file diff --git a/Games/Life_Mossaic/animation.js b/Games/Life_Mossaic/animation.js new file mode 100644 index 0000000000..9fbf98652b --- /dev/null +++ b/Games/Life_Mossaic/animation.js @@ -0,0 +1,40 @@ +// used to animate side navbar +gsap.from(".game-settings .sidenav .animate", { + duration: 1, + x: -500, + ease: "power1.inOut", + stagger: 0.2 +}); +document.getElementById("toggleButton").addEventListener("click", function animateNav() { + gsap.set(".game-settings .sidenav .animate", { x: -500 }); + + gsap.to(".game-settings .sidenav .animate", { + duration: 1, + x: 0, + ease: "power1.inOut", + stagger: 0.3 + }); +}); +// used to animate the heading +gsap.from(".heading", { + duration: 1, + y: -500, + ease: "power1.inOut", + stagger: 0.2, + onComplete: function() { + // After the initial animation, start the yoyo bouncing effect + gsap.to(".heading", { + duration: 1, + y: -5, + ease: "power1.inOut", + yoyo: true, + repeat: -1 + });} +}); +// used to animate the grid +gsap.from(".grid-container", { + duration: 1, + x: 1000, + ease: "power1.inOut", + stagger: 0.2 +}); diff --git a/Games/Life_Mossaic/data/game-images/Big-Glider.png b/Games/Life_Mossaic/data/game-images/Big-Glider.png new file mode 100644 index 0000000000000000000000000000000000000000..bbc4d29f6d9f8171299e8dd459c9622ca0fa40ba GIT binary patch literal 2204 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 literal 0 HcmV?d00001 diff --git a/Games/Life_Mossaic/data/game-images/Game-Sidebar.png b/Games/Life_Mossaic/data/game-images/Game-Sidebar.png new file mode 100644 index 0000000000000000000000000000000000000000..5e07dec691f417d4c778185bb434511af5ca5e1d GIT binary patch literal 20679 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 literal 0 HcmV?d00001 diff --git a/Games/Life_Mossaic/data/game-images/Gosper-Glider-Gun.png b/Games/Life_Mossaic/data/game-images/Gosper-Glider-Gun.png new file mode 100644 index 0000000000000000000000000000000000000000..ac5d4d3d25e7ff0b5abfed481f77702ea22fadd9 GIT binary patch literal 1904 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 literal 0 HcmV?d00001 diff --git a/Games/Life_Mossaic/data/game-images/Small-Glider.png b/Games/Life_Mossaic/data/game-images/Small-Glider.png new file mode 100644 index 0000000000000000000000000000000000000000..32ddd31a119da19f20baa143c7fd08005f58258e GIT binary patch literal 1783 zcmb`I`#02i7{{lqY)Kb%TqaS3h$*?Osa**p#=W8BGFb*`kZY)+Wh-*2kr`pfkVfXR zBjYy1M6NN`$aNYqxfkOSnh3*ww;y)@fOXFM`8?-2=XuWOe4g_@uTP4TgSE^ajvdknTM8%(5 zA3a?<7E3(39zSw-VLfg+?}IqQWI>Ls2vvXoZAFi#+L{Iy4swx?ap|#eg<3i53=W4& zV@1(NC$78m72RE@=~13o9HDKNPc1LIg1}eR)Yf>h4fS=wB-A9G+Pj&pjkB!{tZ;HO zp4XUXjy1F}7;jqET`Xw^1@gI8R{AeON(a=AzkRhXbxHCD@RK28r-7Ud^Pgr>p3x8pUgUg=H!| z)sbS>DUu0Uo~iUfJjhVR%GFneyqmb{!Ig9lj$iPq{BhQ0%Ek*aSQNjI^ zf{g8uKC^IRm6pS(SZ*pCAC;NR>~Z0Xgja7{$5?#Jv64pdfY*H;b~<80hDHC};ok)2 z40I{S2DNg~2DmIekHr|WaDF}$mmX$hG=Jv?l{VXK%kg^O0%tIs-Q1?eTBP;5jl>cf5l4pPi|jGesgxIS8Go!Es*Tfx=oHtD{02ifS^sY- zcxz(5Ri-m0Kk!?N*&WY4qT|)H;)8ETMF>zmi*n-q9n3)i_Et_s_0n$BMcp_t4`_;7 z{@9*k#zz}7?KmeT)g^-PjhQ4c;4eFTm2%!yPakJ24V^|;o`mhIR`QChzLc)Fq;)pw znPf=om-g@ek{zx_UDv|dvI1>b@Z(U_o7OC)a!Ue#h8_XfX}jtv<6BJOkIK}-^b3-tCYnp5Ixhe2EXv6Jy08_hGto>;Y?is)*DVig=~Ea< zP}`Or6>*;T`V(&tFD$ICZd@K1i6~tctEdw1tgOcdCaj%;H?-Z&CA~!R!Tc-EfFq!x zQ8kPu19$$#0ChUGV^c~+@8nH#B+Sj&fczY6j4q+g?q!p7sA5xjX|kC(1nHdWzmZfj z2=R_qRfTG6#bZ`Cqj`hj`pG)LoFLN*;7X{Yc-pM6w jAD=!_?+JJJuz6L^jl#Niu|5^}tUxwa4wm!_*Ao8*Xc&VJ literal 0 HcmV?d00001 diff --git a/Games/Life_Mossaic/data/game-images/Spider.png b/Games/Life_Mossaic/data/game-images/Spider.png new file mode 100644 index 0000000000000000000000000000000000000000..6763d344d009563297eefff06861a83c1b955abc GIT binary patch literal 17197 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 literal 0 HcmV?d00001 diff --git a/Games/Life_Mossaic/data/presets.json b/Games/Life_Mossaic/data/presets.json new file mode 100644 index 0000000000..172d6c56ca --- /dev/null +++ b/Games/Life_Mossaic/data/presets.json @@ -0,0 +1,338 @@ +{ + "GliderGun": [ + [5, 1], + [6, 1], + [5, 2], + [6, 2], + [5, 11], + [6, 11], + [7, 11], + [4, 12], + [8, 12], + [3, 13], + [9, 13], + [3, 14], + [9, 14], + [6, 15], + [4, 16], + [8, 16], + [5, 17], + [6, 17], + [7, 17], + [6, 18], + [3, 21], + [4, 21], + [5, 21], + [3, 22], + [4, 22], + [5, 22], + [2, 23], + [6, 23], + [1, 25], + [2, 25], + [6, 25], + [7, 25], + [3, 35], + [4, 35], + [3, 36], + [4, 36] + ], + "smallGlider": [ + [1, 1], + [2, 2], + [2, 3], + [1, 3], + [0, 3] + ], + "bigGlider": [ + [7, 19], + [7, 20], + [7, 21], + [8, 19], + [8, 22], + [8, 23], + [8, 24], + [9, 20], + [9, 22], + [10, 16], + [10, 17], + [10, 25], + [11, 16], + [11, 18], + [11, 23], + [11, 26], + [12, 16], + [12, 25], + [12, 26], + [13, 17], + [13, 18], + [14, 17], + [14, 20], + [14, 26], + [14, 28], + [14, 29], + [15, 17], + [15, 27], + [15, 28], + [15, 30], + [16, 19], + [16, 21], + [16, 28], + [16, 29], + [16, 32], + [17, 20], + [17, 21], + [17, 23], + [17, 28], + [17, 29], + [17, 33], + [18, 24], + [18, 32], + [19, 23], + [19, 24], + [19, 25], + [19, 26], + [19, 30], + [19, 32], + [20, 23], + [20, 25], + [20, 26], + [20, 30], + [20, 31], + [20, 32], + [20, 33], + [21, 24], + [21, 28], + [21, 29], + [21, 31], + [22, 29], + [22, 30], + [23, 25], + [23, 27], + [23, 28], + [23, 29], + [24, 26], + [24, 29] + ], + "Pulsar": [ + [7, 21], + [7, 22], + [7, 28], + [7, 29], + [8, 22], + [8, 23], + [8, 27], + [8, 28], + [9, 19], + [9, 22], + [9, 24], + [9, 26], + [9, 28], + [9, 31], + [10, 19], + [10, 20], + [10, 21], + [10, 23], + [10, 24], + [10, 26], + [10, 27], + [10, 29], + [10, 30], + [10, 31], + [11, 20], + [11, 22], + [11, 24], + [11, 26], + [11, 28], + [11, 30], + [12, 21], + [12, 22], + [12, 23], + [12, 27], + [12, 28], + [12, 29], + [14, 21], + [14, 22], + [14, 23], + [14, 27], + [14, 28], + [14, 29], + [15, 20], + [15, 22], + [15, 24], + [15, 26], + [15, 28], + [15, 30], + [16, 19], + [16, 20], + [16, 21], + [16, 23], + [16, 24], + [16, 26], + [16, 27], + [16, 29], + [16, 30], + [16, 31], + [17, 19], + [17, 22], + [17, 24], + [17, 26], + [17, 28], + [17, 31], + [18, 22], + [18, 23], + [18, 27], + [18, 28], + [19, 21], + [19, 22], + [19, 28], + [19, 29] + ], + "CircleOfFire": [ + [11, 24], + [11, 26], + [12, 22], + [12, 25], + [12, 28], + [13, 23], + [13, 25], + [13, 27], + [14, 21], + [14, 22], + [14, 23], + [14, 25], + [14, 27], + [14, 28], + [14, 29], + [15, 25], + [16, 20], + [16, 21], + [16, 22], + [16, 23], + [16, 24], + [16, 26], + [16, 27], + [16, 28], + [16, 29], + [16, 30], + [17, 25], + [18, 21], + [18, 22], + [18, 23], + [18, 25], + [18, 27], + [18, 28], + [18, 29], + [19, 23], + [19, 25], + [19, 27], + [20, 22], + [20, 25], + [20, 28], + [21, 24], + [21, 26] + ], + "Quadpole": [ + [11, 26], + [11, 27], + [12, 26], + [13, 27], + [13, 29], + [15, 29], + [15, 31], + [16, 32], + [17, 31], + [17, 32] + ], + "Spider": [ + [20, 23], + [20, 31], + [21, 17], + [21, 18], + [21, 20], + [21, 22], + [21, 24], + [21, 25], + [21, 29], + [21, 30], + [21, 32], + [21, 34], + [21, 36], + [21, 37], + [22, 14], + [22, 15], + [22, 16], + [22, 18], + [22, 20], + [22, 21], + [22, 22], + [22, 32], + [22, 33], + [22, 34], + [22, 36], + [22, 38], + [22, 39], + [22, 40], + [23, 14], + [23, 18], + [23, 20], + [23, 26], + [23, 28], + [23, 34], + [23, 36], + [23, 40], + [24, 18], + [24, 19], + [24, 26], + [24, 28], + [24, 35], + [24, 36], + [25, 15], + [25, 16], + [25, 26], + [25, 28], + [25, 38], + [25, 39], + [26, 15], + [26, 16], + [26, 18], + [26, 19], + [26, 35], + [26, 36], + [26, 38], + [26, 39], + [27, 19], + [27, 35] + ], + "B29": [ + [8, 26], + [8, 27], + [9, 25], + [9, 26], + [10, 27], + [11, 29], + [11, 30], + [12, 28], + [14, 27], + [14, 30], + [15, 24], + [15, 25], + [15, 27], + [16, 23], + [16, 24], + [16, 29], + [17, 25], + [17, 27], + [17, 30], + [18, 30], + [19, 27], + [19, 30], + [20, 28], + [20, 30], + [21, 28], + [21, 30], + [22, 29], + [22, 30], + [23, 29] + ] +} \ No newline at end of file diff --git a/Games/Life_Mossaic/data/themes.json b/Games/Life_Mossaic/data/themes.json new file mode 100644 index 0000000000..cbbc9276a1 --- /dev/null +++ b/Games/Life_Mossaic/data/themes.json @@ -0,0 +1,98 @@ +{ + "blue": { + "--primary-color": "#0f045a", + "--theme-color1": "#7582b2", + "--theme-color2": "#036c96", + "--theme-color3": "#ebf2ff", + "--shadow-color1": "#352a7e", + "--shadow-color2": "#101536", + "--border-color1": "#080126", + "--background-col": "#c6cede", + "ALIVE_COLOR": "#00246B", + "DEAD_COLOR": "#CADCFC" + }, + "green": { + "--primary-color": "#045a1e", + "--theme-color1": "#75B289", + "--theme-color2": "#03962f", + "--theme-color3": "#EBFFEF", + "--shadow-color1": "#2A7E4D", + "--shadow-color2": "#10361C", + "--border-color1": "#01260B", + "--background-col": "#C6DECC", + "ALIVE_COLOR": "#006b2b", + "DEAD_COLOR": "#cafcdd" + }, + "red": { + "--primary-color": "#5a0404", + "--theme-color1": "#B27575", + "--theme-color2": "#960320", + "--theme-color3": "#FFEBEB", + "--shadow-color1": "#7E2A37", + "--shadow-color2": "#361015", + "--border-color1": "#260106", + "--background-col": "#DEC6C6", + "ALIVE_COLOR": "#6b0000", + "DEAD_COLOR": "#fccaca" + }, + "purple": { + "--primary-color": "#5a045a", + "--theme-color1": "#B275B2", + "--theme-color2": "#960396", + "--theme-color3": "#FFEBFF", + "--shadow-color1": "#7E2A7E", + "--shadow-color2": "#361036", + "--border-color1": "#260126", + "--background-col": "#DEC6DE", + "ALIVE_COLOR": "#6b006b", + "DEAD_COLOR": "#fcafcf" + }, + "darkCyan": { + "--primary-color": "#045a5a", + "--theme-color1": "#75B2B2", + "--theme-color2": "#039696", + "--theme-color3": "#EBFFFF", + "--shadow-color1": "#2A7E7E", + "--shadow-color2": "#103636", + "--border-color1": "#012626", + "--background-col": "#C6DEDE", + "ALIVE_COLOR": "#006b6b", + "DEAD_COLOR": "#cafcfc" + }, + "neon": { + "--primary-color": "#d0ff00", + "--theme-color1": "#00cc26", + "--theme-color2": "#00b81b", + "--theme-color3": "#004640", + "--shadow-color1": "#fc0101", + "--shadow-color2": "#000000", + "--border-color1": "#002628", + "--background-col": "#000525", + "ALIVE_COLOR": "#9800f5", + "DEAD_COLOR": "#80ffff" + }, + "black": { + "--primary-color": "#505050", + "--theme-color1": "#FFFFFF", + "--theme-color2": "#808080", + "--theme-color3": "#FFFFFF", + "--shadow-color1": "#808080", + "--shadow-color2": "#000000", + "--border-color1": "#000000", + "--background-col": "#FFFFFF", + "ALIVE_COLOR": "#000000", + "DEAD_COLOR": "#FFFFFF" + },"cyberpunk": { + "--primary-color": "#FCE4EC", + "--theme-color1": "#EC407A", + "--theme-color2": "#D81B60", + "--theme-color3": "#AD1457", + "--shadow-color1": "#FF0056", + "--shadow-color2": "#C2185B", + "--border-color1": "#880E4F", + "--background-col": "#FFF0F5", + "ALIVE_COLOR": "#EC407A", + "DEAD_COLOR": "#FCE4EC" +} + +} diff --git a/Games/Life_Mossaic/desktop.ini b/Games/Life_Mossaic/desktop.ini new file mode 100644 index 0000000000..814cb7d07f --- /dev/null +++ b/Games/Life_Mossaic/desktop.ini @@ -0,0 +1,2 @@ +[LocalizedFileNames] +registerpage-favicon.png=@registerpage-favicon,0 diff --git a/Games/Life_Mossaic/gamerules.css b/Games/Life_Mossaic/gamerules.css new file mode 100644 index 0000000000..6053be2dd2 --- /dev/null +++ b/Games/Life_Mossaic/gamerules.css @@ -0,0 +1,169 @@ +:root { + --primary-color: #0f045a; + --theme-color1: #7582b2; + --theme-color2: #036c96; + --theme-color3: #ebf2ff; + --shadow-color1: #352a7e; + --shadow-color2: #101536; + --border-color1: #080126; + --background-col: #c6cede; + --container-bg-color: #b0b8c4; + --scrollbar-color: #555555; +} + +.container { + max-width: 1200px; + width: 100%; + background-color: var(--container-bg-color); + color: var(--primary-color); + padding: 30px; + border-radius: 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); +} + +* { + box-sizing: border-box; + margin: 0; + padding: 0; + font-family: "Roboto", sans-serif; +} + +body { + background-color: var(--background-col); + color: #333; + line-height: 1.6; + display: flex; + justify-content: center; + align-items: center; + min-height: 100vh; + padding: 20px; + position: relative; +} +h1 { + text-align: center; + font-size: 3rem; + color: var(--primary-color); + margin-bottom: 20px; + font-family: "Montserrat", sans-serif; +} + +h2, h3 { + color: var(--primary-color); + margin-top: 30px; + margin-bottom: 15px; + font-family: "Montserrat", sans-serif; +} + +h2 { + font-size: 2.5rem; + text-decoration: underline; +} + +h3 { + font-size: 2rem; + text-decoration: underline; +} + +p, ol { + font-size: 1.2rem; + color: #555; + margin-bottom: 1.5rem; + line-height: 1.8; +} + +ol { + padding-left: 20px; +} + +.center { + display: block; + margin: 20px auto; + max-width: 100%; + height: auto; + border-radius: 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); +} + +table { + width: 100%; + margin: 30px auto; + border-collapse: collapse; + font-size: 1.2rem; + border-radius: 10px; + overflow: hidden; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + background-color: #fff; +} + +table, th, td { + border: none; +} + +th, td { + padding: 15px; + text-align: center; +} + +th { + background-color: var(--primary-color); + color: #fff; + font-size: 1.4rem; + text-transform: uppercase; + letter-spacing: 0.1em; +} + +td { + background-color: var(--theme-color3); +} + +td img { + width: 30px; + height: auto; + transition: transform 0.3s, box-shadow 0.3s; +} + +td img:hover { + transform: scale(1.2); + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); +} + +.footer { + text-align: center; + font-size: 2rem; + color: var(--primary-color); + margin-top: 40px; + padding-top: 20px; + border-top: 2px solid var(--primary-color); +} + +hr { + border: 0; + height: 2px; + background: linear-gradient(to right, var(--primary-color), var(--theme-color3), var(--primary-color)); + margin: 30px 0; +} + .back-button { + position: fixed; + bottom: 90%; + left: 4%; + transform: translateX(-50%); + text-align: center; +} + +.home-icon { + width: 50px; + height: 50px; +} +.homeButton{ + text-align: center; +} +.back-to-home { + display: block; + margin: 20px auto; + padding: 10px 20px; + background-color: #4a3286; + color: white; + text-decoration: none; + border-radius: 5px; + font-size: 18px; +} diff --git a/Games/Life_Mossaic/gamerules.html b/Games/Life_Mossaic/gamerules.html new file mode 100644 index 0000000000..36a495e836 --- /dev/null +++ b/Games/Life_Mossaic/gamerules.html @@ -0,0 +1,173 @@ + + + + + + + Game Rules + + + +
+ + Back to Home + +
+ +
+ +

How To Play?

+
+

Life's Mosaic

+

+ Life's Mosaic, or simply "Life," is a cellular automaton devised + by British mathematician John Horton Conway in 1970. It is a zero-player + game, meaning its evolution is determined by its initial state, + requiring no further input. Players interact with the game by creating + an initial configuration and observing how it evolves. The game is + Turing complete and can simulate a universal constructor or any other + Turing machine. +

+
+

The Universe

+

+ The universe of the Game of Life is an infinite, two-dimensional + orthogonal grid of square cells, Each cell is in one of two possible + states, ALIVE or DEAD. Every cell interacts with its eight neighbors, + which are the cells that are horizontally, vertically, or diagonally + adjacent. +

+
+

Rules

+
    +
  1. + Any live cell with fewer than two live neighbors dies, as if by + underpopulation. +
  2. +
  3. + Any live cell with two or three live neighbors lives on to the next + generation. +
  4. +
  5. + Any live cell with more than three live neighbors dies, as if by + overpopulation. +
  6. +
  7. + Any dead cell with exactly three live neighbors becomes a live cell, + as if by reproduction. +
  8. +
+

+ The first generation is created by applying the above rules + simultaneously to every cell in the seed, alive or dead; births and + deaths occur simultaneously, and the discrete moment at which this + happens is sometimes called a tick. Each generation is a pure function + of the preceding one. +

+

The Game

+ Game Grid + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Button Functions +
ButtonWhat they do
Pause ButtonStarts the animation after you've set the initial pattern
Play ButtonPauses the animation
+ Fast Forward Button + Increases the speed of the animation
+ Slow Down Button + Decreases the speed of the animation
Clear + Clears the grid on click, only if the game is not animating at that + moment +
RandomRandomly initializes the grid with initial randomness as 20%
+
+

The Presets

+
+

Glider

+

+ The glider is the smallest, most common, and first-discovered + spaceship in Game of Life. It travels diagonally across the grid. + Gliders are important because they are easily produced (by glider guns + and rakes), can be collided with each other to form more complicated + patterns, and can be used to transmit information over long distances. +

+ Small Glider +
+
+

Big Glider

+

+ The big glider was found by Dean Hickerson in December 1989 and was + the first known diagonal spaceship other than the glider. Two gliders + can be temporarily seen at the front of the ship; these do not stay + gliders but still move like them. +

+ Big Glider +
+
+

Gosper Glider Gun

+

+ The Gosper glider gun is the first known gun, and indeed the first + known finite pattern with unbounded growth, found by Bill Gosper in + November 1970. It consists of two queen bee shuttles stabilized by two + blocks. +

+ Gosper Glider Gun +
+
+

Summary

+

+ Life's Mosaic Life is a fascinating exploration of life, death, and + the rules that govern them. Despite its simplicity, it can lead to + complex and beautiful patterns.Life's Mosaic offers a unique way to + explore the unpredictable beauty of life itself. +

+ + +
+ + \ No newline at end of file diff --git a/Games/Life_Mossaic/history.html b/Games/Life_Mossaic/history.html new file mode 100644 index 0000000000..b17fe68386 --- /dev/null +++ b/Games/Life_Mossaic/history.html @@ -0,0 +1,67 @@ + + + + + + + History of Life's Mosaic + + + +
+ + Back to Home + +
+ +
+ +

History of Life's Mosaic

+
+ +

Inception (1960s)

+

+ John Horton Conway, while at the University of Cambridge, was inspired by the work of John von Neumann, who sought to create a self-replicating machine. Conway aimed to find a simpler system that could emulate complex behavior and universality, leading to the creation of Life. +

+ +

Publication (1970)

+

+ Conway introduced the Game of Life in the October 1970 issue of "Scientific American," within Martin Gardner's "Mathematical Games" column. The simplicity of the game's rules and the complexity of its emergent behaviors quickly captivated mathematicians, computer scientists, and hobbyists. +

+ +

Initial Patterns

+

+ Early enthusiasts discovered a variety of fascinating patterns, including still lifes, oscillators, and spaceships. The "Glider" and the "Gosper Glider Gun" were among the first significant patterns identified, demonstrating movement and continuous growth within the system. +

+ +

Computational Significance

+

+ It was proven that the Game of Life is Turing complete, meaning it can simulate any Turing machine. This property underlines the game's potential to model complex systems and processes, despite its deceptively simple rules. +

+ +

Cultural Impact

+

+ The Game of Life gained widespread popularity in the 1970s and 1980s, particularly among early computer enthusiasts and within academic circles. It has been implemented in numerous programming languages and platforms, serving as a popular demonstration of cellular automata and emergent behavior. +

+ +

Modern Developments

+

+ The advent of more powerful computers has allowed for the exploration of larger and more complex patterns. Communities such as the "ConwayLife.com" forum continue to discover and share new patterns, contributing to the game's ongoing evolution. +

+ +
+

Summary

+

+ Conway's Game of Life, or Life's Mosaic, remains a profound example of how simple rules can give rise to rich and unexpected behaviors, influencing fields ranging from mathematics to computer science and artificial life research. +

+ + + + + +
+ + + diff --git a/Games/Life_Mossaic/images/Big-Glider.png b/Games/Life_Mossaic/images/Big-Glider.png new file mode 100644 index 0000000000000000000000000000000000000000..bbc4d29f6d9f8171299e8dd459c9622ca0fa40ba GIT binary patch literal 2204 zcmb_eTTEJK9RFCm)w_kmC>=zSjd^2c!l2}O{SZ8vD z>3vUcJE29LDI>xmEyql2+jsmty5X|!2m68wbs92aR;2iQnyn=N;pJg{sJ~7XOV;qJb`0z2Zxhj%n@Wdg(Y3W}C() z{lPwtjmw;Kj5db5%~{*}4923M?uJXNAv`lbNF(&H=7f?Bt3_PXWl%IXw`65A4A&60 zk#@_eD$R+^auevhGjI~Om&C5y0{1V4A~h0<8!&*WE51S-=h482j5&wynmm8BGSq-+ z(aoYoh55k>DJo3QwpU+w`67!!MKB9ZWn{qV`u2GpD_Z^gI7>=2LxP@YrL2w4tueU) z)m&@1B78SG{Nw7HukG|w?Wit^jX;TLcu0}2S+N9$G;|dW=WJ89_}|Mc=KWCMDBvB# z9oZE>{k>n?y;8s72?trcwyA0JvWMCtZ$My?PuLG5c6C3>^o1;$Pb`00X+Oko(VBP< z=Vg0xZ{h$HX^O-kk*SmD(2a>nvU?UPZ8f<6sp=x>HBHgc0hR#2LL49ZnbL1{YChqZ zx-j=FW<@VwFm(DyW<6(#D?AteK#CT+9w2WSD1A0$3&Hi0A&PWI&)+zJ(fO^el8eCA z*E>gy&Sj@vQ)e2Qh*!0L9IYI_YI=AOPT~l+}p}ue2j#6W==Q` zSoByD3am(@E#w(co7*xXT9J}whcI1@=V%hdHJ;Ufn|ba&POmpbA2nmrWU6V=xr!FF z2@`OvH(8Ny$z+s^ull2Qd|ft?=_4=Ll&iJ?mden?LF_11(YIwuqZ15{VV=IETt5t( qGU0S1by6g22rqBTZTw)sLu7RJf3ffrAG=8aP*QlhKz{t + + + diff --git a/Games/Life_Mossaic/images/Fast-Forward-Button.svg b/Games/Life_Mossaic/images/Fast-Forward-Button.svg new file mode 100644 index 0000000000..ce809ca803 --- /dev/null +++ b/Games/Life_Mossaic/images/Fast-Forward-Button.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Games/Life_Mossaic/images/Fast-Reverse-Button-Dark.svg b/Games/Life_Mossaic/images/Fast-Reverse-Button-Dark.svg new file mode 100644 index 0000000000..b08641f719 --- /dev/null +++ b/Games/Life_Mossaic/images/Fast-Reverse-Button-Dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Games/Life_Mossaic/images/Fast-Reverse-Button.svg b/Games/Life_Mossaic/images/Fast-Reverse-Button.svg new file mode 100644 index 0000000000..512d091e9f --- /dev/null +++ b/Games/Life_Mossaic/images/Fast-Reverse-Button.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Games/Life_Mossaic/images/Game-Grid.png b/Games/Life_Mossaic/images/Game-Grid.png new file mode 100644 index 0000000000000000000000000000000000000000..12f4e44a55617dcdc8356ddd840be36a998dde63 GIT binary patch literal 26829 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 literal 0 HcmV?d00001 diff --git a/Games/Life_Mossaic/images/Gosper-Glider-Gun.png b/Games/Life_Mossaic/images/Gosper-Glider-Gun.png new file mode 100644 index 0000000000000000000000000000000000000000..ac5d4d3d25e7ff0b5abfed481f77702ea22fadd9 GIT binary patch literal 1904 zcmeAS@N?(olHy`uVBq!ia0y~yV7d)tU*%u}l5J0IJ_0Gm;vjb?hIQv;UIIBR>5jgR z3=A9lx&I`x0{NT;9+AZi3_>L!%y=(NzJh^)oz>IDF{C2y?G3|qudGDcE=~?lmE+)I zb3DG{r34Fal3YpUCealeAH{FVyOz}xlyk7H`klJ}=aQ&@3=9qL{zdyUFf7>o{_MBE zKUeT?+a+`U>l?%KYs$*5rCo_^ox648|FUoQ&w=>I{@w1~S8onX>o-L_}6-mLLW`kzNl z7lEB_boO#)WIQtigY3?mKtE2v7edvy|Nkyn`&{hv>#*~-d)80f@4dM$Jv~?Gcll;Y zLIzt9PRN|+clwtU1H+3GXF*|IlfUi#dH324SD#j_OYg5t+q!wP+2V6rLhs+!?zmRm z{j+p+`uWJ}oB!p~zW#_6ss1tdZDLqrdhWMv|LcGLU%IHqZ=fRdk@0(&3!lq$d%q<~}#{%OAV% zUt+)g`+NI;zT4c;8IFXpIu)&@7w>`^EP+QyTAPX zrn_=>&(p8%|0Ava?Mv*f|L?zT8L+|zYuda8Dua5gR&UsB_U(S&mjMd9z;w~h@84iW z;O6IR_P)8l<~}e`ff9qIj0Tt4$^YNF-QPc(q^bZdE#a + + + + diff --git a/Games/Life_Mossaic/images/Pause-Button.svg b/Games/Life_Mossaic/images/Pause-Button.svg new file mode 100644 index 0000000000..862d385177 --- /dev/null +++ b/Games/Life_Mossaic/images/Pause-Button.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Games/Life_Mossaic/images/Play-Button-Dark.svg b/Games/Life_Mossaic/images/Play-Button-Dark.svg new file mode 100644 index 0000000000..c8ad86ef52 --- /dev/null +++ b/Games/Life_Mossaic/images/Play-Button-Dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Games/Life_Mossaic/images/Play-Button.svg b/Games/Life_Mossaic/images/Play-Button.svg new file mode 100644 index 0000000000..7d39144068 --- /dev/null +++ b/Games/Life_Mossaic/images/Play-Button.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Games/Life_Mossaic/images/Small-Glider.png b/Games/Life_Mossaic/images/Small-Glider.png new file mode 100644 index 0000000000000000000000000000000000000000..32ddd31a119da19f20baa143c7fd08005f58258e GIT binary patch literal 1783 zcmb`I`#02i7{{lqY)Kb%TqaS3h$*?Osa**p#=W8BGFb*`kZY)+Wh-*2kr`pfkVfXR zBjYy1M6NN`$aNYqxfkOSnh3*ww;y)@fOXFM`8?-2=XuWOe4g_@uTP4TgSE^ajvdknTM8%(5 zA3a?<7E3(39zSw-VLfg+?}IqQWI>Ls2vvXoZAFi#+L{Iy4swx?ap|#eg<3i53=W4& zV@1(NC$78m72RE@=~13o9HDKNPc1LIg1}eR)Yf>h4fS=wB-A9G+Pj&pjkB!{tZ;HO zp4XUXjy1F}7;jqET`Xw^1@gI8R{AeON(a=AzkRhXbxHCD@RK28r-7Ud^Pgr>p3x8pUgUg=H!| z)sbS>DUu0Uo~iUfJjhVR%GFneyqmb{!Ig9lj$iPq{BhQ0%Ek*aSQNjI^ zf{g8uKC^IRm6pS(SZ*pCAC;NR>~Z0Xgja7{$5?#Jv64pdfY*H;b~<80hDHC};ok)2 z40I{S2DNg~2DmIekHr|WaDF}$mmX$hG=Jv?l{VXK%kg^O0%tIs-Q1?eTBP;5jl>cf5l4pPi|jGesgxIS8Go!Es*Tfx=oHtD{02ifS^sY- zcxz(5Ri-m0Kk!?N*&WY4qT|)H;)8ETMF>zmi*n-q9n3)i_Et_s_0n$BMcp_t4`_;7 z{@9*k#zz}7?KmeT)g^-PjhQ4c;4eFTm2%!yPakJ24V^|;o`mhIR`QChzLc)Fq;)pw znPf=om-g@ek{zx_UDv|dvI1>b@Z(U_o7OC)a!Ue#h8_XfX}jtv<6BJOkIK}-^b3-tCYnp5Ixhe2EXv6Jy08_hGto>;Y?is)*DVig=~Ea< zP}`Or6>*;T`V(&tFD$ICZd@K1i6~tctEdw1tgOcdCaj%;H?-Z&CA~!R!Tc-EfFq!x zQ8kPu19$$#0ChUGV^c~+@8nH#B+Sj&fczY6j4q+g?q!p7sA5xjX|kC(1nHdWzmZfj z2=R_qRfTG6#bZ`Cqj`hj`pG)LoFLN*;7X{Yc-pM6w jAD=!_?+JJJuz6L^jl#Niu|5^}tUxwa4wm!_*Ao8*Xc&VJ literal 0 HcmV?d00001 diff --git a/Games/Life_Mossaic/images/desktop.ini b/Games/Life_Mossaic/images/desktop.ini new file mode 100644 index 0000000000..814cb7d07f --- /dev/null +++ b/Games/Life_Mossaic/images/desktop.ini @@ -0,0 +1,2 @@ +[LocalizedFileNames] +registerpage-favicon.png=@registerpage-favicon,0 diff --git a/Games/Life_Mossaic/images/glider-icon.png b/Games/Life_Mossaic/images/glider-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..945b359dd91f30b8ded3226045f9faeeaf59d830 GIT binary patch literal 24322 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 literal 0 HcmV?d00001 diff --git a/Games/Life_Mossaic/images/home.png b/Games/Life_Mossaic/images/home.png new file mode 100644 index 0000000000000000000000000000000000000000..e4bb3f9a780ced471ed46e6f9bdc8ee29d266c63 GIT binary patch literal 16953 zcmbWfc|27A7e9U_l**E~D3wxpXO|@FXirnTi>SmXMG|A5tXHeO@up0Rr9zUB$j(>> zNhpMDQ!|zj(^!YO?)|;4KJVY}`^WG1&#%WMWA1(3^E&5wp67Yay^8q9{OCH-O`;G4 ztus4z=rjba0N<{FRtbZDW^QyWf`3+eA27381^xuBx*QJPul6{0&KrWn82Dd-hpJ+7 z;D;N14xjb0Bs=*~E_z*oC=`l@i@U40<3*1v8e}i$r;|pTAZQz8c4)uVjl_w5|IiCp zk~mna_iMw|L|N%r->SQ&(7D5$wGOK^wq5+vh(+PpO43ff+E6 zOW0#K(vhifCUd^XqN`m|09g9}|IcTIzC%m_sG0k_ah#dfSix`NFAWvYZ5EIC>(%Km zMbMPYo*29xSJHIzHqT8PApaXjEAN6ghz6KUs2gF)oULfvA(R4L6%&T4iYF<4Me~!{ zwdH+f<$c=bXp+5wsh8#W1V;z`%KxaDxUrnsIpMB;l-I>nDmpxsl{B-|QO0R5=7hgD&-rpv zaMfBt$iZ~pu&g(5-b?<(P>V;Knpq%C&l*wPn!@Yyh@&h%B+gb?HGWK*|G6aKEE4)# z8-fG^e@34XkuEp1FwyTK2Cn_K{SHsOVn#d;g=sIlT8cSI5(3JEOmy<6#Z0S|bQagwJ|+Sp-~}?xgB3(Es%@9reoM z${W4hIqE+$`*3cqIjKQ|;OET_6ml@qf*`3k{F%uufx%N|93;KPHTR>N`g-g*ea_sb zveWjLQSgvJ#Ol<*v$#^xR9Zt%HIQJRGw3OOI@G^M+mC_!d5n}Y#*MhRJ1QW zWbQUQ7omjalxN%6+hBRQ95OEt(h31Pe6Sq|f-K2rW?dfkMET&SCqeqX1jl5rdb$1H{ot*jY;yQ0; zg}f{u7*7{|9&LiY?^?9J1q${!p)rn^6DKQexS!ebAR{$9+tC?9!6(-9MNxC8c=XcQDMKeN-9VrFnw0ewii zuZ^Z-a7(5Ze@Ru0EqE_$AF5OHOGlJ5$2V|uOO}FIgttusUUf(16D#J}8^cy= ztwYuqf+4SBwJZZ-o($KU!f;R{28zLlXDLBvy+J+X_& z0y$CWvyp2v%_bCA7@9?S4^X7kfgtSDd&F6J?aO>Pzgo|8Snqynq=cU>b zi=b`nVW^`Tg06?Pt*3V^$RF?V{_Q1+abw^{_kj#1?9swjlU`XUMOXnHdF2;DTFvb` zR0sbqT`GHXopVy=ot1>_Mq$Wdra=Up~XeflJ#- zF@2IoHStgaAE|*Y-aAFc7qbcF<{B4rf)0a=+^dD4jz2%9-Q>}H=cS{(&97u`(^@GA z{lm^X=jxQ!!h9Y{S)fV4=OW=zI-EM)h{V(6>oY`GNCW>1*bf*7^o-R_O&&L!I9L?L zlZ%4yUQ$u_pNXxdcYpcOR)180RRuv;d5R&53{nD{G%%e0(6TVkN+K4V4jdpICze^1 z#LH4-kp_NVu+W~(x3CN0NySh_3-%@mC|r{!BH?s}aQaSvLiYEWZb4_0>eKrV#ppoc zr&E{L%$C6-HAM<3?#I`tNgsM33rQp$AtJ}a>6gM`Gs^j^Prb*A#4l!Udr?D$BpwE& zuxz4usxNuOHf^)K?xiXtlQR;YKh{DoV&5~!9t26Om__pMe?bXpd_4-*+bj!xp4w`_ zex5l|w@Z(IF#-2^-Da#h%fHBLTr7AE#?J5Pjjx-3k@FIqIDK*yeXa= zX_q=TzHi8J%_gqASO4EEQboU6Qm*tlmGI75C^X^pd6x3%Sr&PC4@;phn`9w}WEzE<^lo_i_zX2p zlmUO3GimfCF4}PVYK2DNe*@+NC*Cz3F>A}polMwA5ByR_m~D|CFE@|%iB8+g%8lIL zXmZ zfRv04vH~jy4TcKh4@`V0CN$&B*_>cT^3t=}{q{>P8 zhrBfwSmzI>d+`p5ZNku_cOjFDX1NuWLvYi0T+jfcQ-w>R{$;nAH{b8;W64ZMQ>kyh zG0O)1%-|!4Ds?>PTi>`z!|DBJL7CCnYT`Cwa<>4EkO$#0ADO&s7A3YNgXh!y>zeB1 zT)kqPhBA7F<|||6kh$%X1E71HCTg?r<2A91QSllkKPGpO-Giu4*wrQD!-gEgibZ&> zrG*+dx4ZC5U^6B`6uJlrLbry8`cw0*HT^d6{vxnQi`d9|T1#>s3$J*o!vPL+rK1su zotHtepY0v4=B@yjMtCz%44@r2+4Sx46qYjK_pT5I{2g05o>F>Oc|fW@U=tvYv{5gSXhuhUw?Z42{mEp#G~ziUM^AL_4W9{T7msOiU(<;M>b(?Lx*#H8rdRm ztt6zv1R$wPAJ)_3y4f5b`n-YR1H};klKJR$mKi6$1>_4Sh}LhxR8)g)HHkvn+hrlG z$$M&C)d)lMaLSz$hNfnE`mIdMx{WEX*rZZ->NKEt?MZM{jx_*_X7&Y^&3X!=_wg zn`L}-$(bGa<-B!^U71B0F@d<~ZFZ`GK71{y!uG66IJX)KeHq9rc+W3LuQLoD0-FhE zYi4@S`vv~boo?e#DRv4OO%d?J$$}53_wSJxgr1DyW#bqsM&jtz)@_10g~bdMI12gh zI6fShTb+JO`cf2JR~R!Df*u7|QMv?~THf$4y4E>X7gyGn)xx<))kWL9&7QO*dy-t$ zxJ^xh)14>hGbg7uT~GmtBpUuzL8KXR_X1AUmxW@>+SU_B`V;Fl+hX23Ae{MY75{l! z`Q$gh{KR1ita_=u{UZa^93Y)cb4o2Z$;o1B+#TqZI;-=$r$2Psv1l@yoXYtxzDxAY z*B)6&NAE&!_u5%(H*`?R2KdRb1{k4Hojc#_z=7?T&^DhmVUzRDlQ{l1n{ zcDC_o8vVZ#HP8=wU{^s}ki)0rL?oy}JY-kIZq!o)?BipJ>-?_2gaKBzVjorgHWY=Y z-;&i4hN8_}B2t8x*KO%nuxHU|Igjn!p3e9AM$k4PXm~gvsmgJ`i6=UIr3BGSGXMwI z(iKBC?K??C6#a`110VHM2!-yIY1>m&WStSdo}o*sw>x^&-T02Y=0z)6=xx6WjpyP3 zD2BGvc;qarYme$k_S57W4+&?qhIuxB2V^LYGrd+3h4T8r!FJ%_hZ;N3INGG<%!Un> zBV}Rq4qk%xhWU`7+K!rGH$9?mio&@aaXeaj+eg2mnDkrS8fzihypM_@=}qDE$hd@0 z4iU^^?$ji@V4>kxIb|uNTBQ1#XS2Diq3rV9V>M~UDs9N&(EqNZ#(jEhzS)*?K*8p{ zl@^OfyKem=YGk11^#02rUI*Xf)to>?4!rf6>-MfNEdcv1|??=U6gv%O0HT3yvTnpVMzeYNA6E1HLjnAT&R;p=UWgKsuaiNKp*g zZ(HKfALMT{n|bR?J^VW=#>*WA_8r=?7J7A>9KrlvXmBY4T>QjYeKJV&Ne%xk*R{c7 z{tVb7>;;W9wTCEl>b3xMMLdc7xnpi%m!6@XPsEu|T<3@sb=+T8Md|Y!%<`LL>gBLV z_Ts~MBaq7B0#IDqWPE8xhER5_cUXse)IL;=tMjp`j6X~$={6%JSlZ4Op4Vp3%Sjfj zEkvR1pnZt54)*wJ#OYh-<(|>wCfNX|4sJ;FX#E#!<8?~B;}2&W?r;2ly802DbTOYs z=Q*lLM{gB0Wqc$eX-z}-Or%*cU?1ljKi+kn=hoGD5q@Xhy8R*=uJa9ct~p)(N*g*f z_M^RXvc1!$+_FWUh-4M!GjfG|LEQ?x!tAH*Bb`@~4MdtsqaudY95Nk%(o&e|exs{1 z*p4cOFz5wNPZUEWi=C@W7tGE4GaUxGniECZC-=Z;46tOKpy?rC$#MF@BpwYctf_z_ za58={$LG7HP?(e%LX5NzY1HB8S!pS)h5r3plN-NC<4M8`Xz*E<%=17(<;B;`PC#*Q z4_xMIlD!9V`+gOv8&T75opOM}P5mQCqd@i0jflvLk)i%zXXBFYrr>ipWw;`$Gk;m? z@zoMU3yp+BH`v&-Y!+u#|ksB*0@k+LCOm*N#u}JWGP4!K>?`!4SVyf-k#Bh3Z8{o*p^uYlDOs^C>&+%o+6Ssq-NNx1NeGTujZX-2f~g(VY+Bqd7`k+(^c z2Koi@oRM$!_OKRI5E|BU0Zo-y^Do!t=|W1RQR4o|SPE$4ohU>;*9A3A+V=a@VWil6yg~9q1oGD=?Yf(wLj3 zCcP(Ipz0A|_;om63(^98C-**947r+v`xfpdQx)UnORcnOcs9S<)LT#Qca??K0`=Tp zwVuGzG;@!dF69}|=P|_DBRSrkn!oLD6NPr%hwDP*qNb)>N^Yj#vIg7zr-Wf4h_@L# zNA*GAE?(;Mos$yD&^Y(}qRAPpcL1-_Lj{A*f%#USR|tnzozdW`f(B91zn>EcT*EkD z_{^EM%dOYlx;X=v0Uw)e=G+`J9e&C}E38Wxxu8XKj*zcm4fRLfwa`qMCM9%i2u4I^ z_cffZj@5=%zV-sx-OXxUPq;JQlAmHytvI?RZthi&gfpV3@9&aN^x=LZo>P%k0N3sS z*WM1O;vmmj?M4u@AbZ06;j)y7bS!Pzr8x_-M{6x4kO_EjeIOu05hAXf+=7U+r>l$E zq)xlPU#dy3T_tF`4euTqTi^sF5TEN00lraoYZP7hm<}kDp7!^GBEdQH`yEFx-x>8C_5z3U=W;agdDGGW5Hx+`wO6 z4UpFTd$wTXWU%qD8*lbu++cp>1PHmvArO_ABtsMgoE;(Hkod+JX!HtSU@c=4uy*?q zyDfHZ*lf*K;^2628fCW9lR`{A5y_-jEW>If7*N06#;E z@lMFNtl;E;U;dyI@k;~zJF+FWW3X{eD_?~u^z^2{v(=l_frQio@DSYedusB&g;7O! zVDP!qw*5($BH@M7oQCwn38H%i1Wj9(OUX#zy2{C1?3c_%94XPCi&_I0SB{JUw%(0i zc^b?zS&GP&zu|hj_M)LSG?<1DNIDuVX@7qiT9@+sA?c7LaGgM}>$e3e$M#rn7RVJA z&&GYM&mR!zbPW`HTUY*UKIQx|&VzPO2K-xe7ZC|PH9q$98h>Imn)E{1`CyQ+f=ue2kzRSa$ z!Qp%>kL$9~5dfdB%DMJx8LC4a=7`;>7dT13Yzc7|HxFitHa-M;Ycm%2A~6ABHG^QP z3x}S%@iRK?rTMqLLrP}eS@2#xs}o#G8zq?Z<2pEZ!4^;G%g33`aZXZLq+JqeR0&{l zk1SMZId9hA{_yJEw1eUB0vzde-V4;5(3ewFlf5Z7obm?w%i6BG%c0BiSY&={*}e2z zy|)D%4Bsq%f9-EBn8G@W5V3r1Pxoq15TyEMw-JJ|&cE(9&8MsPfzb%XTOmQzU0gU+ z5|lsh<-6qmLyPFKXG$=20Qd;>1S2;tzQdm#49{|rzBR*V_H9& zSv>q_KItlWHG!i(_84g!u2d~AxbdNW6-dPXwBC}M#Od5%Iiir919bISIm4odxSmUi zdvM)Tqhjy|a6mP$Q%G*Z4Ne#!<3uhcJs9RlHPe4zOAr-P2J=D*1x-$=#Uy&-$xFgt z+}wRH0|ypnj2ZH)nr_Lxgqt!NJ>!yhphH-1fBIteI+{`Y4;|73i$OXb^Llw;V}4&T z#PoZD`q;NRx6v~Fhfd;j8?a7)2q`d-udgQkrXKp|`89l0H6NF=4}Fzd3D|sFko|yq z+4s?=o%7;xqF-%Oqv26;W0PGil|V#aSqljQi%ia#GZPAk3pF3uoFsd-;>#vP1PXLF z#6}-`J;aG0d)9T~g||lWVpZ9u{_AQlY~S>LrnqBLv6?1_-t1eVRvOk+UrjwpDju$NhE%h7lCWAOPaUTlH35=Oa60r3OU zappNa5)`DU_z(ca`Oj`L*Ux@WGEkg2TdKz5i3d%D^i?`?Yg39ZExtTL$vksdA2M33 zJW5e7kf~H2?LQ;Ox{tM5ef~Ay7d*p`$rY%2-K!BWyo$3VYDT6SqtadeJJrpTXGh29 zsP1sZ23E$3tf{Lx6&HAiM~oZbx7E*) z8BA;8NH(MMVng}L!daH&Y1R)g^y{MUnb_fE;0sVX;Q4g zeBQXG|0G#Q?92M|As^2H98d!|^wf`7=RP+5oOw!6YsFDmhpn+9ydzu2IRBriE@IDq z&`C&l%?^yGrc^rhOhwl|?ramRO3mMD{5E!jbp(mSKfvlwWLs~2uY#Z0cT&dK`_TT7 zyOe;y*@UYs($x9$zd4n>ED@6=&$IdG=Z-?ulo_7+-2#sy1u7i~-YsT`Kr}-+Ve8C| z-n5!8UOBA!p`$Wzqss^wa)(T}HBdh8D>$ca2+b%}kk0g_jM>bzU{v;`;i8X8jZD?t zzVR`a+~mOio8E~tgq=2T`ZfS%J;3cLOsY)uypex?>L`?DetuSfRxDz*$cfTKHD9)9 zKJw%k%6}*hgg$>(PYDWm`Jhk3g$h(y&*Z~WOG0q70JF7tm-l&hh({I28ss8vBQ1{g z*qrtOr1`{cbqY&l8$mCTnNNPMZl^KYy0h*tERK{#X)`=O(Ir&WM}@!%HY#mAVk!D? zAhTgT4EdLSuXmvbWg9;pO{AODfMM)F$Y~DYN?)43y00)^Y8%pA7GI_9e8(gI+ojl$ zJ7|eOd%8}h^u4Xp_dV|3aEwKYD?P9{lCt=5KlMsq`9^hb;VKGm=gD?gX%a&67--&x zLiM%EIVq@mN~xpesB`UPM*x>bIo`IXq%gI%=!Bl_FyV4DJy-u|TUlx(z3bxuV@vgV z0>mDbB8mr;Yx%cnn}-a=#$<2A;vD_>wccxXPu|<8&fO7;-yZ5IcbOK}uh5O-1&;XC zOYwhFuYsY2DPf*a33Cx#7g*bMO!;Wo9Sd_Z_7-s)%`3+&g>1FZskQ;L{lm;P4vT9;X_Wqq zH};yN-xqsTyJN5o`b9r^fz(oMwuXSIggdX}UVdWxY0V`Re?p@a(_{WDiG!d3n|WNp9kgzCDEPcT}RqHslHuOQzvEB0c z#=|>>x=z>*pWc!IT9wbo5s{!`aL8qM>8e^~0`hY1avLXj==UXc)Sfx*(tD1xF!@9C zN}n`z)rEw0Op~vxUbh=gKbPJVT}Sd7d%CA_!tV=h06osOT@_WL1G%|RooM1xypk%O z+Am0OMWE64t_iG7E<|r)t+Ji^<7j$$M`5;}@pG>Fordp$P}{s1ddR%- zJ{8M>TP`}ZvKMJ}U77*Iij7Ndvz_1Bq(#am7~Ex{d%8!3X&i}{z# z6Z}LP`t>v-vf1zJi{!=_vbNew;m|F9-9yLpyX*t~zjK*?k6sVSmxnGJdY7oaZq|&Q zdGQ?3&d#oc&7C~!+Dq47h4dL?Z8?^ys|lRo^7JHKUVJi2TJB>Ouvck_&@ z=6u(|y?5kbv(qZD58GBODpSDJ>kQp(*9?ysfOMzcM~~Fo2|yj)vqfb3xi+bxH7lr? zspU)E%GtNwo1jFozn8w4B8m%|USsl5A@gyQ-50YZa$=zb76O#NPv~VuG~oICSDTaS zs|7-15x*|dz>W-3LZz4ix)f&otU9MUZ!h$Vyc3P<%2q}P8I{pxDw zg&=&oAK4|yqUMqlw5)RjT*9`?9f+pyRHnf7b}OLEzX$rs+d(ruSuj&W66gOo@?2X7 zD&S|9tt-*`%p)!?<#CL>eCzwcp}br>@f#=FqGk*4N@F1vmPNk?c=mT|KS8lPx36&K zk9tyE=hQF(k}bP0Ml)D=|DF~m3yPKP*hXk7VMBaU6Y0(t7<7uNP^k9t)2QSdf z?YQ5yAWqFiC&^nmBrcmPpUMBmp33PMLd8W!Pi8x?m?-!yd+ zhDI!%6;Sgy)yw^7psH2+3-`#c#Q>-V$Lf_%I0=WURWq0^j^fbp-M?U0O-x-Il7OLb zajv}Fw4iA?S95Qr3gi$C{P#X(>B&|I|3(>t&K^XjFZw~C%1FqwQsm@(Jp8j z%hlsGZG)=f{$X02Jdj&G+6|vy?;&=-Gg?PI*_4NMrda;1UZOuTVt~E z(@o36;hbMYFvQnGThdvZ_E3-9u6m;5W~&B1fu2Sz8tNmE4btp zmUy_JV+yFgmM-)F)ZuV&*4>K#yy1R*d9y6(8%Xy1>Q2aE+aH&$0A9%xct-lnB|mRJ z2uZA$;_A(u)B4{=v?XE3bznUJA5(P}!2mGOMSSV?TzO;uGCuy6#Paftp_Q9pVv5K* zXv1Au*i}{Fml$;OkCWc4)y;A=96?qUrhX*Y?f)i4z_Ve)TfC z{?EYt!F(&NWZ4Hn;V}9q;HCiP*Pz%#0La%E1kFEINbW%W-|0dfl9!RNg>-2s^ou9~ z?GzRSKn~}&2CxL6BR6>?Ex-O;5y1DX;GZ}Ez)WBH69llcm|l=IxOe7&9u3_eP!&`T$#YVe)dzpZfDLng_QAgvGi0nqw)wvTuSv7&(Ky< zO9$F>068_FUYrIzVsuJzwX;jUe{sp&`uG|TuSWwYD<~4qx*cx&v3f1j{P@- zXB$We9o2!r5%XQ~0CUkX!mn0>zQbS2NMjic{E9aaMkMTagPeB)wH-;UE zm%xxmo1q#iJ&AJjJY~Mbf?g+sSPc2xIfS@U6wr@4sNzvYGp0o@|5rP?aoC7g5FDz%G5ZS`M_!HfluNeJFbNw zB87o2^;_ZYj2&#JSQ%D|sv!_U1Z!oKTQc33As*kJz8*|TB6zNSECSD&vM?K!tgpZx z*0N?0D1O4B2DhRK`KIlPCKcwV<+!;6_ zs9~YHsvAsZL(Cc^v9Y9Zx{?a2sC;4RTk_+LdNG?gYs< zv?OqPb*oDn$zfWyJ>4k@vr>Y~p2PyVmtzB_PR8t zQXmF>=qrpwz!km9=xrGZtn&z{!=E6n%`ACU7Kt+#fqfT}l7;=*T zJ9|b=P!WwOq7?$yG7tQ(RuJ47Bt{CaA%-{d5h(RlTq?vRmsb?T@T4&7Lx^|RdO_2F zxJCR6T2VZk>pOt2753LNKXY#GA%HcDC9z012Fzl&x>gmh)<(~@W_^CNthPp^9r`5j z4+-HsZzqQ!ps@gi!{NSgxNa}Y0@-l@nRfI7!0_CGO815nxYSkLKXnY4^1ll)2r!;> z@_H;%9&S%JkVqh9AAqO5B(Wd4X9MkUh@=ayhYiDFjbEVpgWbS9)lPdF&zb2y8p>db zu~Ou01w;Sk*)AGgwG798+q|jJ;I>xww+VP-We3{vvIIy*;Ms7I>fKFviOK@D$j=o^ zZGjKcSGWAdN+~Ohs1!_<^g;SPME2X?qSB}HWi*U=IrqvO%P!D=exu$fkv{z$*A}(= zcm1`K69KpUN)(Wl2tvMCRX50=JdCifD4_Mpg8$nK*p7VeoB1=6*cVXntq20)@byiV zz?lhMKe@`dKT@5YAlXC6shhl`F}wzKK)mOLoUQ|3y)s2oH#i|lnb6q{myqm=ji0-r zf3|-Hh*Zxig|((zbqde zL8$`vseS;Z%VI^mys*^)guUS!a!$m=733^i`klpD#2R|oWYEe39-CYF7W5L+ zU?2s2@EttTnP1ny90YOzSb)EzFC$6KJfbkX^8fkK1tcbUF8A`-+CLkR;~xEXr~!6x z1`|%u!^Pd?P2aD2xdR32=F6Jx=sgR*&AZthK%=tcwOR5N5%=LWiQsh3TGJQ_cI)o9 zO50IMRSB#c(4vUn)-Tf^SN*4dwiCA3r!>GpcK{9q-l{O#(IK~cCTr?(L9}d~58^Mj zr~gjkoV*JXV~pa`9`~>&OTOrt1z#=*X0&0G^_-1on!X z1XtpyJbMnn(MbV)v*NlKz((bCYf6%U=@C{d_4d>HLjXZf>yIEwc{XQu?7la4ssWBB zE~zz;-p%a@6%L0#f!D1_LhDUWnGP4&kqQ$(y=D-cmS67sljihzyr=SDub*n7VbX23 z0s(hH(wzK{X_Y-MMM5RmIA_~DT1M#eWmiWp77)0(m++2Edk6mVT*ED(e{C4RG2wUw zf3cm|1@t7}s$pxenMacNtN1R@9XoO|uc~9?asMvm z1@sCYu@kSdQS|1K{k(e{Ux&jx$4mf?sZ>|?GAE-dK@S2b6|h4SP~81pD;#U03G&ha z!NwD0H?2K}(49>fI^l$!Z(gN~cG^SN6;SOpvjw0bI`isN_KMg8RC=Cs=>9)`cn;RQ zgecx-zFv=W6mG6ia1ZmRcNN}M;vfRAufK!O01WBs2v)@^15h9DmjT;|IYI>_*s+q{ z%M3si4+@$};}F(kQB5uQc>a@tj{sY)F+yGHmkx-nSZZPRjNi&W0~)294a}Z3q53x) zQX1%uD?*Csbqxap8$$&EJXrBnYo)l(TGuy$)lyXB1x-J5M`r1xKp=q9*t)_+Of_R^ zoiU0xL-Ix6L6$#r0UtEb!B=KCn~V#5fHzq&E>#9JM3#c4x-4o4&a(u227Eml@6(o+ zS-m_Q>)wdBK#O>QWHHoDm}DKZ8u-jwP&V-8J^5vFJrF~nV!Ty)=!rYcfOH(MLb4ZZ z_y6aa!$8Dcg?=9WKi)657{CJX+J-K?(}6A{eu^w+&%KbU<5i%Kds=m3Io2hhzuF^V zh4>rGiUZmKNriT7@=%M2G7|z_kd#n1fp6F?ID5; ze8^dQK<3&qixzW>bOk`YdLj+y=GCRhggRxKh#W)MAbD`By`ZbZ6f|b96s9GC-B>P1 z_yhq!rgcpfZyU;0!0pB5rAN=Qs}3@44kC`H=Rv0oe*$XYj0I%Q2ZiqFecn+jZ=~iE z^v?#w1?F2sK9j^gNMb*Qw!*}$svf09vFo%%3%*|W3FP1*WQR-$;_tra+;_mFyk0{= zt!?G)sJn+8U34$33uoYTuqJfZa&#zQ!ubz4(LiHL3h);4H1!e$<^)D4s7HUAxj#?1n{t+-8^*gIo>XMNp)-8bp`pN*hDXRdStdKv#D(7k&jG`4CtTG#?T z2IV|Igk(G=3HoKBs^}-6{EpQAf+VgX>L#nz6i}`xh@Hq2jh{TZK;)zt^rIogyQ&!! zi9d)0-8pD|gj0m>{f9^7@p9F{1u5a)pH^M=7B2ISUVbE>C5gSlhZ=^<5)Q8q;9b7{ zpLZ)aVQO3_<}oK2_lb;;!v0@`93hgJXJzyn1ENV)54#R0!u#HUj? zZGp1D1x`4K-wuIPLDO#Th>%0j9Wad1gsg#f+lq1bgRzGPw8{|Okg{?ESoSWMwhQP= zaa*Z*%b06WLwM8ERiOSY?B0u$!kNToPi`RAqy>U zzt!Bwi4RZ%n7R0ws42_#Uq@~uW-AP!(4sG>mc)rXgh<=ASkV)FUG`Aq)56i6v!t{z_~yJdt9A9Wm+vHCO>E*mJs9n+9dQ5Jya#=`o%!smf4}TB z^Gwossjx^+#pE%n>n_x!|A}X@!y|pc*yB&rezQs9++6SeiE#R34(N(3&xK=t#<_U= z1P(R#GMlKT?J-sJr|}f^{>NQMb$Y)bcdk^x2XC82o301 zbvMCgDsv@-%bQJP!5m13{CF-OOx|=7Yy|F2{XS9Oyt1wXiv3`G5;^Me|FWkdMV97*m4$Pk z)jwd=*HVHVTwa6FSGWk;#9C(!G-!nIj$L>RQQT$LN59f{0Y8q6wlj@XT%fUR^J+)vq;$7Yx`E)~pqfnQ+JVZbXJ+_HH@FT&_gkKm1Za(@BN-q|=B_K>t58(a1k5t&$n8zS!s2Kw0F zY^U3f?$EKXeqm`~YWO~EJ8-|d4xrH!VlT81reZ$TQW!9P9g6#WjK}4+diA+Qx@8$0xu61TNVa zG}2+~;n7)pT97*1ePz=xNDHg44H-#)x|2niDFsj48gj|n_)$`@St+{M%2^<7q$r+s z5`oNA3KdCHZLSCRf~{B}w&EaE7wcfl=h;h5;E=08KYQm8e%iE*bFwscq6~NixaHta z+o0oD>*qCKvy`+R69ySlyVaVMcIHC;nYT%cJyETmJ@jf%klZ4z`ly$=P0&PJh5W~2 zqEZ0^+GYlKjAJQjVdG>)^dTS2yHrOI%4}AhjYXg?`&zg8mM!Gqb8Te2U-#Iky~Nx@%-0)4OaspF4r#HQsNikCD5&TnK9 zZuNfk&@^Je-Hzf|`Ql_c#(x&GF|6wE;2$Y-ixr8L4KA2upSufa?JN7YH)L1zsh1AF zt4MI}Q;$FI1y;JNx78Y-oy@BGSc z!=)iz+T`pk*phXV7!+6VcKTWFjf}f0NqgTENr6aS0Yk&?b)?UI;wJO0IysnDfz@}gI znpb;8BTSxp$__GQ3eE~13|@HmQFGq}0lA4M;<$gaf0AeO$h>`mXVE9u1(1I&B|n~V z0!awj9?b;5UPPaK7y&0aI#)g`(F~c3EHaMw{ChAh)e*}WoE1;c)t|tpNY2d3Shlqt zT#?8p+t?M(i|?MaCWc=EF7hVt^I5W9;@ZWzZ%1cyPaxx)4abF=N2^a7(q~h4i``A! zf_w@g?(_wi{l6VmURmZp?iw)v75K_3DO-IP`%0N^f54aa>9j%BIHqH9a5y|$3FeLy z$1U7lU7vEhFjtJWTP#e8*FZ;ya(a6rF{M!nbH3g_j|txhIGbs(KrbGf=JzFg($1Uj zafVcq%4WWEc-iqUiRgK=gC?a9c~Ly)@@M{|k1KZ?-{n~(Y9j5GnuY0Z@((O6hK3mQ zYOqfFi@}^-1#ZUs>UqR}lLcP+jAtZ=WSpK?G~>jF!xIxyV5&GS&voJYbRuETQ`seY zs%~^rTUj`K8{CNkzb0vX_5nK9(==xv?@2j-en!x=QC-F;Fimt+W@qykEkz|Tv{Q(o zd*|f45k0xAtPHp2eVgmQoQVohqVryw*?e&I?B9ad^4>)*_B?KooP+iyt9_Fetdd}Y zM^S1mOQw^$j5H^#OB2DgFG>rw52#Ns<#}U>Uq}~RWnf^x&n%N(Pi+4vgIDz;UpD=V z;e669P8ruV1#9=+NZFyX7OFiPaFN0vtZB)(k&-x6frTaxfDwMjq35r`@0cg!|1Utp z26zO`El0avCh5VcsqD{g;O+vn0X$$?J}#$}qCBEG-BR%oFVNr@QfZ3Dk2WCh+zdHO zOD$0s$V>gKdPr*prDgUmVG{lIWeTmx?E7@cpoSPIi5V2x8ax}~87{T>&zpX6{T8BG zKHK1|K{+_^cjWKpr13RjTNj(eZ=`7aK5ia|JXI}{!p4@O8?d6d&HxS^_g9=e7C<-d zQX|B}Md!ftur8x_3H*37w_uR~j`;EP;6dH5iciKK{8G!vbh$n5v~>HG>-T@J`SeZY zg}s@O{Z`xe+l0z{9JjV)NwR-Lt+p?u-%)u7A%|A@aa1>bF(whV7Qz^$pwZBb#J*Qs zmF|2jyMLdw`N>Oz6J8=J+`#lHLqo;*BSGQXOLChZ|AKGtK*An1(W{@_-ZRSl?s0Fk zo@cIpZdW;?;D23L9?p> literal 0 HcmV?d00001 diff --git a/Games/Life_Mossaic/images/registerpage-favicon.png b/Games/Life_Mossaic/images/registerpage-favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..945b359dd91f30b8ded3226045f9faeeaf59d830 GIT binary patch literal 24322 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 literal 0 HcmV?d00001 diff --git a/Games/Life_Mossaic/index.html b/Games/Life_Mossaic/index.html new file mode 100644 index 0000000000..e6bd544a64 --- /dev/null +++ b/Games/Life_Mossaic/index.html @@ -0,0 +1,275 @@ + + + + + + + + + + Life's Mosaic + + + + + + + + + + + + + + + + + + + + + +
+ +
+
Settings
+
+ +
+ +
+
+ + +
+
+ + +
+

+ + +

+
+
Themes
+
+
    +
  • +
    + + +
    +
  • +
+
    +
  • +
    + + +
    +
  • +
+
    +
  • +
    + + +
    +
  • +
+
    +
  • +
    + + +
    +
  • +
+
    +
  • +
    + + +
    +
  • +
+
    +
  • +
    + + +
    +
  • +
+
    +
  • +
    + + +
    +
  • +
  • +
    + + +
    +
  • +
+
+ + +
+
+
Presets
+
+
    +
  • + +
  • +
+
    +
  • + +
  • +
+
    +
  • + +
  • +
+
    +
  • + +
  • +
+
    +
  • + +
  • +
+
    +
  • + +
  • +
+
    +
  • + +
  • +
+
+
History
+
+
+ + +
+ +
+
+
+ + + + + +
+
Life's Mosaic
+
+
+
+
+
+ + Clear the grid +
+
+ + Rewind +
+
+ + Start or Pause the animation +
+
+ + Fast Forward +
+
+ + Random +
+
+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/Games/Life_Mossaic/js/app.js b/Games/Life_Mossaic/js/app.js new file mode 100644 index 0000000000..67b70e4649 --- /dev/null +++ b/Games/Life_Mossaic/js/app.js @@ -0,0 +1,588 @@ +// const { get } = require("animejs"); +const WIDTH = 60; +const HEIGHT = 30; + +let ALIVE_COLOR = "#00246B"; +let DEAD_COLOR = "#CADCFC"; + +const ALIVE = 1; +const DEAD = 0; + + +// 2D array to hold cell states +let cells = new Array(HEIGHT); +for (let i = 0; i < HEIGHT; i++) { + cells[i] = new Array(WIDTH); +} + +let animationSpeed = 400; +let randomValue = 20; +let isAnimating = false; +let isStarted = false; +let areEventListenersAdded = true; +let isWarpEnabled = true; +let isGridVisible = true; +let aliveCount = 0; + + + +function onResizeAboveThreshold() { + const thresholdWidth = 750; + const currentWidth = window.innerWidth; + + if (currentWidth >= thresholdWidth) { + document.querySelector(".sidenav").style.left = "0px" + }else{ + document.querySelector(".sidenav").style.left = "0px" + } +} +onResizeAboveThreshold(); +window.addEventListener('resize', onResizeAboveThreshold); + + +document.querySelector(".hamburger").addEventListener("click", () => { + document.querySelector(".sidenav").style.left = "0px" +}) + + + +document.querySelector(".cross").addEventListener("click", () => { + document.querySelector(".sidenav").style.left = "0px" +}) + +var slider = document.getElementById("randomVal"); +var output = document.getElementById("randomValOutput"); +output.innerHTML = slider.value; + +slider.oninput = function () { + output.innerHTML = this.value; + randomValue = this.value; +}; + +document.addEventListener("DOMContentLoaded", function () { + // Generate the grid + for (let i = 0; i < HEIGHT; i++) { + // Push an empty array for each row + for (let j = 0; j < WIDTH; j++) { + cells[i][j] = DEAD; // Initialize cell state + // Create a new cell element + const cell = document.createElement("div"); + cell.classList.add("cell"); + // Append the cell to the grid container + gridContainer.appendChild(cell); + } + } + + gridContainer.style.gridTemplateRows = `repeat(${HEIGHT}, calc((100%) / ${HEIGHT}))`; + gridContainer.style.gridTemplateColumns = `repeat(${WIDTH}, calc((100%) / ${WIDTH}))`; + // set grid container size according to ratio + gridContainer.style.minHeight = "30vw"; + gridContainer.style.minWidth = "60vw"; + handleDropdowns(); + addEventListenersToCells(); + drawCells(); +}); + +// draw the cells according to the state +// using style of "cell" class to change the color of the cell, iterate over it +function drawCells() { + const cellElements = gridContainer.querySelectorAll(".cell"); + cells.forEach((row, i) => { + row.forEach((cell, j) => { + const cellDiv = cellElements[i * WIDTH + j]; + const newColor = cell === ALIVE ? ALIVE_COLOR : DEAD_COLOR; + // Only update if colour changes + if (cellDiv.style.backgroundColor !== newColor) { + cellDiv.style.backgroundColor = newColor; + } + }); + }); +} + +// Map to store event listener functions for each cell +const cellEventListeners = new Map(); + +function addEventListenersToCells() { + const cellElements = document.querySelectorAll(".cell"); + cellElements.forEach(function (cell, index) { + const listener = function () { + handleClick(index); + }; + cellEventListeners.set(cell, listener); + cell.addEventListener("click", listener); + }); +} + +function removeEventListenersFromCells() { + const cellElements = document.querySelectorAll(".cell"); + cellElements.forEach(function (cell) { + const listener = cellEventListeners.get(cell); + if (listener) { + cell.removeEventListener("click", listener); + cellEventListeners.delete(cell); + } + }); +} + +function handleClick(i) { + const row = Math.floor(i / WIDTH); + const col = i % WIDTH; + // Toggle cell state + cells[row][col] = cells[row][col] === ALIVE ? DEAD : ALIVE; + + if(cells[row][col] == ALIVE) aliveCount++; + else aliveCount--; + + // Redraw cells + drawCells(); +} + +async function getPresets() { + try { + const response = await fetch("../data/presets.json"); + const data = await response.json(); + return data; + } catch (error) { + return null; + } +} + +async function drawPresetPattern(presetName) { + try { + const presetsList = await getPresets(); + if (!presetsList) { + return; + } + const preset = presetsList[presetName]; + if (preset) { + if (!isStarted && !isAnimating) { + // Clear the grid + clearGrid(); + preset.forEach((coord) => { + let [x, y] = coord; + // Ensure coordinates are within the bounds of the cells array + if (x >= 0 && x < HEIGHT && y >= 0 && y < WIDTH) { + cells[x][y] = ALIVE; + aliveCount++; + } + }); + // Call drawCells to update the grid + drawCells(); + } + } + drawCells(); + } catch (error) { + console.error("Error:", error); + } +} + +async function getThemes() { + try { + const response = await fetch("../data/themes.json"); + const data = await response.json(); + return data; + } catch (error) { + return null; + } +} + +// async function selectTheme(themeName) { +// try { +// const themesList = await getThemes(); +// if (!themesList) { +// return; +// } + +// const theme = themesList[themeName]; +// if (theme) { +// const root = document.documentElement; +// for (const key in theme) { +// root.style.setProperty(key, theme[key]); +// } +// ALIVE_COLOR = theme["ALIVE_COLOR"]; +// DEAD_COLOR = theme["DEAD_COLOR"]; +// } else { +// console.error("Theme not found"); +// } +// drawCells(); +// } catch (error) { +// console.error("Error:", error); +// } +// } + +async function selectTheme(themeName) { + try { + const themesList = await getThemes(); + if (!themesList) { + return; + } + + const theme = themesList[themeName]; + if (theme) { + const root = document.documentElement; + const backgroundContainer = document.body; // Change this to the appropriate container if needed + + for (const key in theme) { + root.style.setProperty(key, theme[key]); + } + + // Check if the theme contains a gradient + if (theme["background-image"]) { + backgroundContainer.style.backgroundImage = theme["background-image"]; + backgroundContainer.style.backgroundColor = ''; // Reset background color + } else { + backgroundContainer.style.backgroundImage = 'none'; // Remove gradient + backgroundContainer.style.backgroundColor = theme["background-color"]; // Apply solid color + var container = document.querySelector('.game'); + container.style.background = ''; + } + + root.style.setProperty('--scrollbar-color', theme['--primary-color']); + ALIVE_COLOR = theme["ALIVE_COLOR"]; + DEAD_COLOR = theme["DEAD_COLOR"]; + let reverse_button = document.getElementById('fast-reverse-button'); + let forward = document.getElementById('fast-forward-button'); + let pause_button = document.getElementById('play-pause-button'); + + if (theme["DEAD_COLOR"] == "#80ffff") { + reverse_button.innerHTML = "Play"; + forward.innerHTML = "Fast"; + pause_button.innerHTML = "Slow"; + } else { + reverse_button.innerHTML = "Play"; + forward.innerHTML = "Fast"; + pause_button.innerHTML = "Slow"; + } + + // If switching from a gradient theme to a solid color theme, reset the background + if (!theme["background-image"]) { + backgroundContainer.style.backgroundImage = 'none'; + } + } else { + console.error("Theme not found"); + } + drawCells(); + } catch (error) { + console.error("Error:", error); + } +} + + + +function increaseSpeed() { + // increase the speed of the animation + if (animationSpeed > 1) { + animationSpeed /= 1.1; + } +} + +function decreaseSpeed() { + // decrease the speed of the animation + animationSpeed *= 1.1; +} + +function isEmpty() { + return (aliveCount==0); +} + +function startAnimation() { + // check if the grid is empty, + // if not then start the animation and start the game + if (areEventListenersAdded) { + removeEventListenersFromCells(); + areEventListenersAdded = false; + } + const playPauseIcon = document.getElementById("play-pause-icon"); + if (isEmpty()) { + playPauseIcon.src = DEAD_COLOR=="#80ffff"?"./images/Play-Button-Dark.svg": "./images/Play-Button.svg"; + if (!areEventListenersAdded) { + addEventListenersToCells(); + areEventListenersAdded = true; + } + isAnimating = false; + isStarted = false; + } else { + // if game is not started, set it to true + // if pause is clicked, pause the game + isAnimating = !isAnimating; + // check if the game is started + // if not, set it to true + if (isStarted == false) { + isStarted = true; + // storePattern(cells); + storePattern(cells, aliveCount); + appendPatternButtons(); + } + // change the icon according to the state + if(DEAD_COLOR=="#80ffff"){ + console.log('ggggg') + playPauseIcon.src=isAnimating + ? "./images/Pause-Button-Dark.svg" + : "./images/Play-Button-Dark.svg"; + }else{ + playPauseIcon.src = isAnimating + ? "./images/Pause-Button.svg" + : "./images/Play-Button.svg"; + } + } + if (isAnimating) { + animate(); + } +} + +//randomGrid() +function randomGrid() { + // if the game is not started and not animating + // then allow user to set the cells to random state + aliveCount = 0; + if (!isStarted && !isAnimating) { + for (let i = 0; i < HEIGHT; i++) { + for (let j = 0; j < WIDTH; j++) { + cells[i][j] = Math.random() * 100 < randomValue ? ALIVE : DEAD; + if(cells[i][j] == ALIVE) aliveCount++; + } + } + drawCells(); + } +} + +function clearGrid() { + // if the game is paused + // then allow user to clear the grid + if (!isAnimating) { + aliveCount = 0; + for (let i = 0; i < HEIGHT; i++) { + for (let j = 0; j < WIDTH; j++) { + cells[i][j] = DEAD; + } + } + drawCells(); + } + isStarted = false; + if (!areEventListenersAdded) { + addEventListenersToCells(); + areEventListenersAdded = true; + } +} + +function toggleWarp() { + isWarpEnabled = !isWarpEnabled; +} + +function toggleGrid() { + isGridVisible = !isGridVisible; + var root = document.documentElement; + // Get the computed styles of the root element + var style = getComputedStyle(root); + // get border-color1 from the root + let borderColor = style.getPropertyValue("--border-color1"); + let borderVal = isGridVisible ? `solid 0.001rem ${borderColor}` : "none"; + const cellElements = gridContainer.querySelectorAll(".cell"); + cellElements.forEach((cell) => { + cell.style.border = borderVal; + }); +} + +function countNeighbors(cells, x, y, wrapEdges) { + const positions = [ + [-1,-1], [-1, 0], [-1, 1], + [ 0,-1], [ 0, 1], + [ 1,-1], [ 1, 0], [ 1, 1] + ]; + + return positions.reduce((acc, [dx, dy]) => { + const nx = wrapEdges ? (x + dx + HEIGHT) % HEIGHT : x + dx; + const ny = wrapEdges ? (y + dy + WIDTH) % WIDTH : y + dy; + if (nx >= 0 && nx < HEIGHT && ny >= 0 && ny < WIDTH && cells[nx][ny] === ALIVE) { + acc++; + } + return acc; + }, 0); +} + +function calculateNextGeneration(cells, wrapEdges) { + const nextGeneration = Array.from({ length: HEIGHT }, () => Array(WIDTH).fill(DEAD)); + let aliveCountTemp = 0; + + for (let i = 0; i < HEIGHT; i++) { + for (let j = 0; j < WIDTH; j++) { + const numNeighbors = countNeighbors(cells, i, j, wrapEdges); + + //Rule 1: Any live cell with fewer than two live neighbors dies, as if by underpopulation. + //Rule 2: Any live cell with two or three live neighbors lives on to the next generation. + //Rule 3: Any live cell with more than three live neighbors dies, as if by overpopulation. + //Rule 4: Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction. + const isAlive = (cells[i][j] === ALIVE); + if ((isAlive && (numNeighbors === 2 || numNeighbors === 3)) || (!isAlive && numNeighbors === 3)) { + nextGeneration[i][j] = ALIVE; + aliveCountTemp++; + } + } + } + aliveCount = aliveCountTemp; + return nextGeneration; +} + +function animate() { + // Update cells with the new generation + cells = calculateNextGeneration(cells, isWarpEnabled); + setTimeout(() => { + drawCells(); // Draw cells after a delay + if (isAnimating) { + requestAnimationFrame(animate); // Keep animating + } + }, animationSpeed); +} + +//* Loop through all dropdown buttons to toggle between hiding and showing its dropdown content - This allows the user to have multiple dropdowns without any conflict */ +function handleDropdowns() { + var themesDropdown = document.getElementsByClassName("color-themes"); + var presetsDropdown = document.getElementsByClassName("presets"); + var historyDropdown = document.getElementsByClassName("history"); + for (let i = 0; i < themesDropdown.length; i++) { + themesDropdown[i].addEventListener("click", function () { + this.classList.toggle("active"); + let dropdownContent = this.nextElementSibling; + if (dropdownContent.style.display === "block") { + dropdownContent.style.display = "none"; + } else { + dropdownContent.style.display = "block"; + } + }); + } + for (let i = 0; i < presetsDropdown.length; i++) { + presetsDropdown[i].addEventListener("click", function () { + this.classList.toggle("active"); + let dropdownContent = this.nextElementSibling; + if (dropdownContent.style.display === "block") { + dropdownContent.style.display = "none"; + } else { + dropdownContent.style.display = "block"; + } + }); + } + for (let i = 0; i < historyDropdown.length; i++) { + historyDropdown[i].addEventListener("click", function () { + this.classList.toggle("active"); + let dropdownContent = this.nextElementSibling; + if (dropdownContent.style.display === "block") { + dropdownContent.style.display = "none"; + } else { + dropdownContent.style.display = "block"; + } + }); + } +} + +let historyCount = 0; + +function storePattern(pattern) { + // Convert the 2D array to a JSON string + const patternJson = JSON.stringify(pattern); + + // Retrieve the current history from session storage + let history = sessionStorage.getItem("patternHistory"); + if (history) { + history = JSON.parse(history); + } else { + history = []; + } + + // Add the new pattern to the history + history.unshift(patternJson); // Add to the beginning + + // Check if the history exceeds 5 patterns + if (history.length > 5) { + // Remove the oldest pattern + history.pop(); + } + historyCount = history.length; + + // Store the updated history back in session storage + sessionStorage.setItem("patternHistory", JSON.stringify(history)); +} + +function getPatternHistory() { + // Retrieve the pattern history from session storage + const historyJson = sessionStorage.getItem("patternHistory"); + if (historyJson) { + // Parse the JSON string back into an array + const history = JSON.parse(historyJson); + // Convert each pattern JSON string back into a 2D array + return history.map((patternJson) => JSON.parse(patternJson)); + } + return []; +} + +function appendPatternButtons() { + const historyContainer = document.querySelector(".history-container"); + const patterns = getPatternHistory(); // Retrieve the pattern history + + // Clear the container first + historyContainer.innerHTML = ""; + + // Loop through the patterns and create a button for each + patterns.forEach((pattern, index) => { + const button = document.createElement("button"); + button.textContent = `${index + 1}`; // Button names start from the most recent + button.addEventListener("click", () => { + // When a button is clicked, set the cells array to the corresponding pattern + if (!isAnimating && !isStarted) { + cells = pattern; + aliveCount = (cells.flat().filter(cell => cell === ALIVE).length); + } + drawCells(); // Assuming drawCells is a function you have that draws the cells on the screen + }); + historyContainer.appendChild(button); + }); +} + +document.querySelectorAll('[data-tooltip]').forEach(elem => { + let tooltipTimeout; + + elem.addEventListener('mouseenter', function() { + tooltipTimeout = setTimeout(() => { + const tooltip = document.createElement('div'); + tooltip.className = 'tooltip'; + tooltip.innerText = elem.getAttribute('data-tooltip'); + document.body.appendChild(tooltip); + + const rect = elem.getBoundingClientRect(); + tooltip.style.left = rect.left + (rect.width / 2) - (tooltip.offsetWidth / 2) + 'px'; + tooltip.style.top = rect.top - tooltip.offsetHeight - 10 + 'px'; + + elem._tooltip = tooltip; + }, 500); // Delay of 500ms + }); + + elem.addEventListener('mouseleave', function() { + clearTimeout(tooltipTimeout); + if (elem._tooltip) { + elem._tooltip.remove(); + elem._tooltip = null; + } + }); +}); + +// Function to show tooltip +function showTooltip(event) { + const tooltip = event.currentTarget.querySelector('.tooltip-text'); + tooltip.style.visibility = 'visible'; + tooltip.style.opacity = '1'; +} + +// Function to hide tooltip +function hideTooltip(event) { + const tooltip = event.currentTarget.querySelector('.tooltip-text'); + tooltip.style.visibility = 'hidden'; + tooltip.style.opacity = '0'; +} + +// Attach event listeners to all buttons with tooltips +document.querySelectorAll('.tooltip-container').forEach(container => { + container.addEventListener('mouseenter', showTooltip); + container.addEventListener('mouseleave', hideTooltip); +}); + + +const gridContainer = document.getElementById("main-grid"); diff --git a/Games/Life_Mossaic/js/gradient.js b/Games/Life_Mossaic/js/gradient.js new file mode 100644 index 0000000000..fff27e9405 --- /dev/null +++ b/Games/Life_Mossaic/js/gradient.js @@ -0,0 +1,32 @@ +// Function to apply gradient theme +function applyGradientTheme(color1, color2, direction) { + var container = document.querySelector('.game'); + container.style.background = 'linear-gradient(' + direction + ', ' + color1 + ', ' + color2 + ')'; + var title = document.querySelector('.heading'); + title.style.color = isDark(color1) ? '#ffffff' : '#000000'; +} + +// Event listener for the gradient theme button +document.getElementById('gradient-theme-btn').addEventListener('click', function() { + var colorsContainer = document.getElementById('gradient-colors-container'); + colorsContainer.style.display = (colorsContainer.style.display === 'block') ? 'none' : 'block'; +}); + +// Event listener for the Apply Gradient button +document.getElementById('apply-gradient-btn').addEventListener('click', function() { + var color1 = document.getElementById('color1').value; + var color2 = document.getElementById('color2').value; + var direction = document.getElementById('gradient-direction').value; // Get the selected gradient direction + applyGradientTheme(color1, color2, direction); + document.getElementById('gradient-colors-container').style.display = 'none'; +}); + +// Function to check the brightness of a color +function isDark(color) { + const rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(color); + const r = parseInt(rgb[1], 16); + const g = parseInt(rgb[2], 16); + const b = parseInt(rgb[3], 16); + const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255; + return luminance < 0.5; +} \ No newline at end of file diff --git a/Games/Life_Mossaic/package-lock.json b/Games/Life_Mossaic/package-lock.json new file mode 100644 index 0000000000..abff63d360 --- /dev/null +++ b/Games/Life_Mossaic/package-lock.json @@ -0,0 +1,21 @@ +{ + "name": "gameoflife", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "gameoflife", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "animejs": "^3.2.2" + } + }, + "node_modules/animejs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/animejs/-/animejs-3.2.2.tgz", + "integrity": "sha512-Ao95qWLpDPXXM+WrmwcKbl6uNlC5tjnowlaRYtuVDHHoygjtIPfDUoK9NthrlZsQSKjZXlmji2TrBUAVbiH0LQ==" + } + } +} diff --git a/Games/Life_Mossaic/package.json b/Games/Life_Mossaic/package.json new file mode 100644 index 0000000000..d41c704934 --- /dev/null +++ b/Games/Life_Mossaic/package.json @@ -0,0 +1,14 @@ +{ + "name": "gameoflife", + "version": "1.0.0", + "description": "", + "main": "app.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "animejs": "^3.2.2" + } +} diff --git a/Games/Life_Mossaic/style.css b/Games/Life_Mossaic/style.css new file mode 100644 index 0000000000..7dca49ad20 --- /dev/null +++ b/Games/Life_Mossaic/style.css @@ -0,0 +1,603 @@ +* { + box-sizing: border-box; + margin: 0; + padding: 0; + user-select:none; +} + +body { + -webkit-user-select: none; /* Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* Internet Explorer/Edge */ + user-select: none; /* Standard syntax */ +} + +:root { + --primary-color: #251f4d; + --theme-color1: #7582b2; + --theme-color2: #036c96; + --theme-color3: #ebf2ff; + --shadow-color1: #352a7e; + --shadow-color2: #101536; + --border-color1: #080126; + --background-col: #c6cede; + --scrollbar-color: #555555; +} + +body { + font-family: 'Roboto Mono', monospace; + background: linear-gradient(135deg, #ebf2ff 0%, #7582b2 100%); + color: #333; + transition: background 0.5s ease; +} + +::-webkit-scrollbar { + width: 8px; +} + +::-webkit-scrollbar-track { + background: var(--shadow-color2); +} + +::-webkit-scrollbar-thumb { + background: var(--scrollbar-color); +} +body{ + background-color: var(--background-col); +}/* button */ +.button-73 { + appearance: none; + background-color: #FFFFFF; + border-radius: 40em; + border-style: none; + box-shadow: #ADCFFF 0 -12px 6px inset; + box-sizing: border-box; + color: #000000; + cursor: pointer; + display: inline-block; + font-family: -apple-system,sans-serif; + font-size: 1.2rem; + font-weight: 700; + letter-spacing: -.24px; + margin: 0; + outline: none; + padding: 1rem 1.3rem; + quotes: auto; + text-align: center; + text-decoration: none; + transition: all .15s; + user-select: none; + -webkit-user-select: none; + touch-action: manipulation; +} + +.button-73:hover { + background-color: #FFC229; + box-shadow: #FF6314 0 -6px 8px inset; + transform: scale(1.125); +} + +.button-73:active { + transform: scale(1.025); +} +.heading { + text-align: center; + padding-top: 1.5rem; + padding-bottom: 1.5rem; + margin-top: 0.5rem; + font-size: 3rem; + font-weight: bold; + color: var(--primary-color); + text-shadow: 2px 2px 4px var(--shadow-color1); + transition: color 0.3s ease, text-shadow 0.3s ease; +} + +.great-vibes-regular { + font-family: "Great Vibes", cursive; + /* font-weight: 400; */ + letter-spacing: 1px; + font-style: normal; +} + +.game { + position: relative; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100vh; + max-width: 100vw; + margin-left: 20vw; + background-color: var(--background-col); + transition: background-color 0.5s ease; +} +.full-width{ + margin-left: 0; +} +.grid-container { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + border: solid 0.2rem var(--border-color1); + max-width: 62vw; + max-height: 31vw; + transition: border-color 0.3s ease; +} + +.main-grid { + display: grid; + justify-content: center; + margin: auto; + background-color: inherit; +} + +.cell { + display: flex; + justify-content: center; + align-items: center; + border: solid 0.001rem var(--border-color1); + cursor: pointer; + transition:0.2s ease; +} +.cell:hover{ + transform: scale(1.3); + border:1px solid white ; +} +.cell:active{ + scale: 1; +} +.controls { + display: flex; + flex-direction: row; /* Ensure buttons are in a row */ + justify-content: center; + align-items: center; + margin-top: 1rem; + margin-bottom: 1rem; + transition: all 0.3s ease; +} + +.control-button { + border: none; + background: none; + padding: 1rem; + cursor: pointer; + outline: none; + transition: transform 0.2s ease; +} + +.control-button:hover { + transform: scale(1.1); +} + +.icon { + width: calc((30vw) / 8); + height: calc((30vw) / 8); +} + +.clear-button, +.random-button { + border: solid 0.1rem var(--border-color1); + border-radius: 0.6rem; + height: calc((100%) / 1.8); + width: auto; + text-align: center; + padding: 0.5rem; + font-family: 'Roboto Mono', monospace; + font-weight: bold; + font-size: 1.1rem; + color: var(--primary-color); + background-color: var(--theme-color3); + transition: box-shadow 0.3s ease, transform 0.2s ease; + margin: 0 0.5rem; /* Add margin to separate buttons */ +} +.clear-button { + margin-right: 1rem; +} + +.random-button { + margin-left: 1rem; +} + +.clear-button:hover, +.random-button:hover { + box-shadow: 0.1rem 0.1rem var(--shadow-color1); +} + +.clear-button:active, +.random-button:active { + box-shadow: 0.1rem 0.1rem var(--shadow-color2); + transform: translateY(0.1rem); +} + +.icon:active { + transform: translateY(0.1rem); +} +#toggleButton { + color: black; + border-radius: 5px; + border-style: none; + font-size: 1.7rem; + background: none; + margin: 1px; + z-index: 1; + position: absolute; + left: 2rem; + top: 1.8rem; +} +.sidenav { + height: 100vh; + width: 20vw; + position: fixed; + top: 0; + left: 0; + z-index: 2; + background-color: var(--border-color1); + overflow-x:hidden; + padding-top: 2rem; + transition: left 0.3s ease, width 0.3s ease; +} +/* Hide the nav bar */ +.hide-nav { + display: none; +} + +.sidenav .cross { + cursor: pointer; + position: absolute; + top: 45px; + right: 15px; + display: block; +} + +.sidenav button, +.other-settings, +.other-settings-container div, +.presets-container div, +.color-themes, +.themes-container div, +.presets, +.history, +.game-rules, +.game-rules-container{ + padding: 0.8rem 0.5rem 0.8rem 1.6rem; + text-decoration: none; + font-size: 1rem; + color: #818181; + font-family: 'Roboto Mono', monospace; + font-weight: lighter; + display: block; + border: none; + background: none; + width: 100%; + text-align: left; + /* cursor: pointer; */ + outline: none; + transition: color 0.3s ease; +} + +.other-settings-container .randomness-container { + padding: 0.8rem 0.5rem 0.8rem 1.6rem; + text-decoration: none; + font-size: 1rem; + color: #818181; + font-family: 'Roboto Mono', monospace; + font-weight: lighter; + display: block; + border: none; + background: none; + width: 100%; + text-align: left; + cursor: pointer; + outline: none; +} + +.hamburger { + position: absolute; + left: 10px; + top: 5px; + display: none; +} + +.has-dropdown:hover { + color: #fff; +} + +.active { + background-color: var(--theme-color2); + color: white; +} + +.other-settings, +.color-themes, +.presets, +.history +.game-rules{ + font-size: 1.2rem; +} + +.other-settings { + font-weight: bold; + color: var(--theme-color1); +} + +.other-settings-container { + background-color: var(--shadow-color2); +} + +.themes-container, +.presets-container, +.history-container, +.game-rules-container{ + display: none; + background-color: var(--shadow-color2); + padding-left: 0.2rem; +} + +.presets-list:active, +.history-container, +.color-label:hover{ + cursor: pointer; +} + +.randomness-value { + max-width: 80%; + padding-bottom: 0.6rem; + display: flex; + align-items: center; + justify-content: space-between; +} + +.slider { + width: 80%; + border-radius: 0.2rem; + background: var(--theme-color3); + outline: none; + opacity: 0.7; + -webkit-transition: opacity 0.2s; + transition: opacity 0.2s; +} + +.slider:hover { + opacity: 1; +} + +@media screen and (max-width: 768px) { + .controls { + flex-direction: column; /* Stack buttons vertically on smaller screens */ + align-items: center; /* Center buttons vertically */ + min-width: 25vw; + margin: none; + } + + .sidenav { + height: auto; + position: fixed; + padding-top: 0.5rem; + left: -250px; + height: 100vh; + transition: width 0.3s ease; + width: 20rem; + padding-top: 2rem; + } + + .hamburger { + position: absolute; + left: 10px; + top: 5px; + display: none; + } + + .sidenav .cross { + cursor: pointer; + position: absolute; + top: 13px; + right: 10px; + display: block; + padding-top: 1.6rem; + } + + .sidenav .randomness-container input { + text-decoration: none; + font-size: 0.8rem; + display: block; + border: none; + background: none; + width: 50%; + text-align: center; + cursor: pointer; + outline: none; + align-items: center; + } + + .sidenav .randomness-container label { + padding: 0.6rem 4.4rem 0.6rem 0; + text-decoration: none; + font-size: 1rem; + display: block; + border: none; + background: none; + width: 50%; + cursor: pointer; + outline: none; + } + .sidenav button, + .other-settings-container div, + .presets-container div, + .color-themes, + .themes-container div, + .presets, + .history, + + .other-settings{ + padding: 3px; + text-align: center; + } + + .game { + width: 100vw; + margin: 0; + } + .controls { + display: flex; + flex-direction: row; + min-width: 25vw; + height: auto; + justify-content: center; + align-items: center; + margin-top: 1rem; + margin-bottom: 1rem; + transition: all 0.3s ease; + } + + .clear-button, + .random-button { + font-size: 0.8rem; + /* Adjust font size for smaller screens */ + padding: 0.3rem 0.8rem; + /* Adjust padding for smaller screens */ + margin: 0.5rem 0; + /* Add margin to separate buttons vertically */ + } + + .grid-container { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + border: solid 0.2rem var(--border-color1); + max-width: 80vw; + max-height: 82vw; + transition: border-color 0.3s ease; + } + + .icon { + width: calc((30vw) / 8); + height: calc((30vw) / 8); + } + + .heading { + font-size: 1.7rem; + text-align: center; + padding-top: 0.7rem; + padding-bottom: 0.7rem; + } +} + +/* ----------- Contact us section ---------------------------*/ +.socialIcons { + display: none; + justify-content: center; + background: transparent; + border: 2px; + border-color: #a254e6; + margin-top: 15px; + margin-bottom: 15px; +} + +.socialIcons a { + text-decoration: none; + padding: 10px; + background-color: #fff; + margin: 10px; /* Reduced margin */ + border-radius: 50%; +} +.socialIcons a img { + width: 20px; /* Adjusted icon size */ + height: 20px; +} + +.socialIcons a:hover { + background-color: #4f66c1; + transition: 0.5s; +} + +.socialIcons a:hover img { + filter: invert(1); /* Invert icon color on hover */ + transition: 0.5s; + +} + +/* Hover Effects */ +.warp-on-edges:hover, +.grid-toggle:hover, +.randomness-container:hover{ + color:white; +} +/*-----------------------------------------*/ + + +/* Tooltip container */ +.tooltip-container { + position: relative; + display: inline-block; +} + +/* Tooltip text */ +.tooltip-text { + visibility: hidden; + width: 120px; + background-color: var(--theme-color2); + color: #fff; + text-align: center; + padding: 5px 0; + border-radius: 6px; + position: absolute; + z-index: 1; + bottom: 125%; /* Position the tooltip above the button */ + left: 50%; + margin-left: -60px; + opacity: 0; + transition: opacity 0.3s; +} + +.tooltip-container:hover .tooltip-text, +.tooltip-container:focus .tooltip-text { + visibility: visible; + opacity: 1; +} + +.tooltip-text::after { + content: ""; + position: absolute; + top: 100%; + left: 50%; + margin-left: -5px; + border-width: 5px; + border-style: solid; + border-color: var(--theme-color2) transparent transparent transparent; +} + +@media screen and (max-width: 425px) { + .sidenav { + width: 100vw; + left: -550px ; + transition: width 0.3s ease; + } + + #toggleButton { + left: 1.4rem; + top: 1rem; + } + + .clear-button, + .random-button { + border: solid 0.1rem var(--border-color1); + border-radius: 0.3rem; + height: calc((100%) / 1.8); + width: auto; + text-align: center; + padding: 0.3rem; + font-family: 'Roboto Mono', monospace; + font-weight: bold; + font-size: 0.5rem; + color: var(--primary-color); + background-color: var(--theme-color3); + transition: box-shadow 0.3s ease, transform 0.2s ease; + margin: 0 0.5rem; /* Add margin to separate buttons */ + } + + .control-button { + transform: scale(1.4); + } +} \ No newline at end of file diff --git a/assets/images/lifesmossaic.png b/assets/images/lifesmossaic.png new file mode 100644 index 0000000000000000000000000000000000000000..30e83948e79790c70a457b8a241edcf1a4091717 GIT binary patch literal 80673 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 literal 0 HcmV?d00001