人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

用c語言演繹“生命游戲”

用c語言演繹“生命游戲”

更新時間:2022-07-18 文章作者:未知 信息來源:網絡 閱讀次數:

 本世紀70年代,人們曾瘋魔一種被稱作“生命游戲”的小游戲,這種游戲相當簡單。假設有一個像棋盤一樣的方格網,每個方格中放置一個生命細胞,生命細胞只有兩種狀態:“生”或“死”。游戲規則如下:
  1. 如果一個細胞周圍有3個細胞為生(一個細胞周圍共有8個細胞),則該細胞為生,即該細胞若原先為死,則轉為生,若原先為生,則保持不變;
  2. 如果一個細胞周圍有2個細胞為生,則該細胞的生死狀態保持不變;
  3. 在其它情況下,該細胞為死,即該細胞若原先為生,則轉為死,若原先為死,則保持不變設定圖像中每個像素的初始狀態后依據上述的游戲規則演繹生命的變化,由于初始狀態和迭代次數不同,將會得到令人嘆服的優美圖案。
  
#include <graphics.h>
  main(){
  int orgData[100][100],resData[100][100];/*分別記錄每次迭代的初始和結果狀態*/
  int nCount,nRows,nCols,i,j,times; /*times記錄迭代次數*/
  int GraphDriver=DETECT,GraphMode;
  for (i=0;i<100;i++) /*初始化數據,令每一個細胞為生*/
  for (j=0;j<100;j++) orgData[i][j]=1;
  initgraph(&GraphDriver,&GraphMode,′′′′); /*初始化屏幕顯示*/
  setcolor(WHITE);
  rectangle(270,190,370,290); /*作顯示邊框*/
  for (times=1;times<200;times++){
  for (nRows=1;nRows<99;nRows++) {
  for (nCols=1;nCols<99;nCols++){
  /*計算每一個細胞周圍的活的細胞數*/
  nCount=orgData[nRows-1][nCols-1]+orgData[nRows-1][nCols]
  +orgData[nRows-1][nCols+1]+orgData[nRows][nCols-1]
  +orgData[nRows][nCols+1]+orgData[nRows+1][nCols-1]
  +orgData[nRows+1][nCols]+orgData[nRows+1][nCols+1];
  switch(nCount){
  /*周圍有3個活細胞,該細胞為生,在屏幕上用黑色像素表示*/
  case 3: putpixel(nCols+210,120+nRows,BLACK);
  resData[nRows][nCols]=1;break;
  /*周圍有2個活細胞,該細胞不變,在屏幕顯示也不變*/
  case 2: resData[nRows][nCols]=orgData[nRows][nCols];
  break;
  /*其它情況下,細胞為死,在屏幕上用白色像素表示*/
  default:resData[nRows][nCols]=0;
  putpixel(nCols+210,120+nRows,WHITE);
  }
  }
  }
  for (i=1;i<99;i++)
  for (j=1;j<99;j++) orgData[i][j]=resData[i][j];
  getch();
  }
  }

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 阿拉尔市| 湖南省| 诸暨市| 连山| 将乐县| 璧山县| 岫岩| 汉川市| 那曲县| 措美县| 华蓥市| 康定县| 仙游县| 绩溪县| 栾城县| 观塘区| 玉溪市| 剑阁县| 淮南市| 称多县| 泸溪县| 景洪市| 临泉县| 皋兰县| 淮南市| 武夷山市| 隆德县| 海兴县| 浏阳市| 大埔县| 金川县| 城固县| 沁水县| 许昌县| 雷波县| 天峨县| 云阳县| 抚松县| 繁峙县| 苏尼特右旗| 陈巴尔虎旗|