小白学习ing......
今天写了一下控制台的生命游戏:
百度了一下规则:
1. 如果一个细胞周围有3个细胞为生(一个细胞周围共有8个细胞),则该细胞为生(即该细胞若原先为死,则转为生,若原先为生,则保持不变) 。
2. 如果一个细胞周围有2个细胞为生,则该细胞的生死状态保持不变;
3. 在其它情况下,该细胞为死(即该细胞若原先为生,则转为死,若原先为死,则保持不变)。
主要思路:
1.初始化地图;
2.改变生命状态;
3.把临时变化的数组替换到地图的数组;
static void CopyTempToMap(int[,] map, int[,] temp, int rowCount, int colCount)
{
for (int row = 0; row < rowCount; row++)
{
for (int col = 0; col < colCount; col++)
{
map[row, col] = temp[row, col];
}
}
}
4.画地图;
static void DrawWorld(int[,] map,int rowCount,int colCount)
{
Console.Clear();
for (int row = 0; row < rowCount; row++)
{
for (int col = 0; col < colCount; col++)
{
if (map[row, col] == 1)//活的生命
{
Console.ForegroundColor = ConsoleColor.Red;
}
else//死的生命
{
Console.ForegroundColor = ConsoleColor.White;
}
Console.Write("■");
}
Console.WriteLine();
}
}
5.主函数定义地图的行和列、存储地图的二维数组、临时变化的二维数组;执行上面的方法;
原文:https://www.cnblogs.com/potato-is-me/p/14176427.html