Thứ Sáu, 6 tháng 3, 2015

Game of life ngôn ngữ lập trình C ( game of life in C)


Game of life ngôn ngữ lập trình C ( game of life in C)

các bạn tải sẵn code và chương trình sẵn về game of life TẠI ĐÂY

Game of life hay còn gọi là Life (Cuộc sống) là bài toán thuộc lĩnh vực cellcular automaton được đưa ra bởi John Horton Conway vào năm 1970.

Đây là một trò chơi mà không có người chơi. Sự tiến hóa của trò chơi được xác định bởi trạng thái ban đầu, và không cần thêm đầu vào nữa.


Là mạng lưới các ô (tế bào) tạo nên một không gian hai chiều không giới hạn. Trạng thái của ô: sống hoặc chết. Mỗi tế bào sẽ tương tác với tám hàng xóm (tế bào liền kề). Trạng thái tiếp theo của ô được quyết định theo quy tắc:



1. Ô đang sống mà có ít hơn hai hàng xóm đang sống sẽ chết
2. Ô đang sống mà có nhiều hơn 3 hàng xóm đang sống sẽ chết
3. Ô đang sống mà có 2 hoặc 3 hàng xóm đang sống sẽ tiếp tục sống
4. Ô chết mà có đúng 3 hàng xóm đang sống sẽ chuyển thành ô sống

Mẫu ban đầu là mầm của hệ thống.


đọc thêm về game of life tại ĐÂY


code:

#include <stdio.h>
#include <stdlib.h>
int xoa(char a[27][82],int x,int y);
int in(char a[27][82],int x,int y);
void menu();
int main(int argc, char *argv[]) {
 char a[27][82],b[27][82],c[27][82],d[2]={32,4};
 int i,j,k,t;
//reload screen 
 for(i=0;i<27;i++) for (j=0;j<82;j++) a[i][j]=d[0] ;
 MENU:
 system("cls");
 menu();  
 scanf("%d",&k); 
 switch(k){
  case 1:
   a[2][1] = a[3][2] = a[1][3] = a[2][3] = a[3][3] = d[1];
   break;
  case 2:
   a[7][43] = a[8][42] = a[8][43] = a[8][44] = a[9][42] = a[9][44] = a[10][43] = d[1];
   break;
  case 3:
   a[10][41] = a[10][43] = a[10][45] = a[11][41] = a[11][45] = a[12][41] = a[12][45] = a[13][41] = a[13][45] = a[14][41] = a[14][43] = a[14][45] = d[1];
   break;
  case 4:
   a[5][4] = a[5][5] = a[5][6] = a[5][7] = a[5][8] = a[5][9] = a[5][10] = a[5][11] = a[5][12] = a[5][13] = d[1];
   break;
  case 5:
   a[11][2] = a[11][3] = a[11][4] = a[11][5] = a[12][1] = a[12][5] = a[13][5] = a[14][1] = a[14][4] = d[1];
   break;
  case 6:
   a[7][39] = a[7][40] = a[7][42] = a[7][43] = a[8][39] = a[8][40] = a[8][42] = a[8][43] = a[9][40] = a[9][42] = a[10][38] = a[10][40] = a[10][42] = a[10][44] = a[11][38] = a[11][40] = a[11][42] = a[11][44] = a[12][38] = a[12][39] = a[12][43] = a[12][44] = d[1];
   break;
  case 7:
   a[6][2]=a[7][2]=a[6][3]=a[7][3]=a[6][12]=a[7][12]=a[8][12]=a[5][13]=a[9][13]=a[4][14]=a[10][14]=a[4][15]=a[10][15]=a[7][16]=a[5][17]=a[9][17]=a[6][18]=a[7][18]=a[8][18]=a[7][19]=a[4][22]=a[5][22]=a[6][22]=a[4][23]=a[5][23]=a[6][23]=a[3][24]=a[7][24]=a[2][26]=a[3][26]=a[7][26]=a[8][26]=a[4][36]=a[5][36]=a[4][37]=a[5][37]= d[1];
   break;
  default:
   goto MENU;
 }
 printf("Chon speed - millisecond: ");
 scanf("%d",&t); 
//in mang a 
 for(i=1;i<=24;i++) {  
  for (j=1;j<=79;j++) printf("%c",a[i][j]);
  printf("\n");  
 }
 RUN:
 while (!kbhit()){ 
//xoa man hinh
  system("cls");
//reload mang b
  for(i=0;i<27;i++) for (j=0;j<82;j++) b[i][j]=d[0]; 
//tim vi tri chet
  for(i=1;i<=25;i++) for (j=1;j<=79;j++) if ((a[i][j] == d[1]) && (xoa(a,i,j)!= 2) && xoa(a,i,j)!= 3) b[i][j] = d[1];
//reload mang c
  for(i=0;i<27;i++) for (j=0;j<82;j++) c[i][j]=d[0];
//tim vi tri song
  for(i=1;i<=25;i++) for (j=1;j<=79;j++) if ((a[i][j] == d[0] ) && (in(a,i,j)== 3))c[i][j] = d[1];
//kill vi tri chet 
  for(i=1;i<=25;i++) for (j=1;j<=79;j++) if (b[i][j]==d[1]) a[i][j] = d[0]; 
//khoi phuc vi tri song
  for(i=1;i<=25;i++) for (j=1;j<=79;j++) if (c[i][j]== d[1]) a[i][j] = d[1]; 
//in mang a 
  for(i=1;i<=24;i++) {  
   for (j=1;j<=79;j++) printf("%c",a[i][j]);
   printf("\n");
  }     
 Sleep(t);
 }    
 printf("M = thoat ra menu,R = reset roi thoat ra menu, K = ket thuc : ");
 k=getch();
 k=getch();
 switch(k){
  case 109:
   goto MENU; 
  case 114:
   for(i=0;i<27;i++) for (j=0;j<82;j++) a[i][j]=d[0] ;
   goto MENU;
  case 107:
   break;
  default:
   goto RUN;  
 } 
 return 0;
}

void menu() {
 printf("   ----------------------GAME OF LIFE CUA PHAM TUAN NGOC----------------------\n\n1. Glider \n2. Small Exploder \n3. Exploder\n4. 10 Cell Row\n5. Lightweight Spaceship\n6. Tumbler \n7. Gosper Glider Gun\n\nChon 1 hinh phia tren theo so: ");
}

//khai bao function xoa
int xoa(char a[27][82],int x,int y){
 int i,j,k,t=-1;
 for (i=x-1;i<=x+1;i++) for (j=y-1;j<=y+1;j++){
//vong lenh swich-case xuyen goc man hinh
  switch(i){
   case 0:
    if (a[x][y] == a[25][j]) t=t+1;
    break;
   case 26:
    if (a[x][y] == a[1][j]) t=t+1;
    break;    
  }
  switch(j){
   case 0:
    if (a[x][y] == a[i][79]) t=t+1;
    break;
   case 80:
    if (a[x][y] == a[i][1]) t=t+1;
    break;
   default:
    if (a[x][y] == a[i][j]) t=t+1;
  }
 }
 return t;
}
//khai bao function in
int in(char a[27][82],int x,int y){
 int i,j,k,t=0;
 for (i=x-1;i<=x+1;i++) for (j=y-1;j<=y+1;j++) {
//vong lenh swich-case xuyen goc man hinh  
  switch (i){
   case 0:
    if (a[x][y] != a[25][j]) t=t+1;
    break;
   case 26:
    if (a[x][y] != a[1][j]) t=t+1;
    break;
  }
  switch (j){
   case 0:
    if (a[x][y] != a[i][79]) t=t+1;
    break;
   case 80:
    if (a[x][y] != a[i][1]) t=t+1; 
    break;
   default:
    if (a[x][y] != a[i][j]) t=t+1;
  }
 }
 return t;
}



chúc các bạn vui vẻ :

17 nhận xét:

  1. Nhận xét này đã bị tác giả xóa.

    Trả lờiXóa
  2. 123bet mang đến trải nghiệm cá cược trực tuyến an toàn, giao diện dễ dùng cùng nhiều trò chơi hấp dẫn. Đăng ký nhanh, nạp rút tiện lợi và nhận ưu đãi mỗi ngày dành cho thành viên mới.
    Website: https://123bett.io/
    Địa chỉ: 86-549 Đ. Vĩnh Khánh, Khánh Hội, Hồ Chí Minh, Vietnam
    Điện thoại: 0938493847
    Email: 123bettio@gmail.com
    Hashtag: #123bet #123betoi #game123bet #trangchu123bet #link123bet

    Trả lờiXóa
  3. Hitclub là cổng game bài đổi thưởng đỉnh cao châu Á. Sân chơi uy tín với tỷ lệ nạp rút 1:1 siêu tốc, hệ thống chăm sóc khách hàng chuyên nghiệp hoạt động 24/7.
    Website: https://hitclub1.dev/
    Địa chỉ: 2 Trần Khắc Chân, Tân Định, Hồ Chí Minh, Vietnam
    Điện thoại: 0938938293
    Email: hitclub1dev@gmail.com
    Hashtag: #hitclub #hitclub1dev #taiapphitclub #apphitclub #trangchuhitclub

    Trả lờiXóa
  4. Vn88 cập nhật link vào mới nhất không bị chặn. Đăng ký tài khoản ngay hôm nay để trải nghiệm kho game đổi thưởng phong phú từ bắn cá, slot game đến các giải đấu thể thao đỉnh cao toàn cầu.
    Website: https://vn88.rehab/
    Địa chỉ: Hẻm 764 Phạm Văn Chiêu, Phường 15, Gò Vấp, Hồ Chí Minh, Việt Nam
    Điện thoại: 0383 033 149
    Email: vn88rehab@gmail.com
    Hashtag: #vn88 #vn88rehab #trangchuvn88 #linkvn88 #taivn88

    Trả lờiXóa
  5. Đăng ký tài khoản 789Club cá cược thả ga, nhận ngay code 50k trải nghiệm game bài, nổ hũ độc quyền. Hệ thống nạp rút tự động siêu tốc 1:1, hỗ trợ người chơi 24/7. Tham gia ngay!
    Website: https://kgsr.cn.com/
    Địa chỉ: 19 Nguyễn Tuân, Phường Thanh Xuân, Hà Nội, 100000, Việt Nam
    Điện thoại: 0974 744 788
    Email: 789clubb@gmail.com
    Hashtag: #789clubweb #789clubios #789clubtaixiu #tai789club #789clubandroid #789clubapk #game789club #789clubgame #789clubconggamedoithuong #taigame789club apk #gamebai789club #taigame789clubios #789clubdoithuong24/7 #bet789club

    Trả lờiXóa
  6. Vin777 cung cấp link đăng nhập chính thức không bị chặn, bảo mật thông tin tuyệt đối. Sân chơi cá cược xanh chín, tỷ lệ ăn thưởng cao nhất thị trường và hỗ trợ người chơi chuyên nghiệp 24/7.
    Website: https://vin777.town/
    Địa chỉ: 219 Phan Xích Long, Phường 7, Phú Nhuận, Hồ Chí Minh 700000, Việt Nam
    Điện thoại: 0921 679 642
    Email: contact@vin777.town
    Hashtag: #vin777 #vin777town #trangchuvin777 #nhacaivin777 #linktaivin777

    Trả lờiXóa
  7. HB88 cung cấp link đăng ký và đăng nhập mới nhất không bị chặn. Tham gia trải nghiệm giao diện mượt mà, bảo mật tuyệt đối và hệ thống nạp rút tiền siêu tốc chỉ trong 3 phút.
    Website: https://hb88.us.com/
    Địa chỉ: 115 Võ Duy Ninh, Phường 22, Bình Thạnh, Hồ Chí Minh, Việt Nam
    Điện thoại: 0941 761 168
    Email: contact@hb88uscom
    Hashtag: #hb88 #hb88uscom #trangchuhb88 #linktaihb88 #gamehb88

    Trả lờiXóa
  8. Vn88 cung cấp link vào mới nhất không bị chặn, giao diện thuần Việt thân thiện. Tham gia trải nghiệm cá cược bóng đá, nổ hũ, bắn cá cực hấp dẫn cùng hệ thống nạp rút siêu tốc trong 3 phút.
    Website: https://vn88.ceo/
    Địa chỉ: Hẻm 764 Phạm Văn Chiêu, Phường 15, Gò Vấp, Hồ Chí Minh, Việt Nam
    Điện thoại: 0388 033 149
    Email: vn88ceo@gmail.com
    Hashtag: #vn88 #vn88ceo #trangchuvn88 #linkvn88 #taivn88

    Trả lờiXóa
  9. Win55 cong game doi thuong xanh chin voi hang loat sieu pham ca cuoc: The thao, Casino, Ban ca, No hu. Giao dich nap rut tien sieu toc trong 2 phut va bao mat thong tin an toan tuyet doi.
    Website: https://win55.voto/
    Dia chi: 14 Ng. 129 P. Thien Hien, My Dinh, Nam Tu Liem, Ha Noi, Viet Nam
    Dien thoai: 0972 945 766
    Email: win55.voto@gmail.com
    Hashtag: #win55, #win55_casino, #win55_game, #win55_cong_game

    Trả lờiXóa
  10. Vin777 cung cap lien ket truy cap khong bi chan moi nhat 2026. Tham gia ca cuoc the thao, song bac truc tuyen, ban ca, no hu voi ty le hoan tra sieu hap dan va he thong nap rut sieu toc.
    Website: https://vin777.de.com/
    Dia chi: 219 Phan Xich Long, Phuong 7, Phu Nhuan, Ho Chi Minh 700000, Viet Nam
    Dien thoai: 0921 679 642
    Email: vin777decom@gmail.com
    Hashtag: #vin777 #vin777decom #trangchuvin777 #nhacaivin777 #linktaivin777

    Trả lờiXóa
  11. Vin777 - Link vao trang chu chinh thuc khong bi chan. Dang ky tai khoan hom nay de nhan ngay khuyen mai trai nghiem cuc khung va co hoi rinh qua tang nap dau len den 100% gia tri.
    Website: https://vin777.tel/
    Dia chi: 219 Phan Xich Long, Phuong 7, Phu Nhuan, Ho Chi Minh 700000, Viet Nam
    Dien thoai: 0921 679 642
    Email: vin777.tel@gmail.com
    Hashtag: #vin777 #vin777tel #trangchuvin777 #nhacaivin777 #linktaivin777

    Trả lờiXóa
  12. Sv388 - Link vao he thong da ga Thomo truc tiep khong bi chan. Cung cap ty le cuoc hap dan, nap rut tien nhanh chong trong 3 phut va bao mat thong tin nguoi choi tuyet doi an toan.
    Website: https://sv388.pink/
    Dia chi: 191A D. Pham Phu Thu, Phuong 4, Quan 6, Ho Chi Minh, Viet Nam
    Dien thoai: 0918 637 280
    Email: contact@kamerazzi.tv
    Hashtag: #sv388 #nhacaisv388 #trangchusv388 #sv388loan

    Trả lờiXóa
  13. Sv388 cap nhat link dang nhap chinh thuc khong bi chan moi nhat. Tham gia san choi da ga cua sat, cua dao chuyen nghiep voi ty le hoan tra sieu hap dan va he thong nap rut tien sieu toc.
    Website: https://sv388.app/
    Dia chi: 91A D. Pham Phu Thu, Phuong 4, Quan 6, Ho Chi Minh, Viet Nam
    Dien thoai: 0918 637 280
    Email: contact@sv388.app
    Hashtag: #sv388 #nhacaisv388 #trangchusv388 #sv388loan

    Trả lờiXóa
  14. Cap nhat link tai Sonclub chinh thuc khong bi chan danh cho Android va iOS. Cong game Son club mang den he thong bao mat toi tan, nap rut 1:1 sieu toc va dich vu ho tro khach hang 24/7 uy tin.
    Website: https://sonclub.games/
    Dia chi: 5B/1 D. Quang Trung, Phuong 11, Go Vap, Ho Chi Minh, Viet Nam
    Dien thoai: 0912 467 321
    Email: contact@eatmail.tv
    Hashtag: #sonclub #sonclubgames #trangchusonclub #linktaisonclub #taisonclub

    Trả lờiXóa
  15. C54 - Link truy cap chinh thuc khong bi chan. Tham gia ngay san choi giai tri dang cap quoc te, he thong nap rut sieu toc trong 30 giay cung dich vu ho tro khach hang chuyen nghiep 24/7.
    Website: https://c54.earth/
    Dia chi: 3 Duong Dinh Nghe, Phuong 8, Quan 11, Ho Chi Minh, Viet Nam
    Dien thoai: 0918 573 286
    Email: contact@analcam.tv
    Hashtag: #c54 #nhacaic54 #trangchuc54 #nhacaic54

    Trả lờiXóa
  16. Sv388 cung cap link vao da ga truc tiep khong bi chan moi nhat. Tham gia ngay de theo doi cac tran da ga cua sat Thomo dinh cao va nhan nhieu phan qua hap dan tu nha cai.
    Website: https://sv388.art/
    Dia chi: 191A D. Pham Phu Thu, Phuong 4, Quan 6, Ho Chi Minh, Viet Nam
    Dien thoai: 0918 637 280
    Email: contact@sv388.art
    Hashtag: #sv388 #nhacaisv388 #trangchusv388 #sv388loan

    Trả lờiXóa
  17. Sv66 là cổng game uy tín được hàng triệu người chơi tin tưởng. Cam kết bảo mật thông tin an toàn, nạp rút nhanh chóng trong 3 phút, nổ hũ jackpot lớn cùng vô vàn ưu đãi hoàn trả.
    Website: https://sv66.love/
    Địa chỉ: 33/26/4 Đ. Gò Dầu, Tân Sơn Nhì, Tân Phú, Hồ Chí Minh, Việt Nam
    Điện thoại: 0591 164 726
    Email: support@sv66.love
    Hashtag: #sv66 #sv66love #trangchusv66 #nhacaisv66 #linktaisv66

    Trả lờiXóa