99 lines
6.6 KiB
Plaintext
99 lines
6.6 KiB
Plaintext
{\rtf1\ansi\ansicpg1252\cocoartf2578
|
|
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\froman\fcharset0 Times-Bold;\f1\froman\fcharset0 Times-Roman;\f2\fnil\fcharset0 LucidaGrande;
|
|
}
|
|
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;}
|
|
{\*\expandedcolortbl;;\cssrgb\c0\c0\c0;}
|
|
{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{circle\}}{\leveltext\leveltemplateid2\'01\uc0\u9702 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid1}
|
|
{\list\listtemplateid2\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid2}
|
|
{\list\listtemplateid3\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid3}}
|
|
{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}}
|
|
\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0
|
|
\deftab720
|
|
\pard\pardeftab720\sa321\partightenfactor0
|
|
|
|
\f0\b\fs48 \cf2 \expnd0\expndtw0\kerning0
|
|
Game of Life Project\
|
|
\pard\pardeftab720\sa298\partightenfactor0
|
|
|
|
\fs36 \cf2 Purpose\
|
|
\pard\pardeftab720\sa240\partightenfactor0
|
|
|
|
\f1\b0\fs24 \cf2 This project is a simulation based on the traditional "Game of Life," a cellular automaton devised by John Conway. In this enhanced version, cells interact according to predefined rules that describe their survival, birth, or death. Unique to this version are agents that interact not only with cells but also among themselves.\
|
|
|
|
\f0\b\fs36 Grid\
|
|
|
|
\f1\b0\fs24 The interface allows users to customise the simulation environment through the "Load World" button. This feature enables users to upload and implement different pre-configured worlds.\
|
|
\pard\pardeftab720\sa298\partightenfactor0
|
|
|
|
\f0\b\fs36 \cf2 Rules\
|
|
\pard\pardeftab720\sa240\partightenfactor0
|
|
|
|
\f1\b0\fs24 \cf2 Users can modify the behaviour of the simulation by uploading specific rules via the "Load Rules" button on the interface. It's important to note that if agents or grid configurations need to be loaded, they must be loaded prior to the rules. Available rules include:\
|
|
\pard\tx220\tx720\pardeftab720\li720\fi-720\partightenfactor0
|
|
\ls1\ilvl0\cf2 \kerning1\expnd0\expndtw0 {\listtext \uc0\u8226 }
|
|
\f0\b \expnd0\expndtw0\kerning0
|
|
Basic Game of Life Rules
|
|
\f1\b0 : Standard survival and birth rules as defined by the classic Game of Life. (Survival values : 2,3 / \kerning1\expnd0\expndtw0 Birth values : 3)\expnd0\expndtw0\kerning0
|
|
)\
|
|
\ls1\ilvl0\kerning1\expnd0\expndtw0 {\listtext \uc0\u8226 }
|
|
\f0\b Blob Rules
|
|
\f1\b0 (Survival values : 1,3,5,9 / Birth values : 3,5,7)\expnd0\expndtw0\kerning0
|
|
\
|
|
\ls1\ilvl0\kerning1\expnd0\expndtw0 {\listtext \uc0\u8226 }
|
|
\f0\b Labyrinth Rules :
|
|
\f1\b0 Cells arrange themselves in a pretty maze shape after a few steps (Survival values : 1,2,3,4,5 / Birth values : 3)\expnd0\expndtw0\kerning0
|
|
\
|
|
\ls1\ilvl0\kerning1\expnd0\expndtw0 {\listtext \uc0\u8226 }
|
|
\f0\b \expnd0\expndtw0\kerning0
|
|
Special Zombie Rules
|
|
\f1\b0 : Includes parameters for survival and birth, as well as the probability of a zombie appearing (expressed in percentage). The specifics of these rules are:\
|
|
\pard\tx940\tx1440\pardeftab720\li1440\fi-1440\partightenfactor0
|
|
\ls1\ilvl1\cf2 \kerning1\expnd0\expndtw0 {\listtext
|
|
\f2 \uc0\u9702
|
|
\f1 }\expnd0\expndtw0\kerning0
|
|
First line: Survival values. (2,3)\
|
|
\ls1\ilvl1\kerning1\expnd0\expndtw0 {\listtext
|
|
\f2 \uc0\u9702
|
|
\f1 }\expnd0\expndtw0\kerning0
|
|
Second line: Birth values.(3)\
|
|
\ls1\ilvl1\kerning1\expnd0\expndtw0 {\listtext
|
|
\f2 \uc0\u9702
|
|
\f1 }\expnd0\expndtw0\kerning0
|
|
Third line: Probability of a zombie appearance.(2%)\
|
|
\pard\tx220\tx720\tx1133\pardeftab720\li720\fi-720\partightenfactor0
|
|
\ls1\ilvl0\cf2 \kerning1\expnd0\expndtw0 {\listtext \uc0\u8226 }Any files can be added or modified, for example a third line can be added to the Labyrinth Rules file.\
|
|
\pard\tx566\tx1133\pardeftab720\partightenfactor0
|
|
\cf2 \expnd0\expndtw0\kerning0
|
|
\
|
|
\pard\pardeftab720\sa298\partightenfactor0
|
|
|
|
\f0\b\fs36 \cf2 Agents\
|
|
\pard\pardeftab720\sa240\partightenfactor0
|
|
|
|
\f1\b0\fs24 \cf2 There are two types of agents within the simulation:\
|
|
\pard\tx220\tx720\pardeftab720\li720\fi-720\sa240\partightenfactor0
|
|
\ls2\ilvl0
|
|
\f0\b \cf2 \kerning1\expnd0\expndtw0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0
|
|
Sheeps
|
|
\f1\b0 : These agents move randomly across the grid. They feed on grass (represented by green cells) and will die of hunger if they do not eat within two steps. Reproduction occurs if an empty cell has exactly two neighbouring sheeps (considered the parents). Sheep are vulnerable to wolf attacks. Sheeps can be added by clicking on a cell\
|
|
\ls2\ilvl0
|
|
\f0\b \kerning1\expnd0\expndtw0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0
|
|
Wolves
|
|
\f1\b0 : Wolves also move randomly and will consume any sheep they encounter on the same cell. A wolf need to be in pack to survive, it will die if it finds itself lonely for more than 5 steps. Wolves appear on a random case each step there is more than 20 sheep on the grid.\kerning1\expnd0\expndtw0 \
|
|
These 2 types of agents can also be loaded from a file, thanks to the button load agents. Each line correspond to an agent, with the first case being the x-coordinate, the second the y-coordinate, and the 3rd case indicates 0 or 1, 0 being a sheep and 1 a wolf.\expnd0\expndtw0\kerning0
|
|
\uc0\u8232 \
|
|
\pard\pardeftab720\sa298\partightenfactor0
|
|
|
|
\f0\b\fs36 \cf2 Zombies\
|
|
\pard\pardeftab720\sa240\partightenfactor0
|
|
|
|
\f1\b0\fs24 \cf2 Zombies introduce an additional layer of interaction in the game:\
|
|
\pard\tx220\tx720\pardeftab720\li720\fi-720\partightenfactor0
|
|
\ls3\ilvl0\cf2 \kerning1\expnd0\expndtw0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0
|
|
Zombies can spawn whenever a cell dies, with a set probability detailed in the rules file.\
|
|
\ls3\ilvl0\kerning1\expnd0\expndtw0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0
|
|
They are stationary but have a 25% chance each step to infect a neighbouring living cell.\
|
|
\pard\tx566\pardeftab720\partightenfactor0
|
|
\cf2 \
|
|
Zombies cannot die, they just infect living cells endlessly.\
|
|
} |