zoukankan      html  css  js  c++  java
  • 2019年春第二次课程设计实验报告

    2019年春第二次课程设计实验报告

    实验项目名称:

    生命游戏

    功能描述:

    假设有int Cells[50][50],即有50*50个小格子,每个小格子里面生命存活(值为1)或者死亡(值为0),通过把所有元素的生命状态输出可以显示出相应的图案。

    项目结构模块介绍:

    1.全局变量

    int cells[High][Width]; // 所有位置细胞生1或死0 
    void gotoxy(int x,int y) //光标移动到(x,y)位置 
    { 
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); 
    COORD pos; 
    pos.X = x; 
    pos.Y = y; 
    SetConsoleCursorPosition(handle,pos); 
    } 
    

    2.数据初始化

    void startup() // 数据初始化 
    { 
    int i,j; 
    for (i=0;i<High;i++) // 初始化 
    for (j=0;j<Width;j++) 
    { 
    cells[i][j] = 1; 
    } 
    } 
    

    3.显示画面

    void show() // 显示画面 
    { 
    gotoxy(0,0); // 光标移动到原点位置,以下重画清屏 
    int i,j; 
    for (i=1;i<=High-1;i++) 
    { 
    for (j=1;j<=Width-1;j++) 
    { 
    if (cells[i][j]==1) 
    printf("*"); // 输出活的细胞 
    else 
    printf(" "); // 输出空格 
    } 
    printf("
    "); 
    } 
    Sleep(50); 
    } 
    

    4.与用户输入无关的更新

     void updateWithoutInput()  // 与用户输入无关的更新
    {	
    	int NewCells[High][Width]; // 下一帧的细胞情况
    	int NeibourNumber; //统计邻居的个数
    	int i,j;
    	for (i=1;i<=High-1;i++)
    	{
    		for (j=1;j<=Width-1;j++)
    		{
    			NeibourNumber = cells[i-1][j-1] + cells[i-1][j] + cells[i-1][j+1]
    				+ cells[i][j-1] + cells[i][j+1] + cells[i+1][j-1] + cells[i+1][j] + cells[i+1][j+1];
    			if (NeibourNumber==3)
    				NewCells[i][j] = 1;  
    			else if (NeibourNumber==2)
    				NewCells[i][j] = cells[i][j];
    			else
    				NewCells[i][j] = 0; 
    		}
    	}
    	
    	for (i=1;i<=High-1;i++)
    		for (j=1;j<=Width-1;j++)
    			cells[i][j] = NewCells[i][j];
    }
    

    5.与用户输入有关的更新

    void updateWithInput() // 与用户输入有关的更新 
    { 
    } 
    int main() 
    { 
    startup(); // 数据初始化 
    while (1) // 游戏循环执行 
    { 
    show(); // 显示画面 
    updateWithoutInput(); // 与用户输入无关的更新 
    updateWithInput(); // 与用户输入有关的更新 
    } 
    return 0; 
    } 
    

    截图

    代码托管连接

    https://gitee.com/wjx0229/difficult_team/blob/master/生命游戏.cpp

    实验总结:

    经过上一次的作业和书本的辅助,开始了分小内容的游戏设计,这个游戏也加入了我没有掌握的数组元素,有难度。

  • 相关阅读:
    SQLSTATE[HY000] [2002] No such file or directory(转)
    pg_stat_activity各字段的含义
    DedeCMS 后台空白问题
    关于XP和win7 的IIS发布问题
    500错误
    swfupload上传多张照片出现404 错误?(已解决)
    url字符串编码乱码问题
    遮罩层《一》
    Java集合按照索引分页,以及JS数组代码按照索引分页的源码
    填充整个页面
  • 原文地址:https://www.cnblogs.com/wjx0229/p/10955462.html
Copyright © 2011-2022 走看看