Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- //Библиотеки которые нужно отключить на маке
- #include <conio.h>
- #include <stdlib.h>
- //#define size_x 80
- //#define size_y 25
- int size_x = 80, size_y = 25;
- void game();
- void simulate();
- int check(char *core, int y, int x);
- void display(char *core);
- int main() {
- game();
- return 0;
- }
- void game() {
- char horizontal = '-';
- char vertical = '|';
- char space = ' ';
- char core[25][80];
- // char help[25][80];
- for (int y = 0; y < size_y; y++) {
- for (int x = 0; x < size_x; x++) {
- if (y == 0 || y == 24) {
- core[y][x] = horizontal;
- // help[y][x] = horizontal;
- } else if (x == 0 || x == 79) {
- core[y][x] = vertical;
- // help[y][x] = vertical;
- } else {
- core[y][x] = space;
- // help[y][x] = space;
- }
- }
- }
- core[4][1] = 'x';
- core[4][2] = 'x';
- core[4][3] = 'x';
- core[3][3] = 'x';
- core[2][2] = 'x';
- display(*core);
- //дальше код, который нужно коментить на маке
- int code;
- while(1) {
- code = getch();
- if (code == 32) {
- system("@cls||clear");
- simulate(*core);
- }
- }
- }
- void display(char *core) {
- char (*p_array)[size_x] = core;
- for (int y = 0; y < size_y; y++) {
- for (int x = 0; x < size_x; x++) {
- printf("%c", p_array[y][x]);
- }
- printf("%c", '\n');
- }
- }
- void simulate(char *core) {
- // TODO массив support создается через малок, он динамичсеки
- // TODO дописать чтоб перезаписывал core
- int support[size_y][size_x];
- char (*array)[size_x] = core;
- for (int y = 1; y < size_y - 2; y++) {
- for (int x = 1; x < size_x - 2; x++) {
- support[y][x] = check(*array, y, x);
- }
- }
- for(int y = 1; y < size_y-1; y++){
- for(int x = 1; x < size_x-1; x++){
- if(support[y][x] == 3){
- array[y][x] = 'x';
- }else if(support[y][x] == 2 && array[y][x]== 'x'){
- array[y][x] = 'x';
- }else{
- array[y][x] = ' ';
- }
- }
- }
- display(*array);
- // for (int y = 0; y < size_y; y++) {
- // for (int x = 0; x < size_x; x++) {
- // printf("%c", support[y][x]);
- // }
- // printf("%c", '\n');
- // }
- // int a = check(*array, 2,2);
- // printf("%d",a);
- }
- int check(char *core, int y, int x) {
- char (*array)[size_x] = core;
- int count = 0;
- if (array[y - 1][x - 1] == 'x') count++;
- if (array[y - 1][x] == 'x') count++;
- if (array[y - 1][x + 1] == 'x') count++;
- if (array[y][x - 1] == 'x') count++;
- if (array[y][x + 1] == 'x') count++;
- if (array[y + 1][x - 1] == 'x') count++;
- if (array[y + 1][x] == 'x') count++;
- if (array[y + 1][x + 1] == 'x') count++;
- return count;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement