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
Đâ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ẻ :
Nhận xét này đã bị tác giả xóa.
Trả lờiXóa123bet 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.
Trả lờiXóaWebsite: 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
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.
Trả lờiXóaWebsite: 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
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.
Trả lờiXóaWebsite: 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
Đă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!
Trả lờiXóaWebsite: 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
vin777 cung cấp link truy cập chính thức không bị chặn cùng hệ thống bảo mật tuyệt đối. Đăng ký tài khoản hôm nay để nhận ngay code tân thủ trải nghiệm các siêu phẩm nổ hũ, bắn cá cực hấp dẫn.
Trả lờiXóaWebsite: https://vin777.porn/
Địa chỉ: 91, 41/12 Đ. T8, Tây Thạnh, Hồ Chí Minh 700000, Vietnam
Điện thoại: 0928 378 973
Email: vin777.porn@gmail.com
Hashtag: #vin777 #vin777porn #trangchuvin777 #nhacaivin777 #linktaivin777
Vin777 cap nhat link vao trang chu moi nhat khong bi chan boi cac nha mang. Tham gia ca cuoc the thao, no hu, ban ca va song bai truc tuyen voi giao dien muot ma va he thong bao mat an toan tuyet doi.
Trả lờiXóaWebsite: https://vin777.gripe/
Dia chi: 102 D. T8, Tay Thanh, Ho Chi Minh, Vietnam
Dien thoai: 0927 378 289
Email: vin777gripe@gmail.com
Hashtag: #vin777 #vin777gripe #trangchuvin777 #nhacaivin777 #linktaivin777
vin777 mang đến cho bạn không gian giải trí đỉnh cao với các sảnh casino, thể thao và bắn cá đẳng cấp. Đăng ký tài khoản ngay hôm nay để không bỏ lỡ cơ hội nhận khuyến mãi chào mừng thành viên mới 179k.
Trả lờiXóaWebsite: https://vin777.uno/
Địa chỉ: 110 Đ. Kênh 19/5, Tây Thạnh, Hồ Chí Minh, Vietnam
Điện thoại: 0973 288 378
Email: vin777uno@gmail.com
Hashtag: #vin777 #vin777gripe #trangchuvin777 #nhacaivin777 #linktaivin777