From 1d0b7e460ce2b3e5cd426c670a651e42d85fff80 Mon Sep 17 00:00:00 2001 From: Pallavi_5i2 <22wh1a05i2@bvrithyderabad.edu.in> Date: Tue, 23 Jul 2024 17:02:31 +0530 Subject: [PATCH] feat-new-game --- Games/Life's_Mossaic/.gitignore | 1 + Games/Life's_Mossaic/README.md | 207 ++++++ Games/Life's_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 .../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 .../data/game-images/Spider.png | Bin 0 -> 17197 bytes Games/Life's_Mossaic/data/presets.json | 338 ++++++++++ Games/Life's_Mossaic/data/themes.json | 98 +++ Games/Life's_Mossaic/desktop.ini | 2 + Games/Life's_Mossaic/gamerules.css | 169 +++++ Games/Life's_Mossaic/gamerules.html | 173 +++++ Games/Life's_Mossaic/history.html | 67 ++ Games/Life's_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's_Mossaic/images/Game-Grid.png | Bin 0 -> 26829 bytes .../images/Gosper-Glider-Gun.png | Bin 0 -> 1904 bytes .../images/Pause-Button-Dark.svg | 5 + Games/Life's_Mossaic/images/Pause-Button.svg | 5 + .../images/Play-Button-Dark.svg | 4 + Games/Life's_Mossaic/images/Play-Button.svg | 4 + Games/Life's_Mossaic/images/Small-Glider.png | Bin 0 -> 1783 bytes Games/Life's_Mossaic/images/desktop.ini | 2 + Games/Life's_Mossaic/images/glider-icon.png | Bin 0 -> 24322 bytes Games/Life's_Mossaic/images/home.png | Bin 0 -> 16953 bytes .../images/registerpage-favicon.png | Bin 0 -> 24322 bytes Games/Life's_Mossaic/index.html | 275 ++++++++ Games/Life's_Mossaic/js/app.js | 588 +++++++++++++++++ Games/Life's_Mossaic/js/gradient.js | 32 + Games/Life's_Mossaic/package-lock.json | 21 + Games/Life's_Mossaic/package.json | 14 + Games/Life's_Mossaic/style.css | 603 ++++++++++++++++++ assets/images/Life's_Mossaic.png | Bin 0 -> 84206 bytes 41 files changed, 2664 insertions(+) create mode 100644 Games/Life's_Mossaic/.gitignore create mode 100644 Games/Life's_Mossaic/README.md create mode 100644 Games/Life's_Mossaic/animation.js create mode 100644 Games/Life's_Mossaic/data/game-images/Big-Glider.png create mode 100644 Games/Life's_Mossaic/data/game-images/Circle-of-Fire.png create mode 100644 Games/Life's_Mossaic/data/game-images/Game-Grid.png create mode 100644 Games/Life's_Mossaic/data/game-images/Game-Sidebar.png create mode 100644 Games/Life's_Mossaic/data/game-images/Gosper-Glider-Gun.png create mode 100644 Games/Life's_Mossaic/data/game-images/Pulsar.png create mode 100644 Games/Life's_Mossaic/data/game-images/Quadpole.png create mode 100644 Games/Life's_Mossaic/data/game-images/Small-Glider.png create mode 100644 Games/Life's_Mossaic/data/game-images/Spider.png create mode 100644 Games/Life's_Mossaic/data/presets.json create mode 100644 Games/Life's_Mossaic/data/themes.json create mode 100644 Games/Life's_Mossaic/desktop.ini create mode 100644 Games/Life's_Mossaic/gamerules.css create mode 100644 Games/Life's_Mossaic/gamerules.html create mode 100644 Games/Life's_Mossaic/history.html create mode 100644 Games/Life's_Mossaic/images/Big-Glider.png create mode 100644 Games/Life's_Mossaic/images/Fast-Forward-Button-Dark.svg create mode 100644 Games/Life's_Mossaic/images/Fast-Forward-Button.svg create mode 100644 Games/Life's_Mossaic/images/Fast-Reverse-Button-Dark.svg create mode 100644 Games/Life's_Mossaic/images/Fast-Reverse-Button.svg create mode 100644 Games/Life's_Mossaic/images/Game-Grid.png create mode 100644 Games/Life's_Mossaic/images/Gosper-Glider-Gun.png create mode 100644 Games/Life's_Mossaic/images/Pause-Button-Dark.svg create mode 100644 Games/Life's_Mossaic/images/Pause-Button.svg create mode 100644 Games/Life's_Mossaic/images/Play-Button-Dark.svg create mode 100644 Games/Life's_Mossaic/images/Play-Button.svg create mode 100644 Games/Life's_Mossaic/images/Small-Glider.png create mode 100644 Games/Life's_Mossaic/images/desktop.ini create mode 100644 Games/Life's_Mossaic/images/glider-icon.png create mode 100644 Games/Life's_Mossaic/images/home.png create mode 100644 Games/Life's_Mossaic/images/registerpage-favicon.png create mode 100644 Games/Life's_Mossaic/index.html create mode 100644 Games/Life's_Mossaic/js/app.js create mode 100644 Games/Life's_Mossaic/js/gradient.js create mode 100644 Games/Life's_Mossaic/package-lock.json create mode 100644 Games/Life's_Mossaic/package.json create mode 100644 Games/Life's_Mossaic/style.css create mode 100644 assets/images/Life's_Mossaic.png diff --git a/Games/Life's_Mossaic/.gitignore b/Games/Life's_Mossaic/.gitignore new file mode 100644 index 0000000000..f83526d133 --- /dev/null +++ b/Games/Life's_Mossaic/.gitignore @@ -0,0 +1 @@ +**/node_modules/ \ No newline at end of file diff --git a/Games/Life's_Mossaic/README.md b/Games/Life's_Mossaic/README.md new file mode 100644 index 0000000000..75401690b1 --- /dev/null +++ b/Games/Life's_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's_Mossaic/animation.js b/Games/Life's_Mossaic/animation.js new file mode 100644 index 0000000000..9fbf98652b --- /dev/null +++ b/Games/Life's_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's_Mossaic/data/game-images/Big-Glider.png b/Games/Life's_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's_Mossaic/data/game-images/Game-Sidebar.png b/Games/Life's_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's_Mossaic/data/game-images/Gosper-Glider-Gun.png b/Games/Life's_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's_Mossaic/data/game-images/Small-Glider.png b/Games/Life's_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's_Mossaic/data/game-images/Spider.png b/Games/Life's_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's_Mossaic/data/presets.json b/Games/Life's_Mossaic/data/presets.json new file mode 100644 index 0000000000..172d6c56ca --- /dev/null +++ b/Games/Life's_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's_Mossaic/data/themes.json b/Games/Life's_Mossaic/data/themes.json new file mode 100644 index 0000000000..cbbc9276a1 --- /dev/null +++ b/Games/Life's_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's_Mossaic/desktop.ini b/Games/Life's_Mossaic/desktop.ini new file mode 100644 index 0000000000..814cb7d07f --- /dev/null +++ b/Games/Life's_Mossaic/desktop.ini @@ -0,0 +1,2 @@ +[LocalizedFileNames] +registerpage-favicon.png=@registerpage-favicon,0 diff --git a/Games/Life's_Mossaic/gamerules.css b/Games/Life's_Mossaic/gamerules.css new file mode 100644 index 0000000000..6053be2dd2 --- /dev/null +++ b/Games/Life's_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's_Mossaic/gamerules.html b/Games/Life's_Mossaic/gamerules.html new file mode 100644 index 0000000000..36a495e836 --- /dev/null +++ b/Games/Life's_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's_Mossaic/history.html b/Games/Life's_Mossaic/history.html new file mode 100644 index 0000000000..b17fe68386 --- /dev/null +++ b/Games/Life's_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's_Mossaic/images/Big-Glider.png b/Games/Life's_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's_Mossaic/images/Fast-Forward-Button.svg b/Games/Life's_Mossaic/images/Fast-Forward-Button.svg new file mode 100644 index 0000000000..ce809ca803 --- /dev/null +++ b/Games/Life's_Mossaic/images/Fast-Forward-Button.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Games/Life's_Mossaic/images/Fast-Reverse-Button-Dark.svg b/Games/Life's_Mossaic/images/Fast-Reverse-Button-Dark.svg new file mode 100644 index 0000000000..b08641f719 --- /dev/null +++ b/Games/Life's_Mossaic/images/Fast-Reverse-Button-Dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Games/Life's_Mossaic/images/Fast-Reverse-Button.svg b/Games/Life's_Mossaic/images/Fast-Reverse-Button.svg new file mode 100644 index 0000000000..512d091e9f --- /dev/null +++ b/Games/Life's_Mossaic/images/Fast-Reverse-Button.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Games/Life's_Mossaic/images/Game-Grid.png b/Games/Life's_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's_Mossaic/images/Gosper-Glider-Gun.png b/Games/Life's_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's_Mossaic/images/Pause-Button.svg b/Games/Life's_Mossaic/images/Pause-Button.svg new file mode 100644 index 0000000000..862d385177 --- /dev/null +++ b/Games/Life's_Mossaic/images/Pause-Button.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Games/Life's_Mossaic/images/Play-Button-Dark.svg b/Games/Life's_Mossaic/images/Play-Button-Dark.svg new file mode 100644 index 0000000000..c8ad86ef52 --- /dev/null +++ b/Games/Life's_Mossaic/images/Play-Button-Dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Games/Life's_Mossaic/images/Play-Button.svg b/Games/Life's_Mossaic/images/Play-Button.svg new file mode 100644 index 0000000000..7d39144068 --- /dev/null +++ b/Games/Life's_Mossaic/images/Play-Button.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Games/Life's_Mossaic/images/Small-Glider.png b/Games/Life's_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's_Mossaic/images/desktop.ini b/Games/Life's_Mossaic/images/desktop.ini new file mode 100644 index 0000000000..814cb7d07f --- /dev/null +++ b/Games/Life's_Mossaic/images/desktop.ini @@ -0,0 +1,2 @@ +[LocalizedFileNames] +registerpage-favicon.png=@registerpage-favicon,0 diff --git a/Games/Life's_Mossaic/images/glider-icon.png b/Games/Life's_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's_Mossaic/images/home.png b/Games/Life's_Mossaic/images/home.png new file mode 100644 index 0000000000000000000000000000000000000000..e4bb3f9a780ced471ed46e6f9bdc8ee29d266c63 GIT binary patch literal 16953 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 literal 0 HcmV?d00001 diff --git a/Games/Life's_Mossaic/images/registerpage-favicon.png b/Games/Life's_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's_Mossaic/index.html b/Games/Life's_Mossaic/index.html new file mode 100644 index 0000000000..e6bd544a64 --- /dev/null +++ b/Games/Life's_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's_Mossaic/js/app.js b/Games/Life's_Mossaic/js/app.js new file mode 100644 index 0000000000..67b70e4649 --- /dev/null +++ b/Games/Life's_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's_Mossaic/js/gradient.js b/Games/Life's_Mossaic/js/gradient.js new file mode 100644 index 0000000000..fff27e9405 --- /dev/null +++ b/Games/Life's_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's_Mossaic/package-lock.json b/Games/Life's_Mossaic/package-lock.json new file mode 100644 index 0000000000..abff63d360 --- /dev/null +++ b/Games/Life's_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's_Mossaic/package.json b/Games/Life's_Mossaic/package.json new file mode 100644 index 0000000000..d41c704934 --- /dev/null +++ b/Games/Life's_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's_Mossaic/style.css b/Games/Life's_Mossaic/style.css new file mode 100644 index 0000000000..7dca49ad20 --- /dev/null +++ b/Games/Life's_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/Life's_Mossaic.png b/assets/images/Life's_Mossaic.png new file mode 100644 index 0000000000000000000000000000000000000000..cff6551b2b42b595474be2e248edfefef454206b GIT binary patch literal 84206 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 literal 0 HcmV?d00001