Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.96/27: Рейтинг темы: голосов - 27, средняя оценка - 4.96
Oleg06
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 4
#1

Игра "Жизнь" с самым простым кодом

26.02.2015, 21:21. Просмотров 4959. Ответов 7
Метки нет (Все метки)

Здравствуйте, нужна помощь по написанию кода для игры "Жизнь" только на простом уровне, так как еще очень мало разбираюсь в программировании. Надо создать через двухмерный массив, вроде, но не понимаю как. Кто может помочь представить код?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2015, 21:21
Ответы с готовыми решениями:

Игра "жизнь" - глайдер ведет себя не так, как надо
Добрый вечер. Нужно написать игру "жизнь". Реализовал,однако глайдер ведет себя...

Игра "Жизнь"; Нужно, чтобы первое поколение задавалось оператором (с клавиатуры)
Нужна помощь с решением задачи "Жизнь" на с++ Есть код программы, которая...

Игра "Борьба за жизнь". Цель игры – убрать с доски все шашки противника
Здравствуйте! Помогите пожалуйста написать программу на с++. Два игрока...

Игра "Жизнь" и торообразный массив
Подскажите, как можно реализовать торообразный (круговой) массив для игры...

Игра "жизнь" - разобраться в коде
помогите разобраться в коде #define SIZE 20 int a,b; int chk(int x, int...

7
Черный мечник
48 / 49 / 34
Регистрация: 29.12.2012
Сообщений: 445
26.02.2015, 21:32 #2
Вы очертите свое представления этой игры а не только название хотябы на словах как вы ее видете
0
Oleg06
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 4
26.02.2015, 21:46  [ТС] #3
Черный мечник, игра "жизнь" это клеточный автомат, который представляет собой поле, например, если рядом находятся 3 "живых" клетки, то "зарождается" жизнь в новой клетке,дальше, если рядом с "живой" клеткой есть 3 "живых" клетки, то она продолжает "жить", иначе умирает.
Более подробно можно посмотреть в википедии, вот ссылка: https://ru.m.wikipedia.org/wiki/Жизнь_(игра)
0
Черный мечник
48 / 49 / 34
Регистрация: 29.12.2012
Сообщений: 445
26.02.2015, 21:58 #4
Ну вам повизет если у когото будет нечто похожее тут даже среднии коды по обьему невсегда пишут если проше пытаться искать в инете готовый
0
Oleg06
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 4
26.02.2015, 21:59  [ТС] #5
Да я облазил все сайты, все идут очень сложно написанны(
0
schdub
Эксперт С++
3030 / 1374 / 419
Регистрация: 19.01.2009
Сообщений: 3,665
Завершенные тесты: 1
26.02.2015, 22:15 #6
Oleg06, вот это глядели? Написано на С++, но впринципе все просто и можно на С переписать без проблем.
0
Persefona
0 / 0 / 5
Регистрация: 24.02.2015
Сообщений: 27
26.02.2015, 22:25 #7
Oleg06, самый простой алгоритм: создать два массива. один для нынешнего поколения, второй для следующего. проверять каждую клетку и считать количество соседей
0
MrGluck
Модератор
Эксперт CЭксперт С++
8078 / 4931 / 1431
Регистрация: 29.11.2010
Сообщений: 13,367
27.02.2015, 10:50 #8
Завалялось с 1 семестра, вроде бы работает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define SIZEX 41
#define SIZEY 21
 
int main ()
{
    setlocale(LC_ALL,"Russian");
    char tmp[SIZEX][SIZEY], scr[SIZEX][SIZEY];
    int x, y, z=0;
    for (y=0;y<=SIZEY-1;y++) for (x=0;x<=SIZEX-1;x++) tmp [x][y] = ' ';
    for (y=0;y<=SIZEY-1;y++) for (x=0;x<=SIZEX-1;x++) scr [x][y] = ' ';
 
    // Рисуем живые клетки в поле
    scr[26][4] = '*';
    scr[26][5] = '*';
    scr[26][6] = '*';
    scr[27][5] = '*';
    scr[28][5] = '*';
    scr[28][6] = '*';
    scr[28][7] = '*';
 
    //----------------
    int d, i;
    printf("Количество поколений: ");
    scanf("%i", &d);
    for (i=1;i<=d;i++)
    {
        system("cls");
        for (y=1;y<=SIZEY-2;y++) for (x=1;x<=SIZEX-2;x++) tmp[x][y] = scr[x][y];
        for (y=1;y<=SIZEY-2;y++)
        {
            for (x=1;x<=SIZEX-2;x++)
            {
                if (tmp[x][y] == ' ')
                {
                    if (tmp[x-1][y-1] == '*') z++;
                    if (tmp[x][y-1] == '*') z++;
                    if (tmp[x+1][y-1] == '*') z++;
                    if (tmp[x+1][y] == '*') z++;
                    if (tmp[x+1][y+1] == '*') z++;
                    if (tmp[x][y+1] == '*') z++;
                    if (tmp[x-1][y+1] == '*') z++;
                    if (tmp[x-1][y] == '*') z++;
                    if (z == 3) scr[x][y] = '*';
                    z = 0;
                } else
                {
                    if (tmp[x-1][y-1] == '*') z++;
                    if (tmp[x][y-1] == '*') z++;
                    if (tmp[x+1][y-1] == '*') z++;
                    if (tmp[x+1][y] == '*') z++;
                    if (tmp[x+1][y+1] == '*') z++;
                    if (tmp[x][y+1] == '*') z++;
                    if (tmp[x-1][y+1] == '*') z++;
                    if (tmp[x-1][y] == '*') z++;
                    if ((z == 2) || (z == 3))
                    {
                        scr [x][y] = '*';
                        z = 0;
                    } else
                    {
                        scr [x][y] = ' ';
                        z = 0;
                    }
                }
            }
        }
        for (y=1;y<=SIZEY-2;y++)
        {
            for (x=1;x<=SIZEX-2;x++)
            {
                printf ("%c", scr[x][y]);
            }
            printf("\n");
        }
        getchar();
    }
    system("pause");
    return 0;
}
0
27.02.2015, 10:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2015, 10:50

Игра "Жизнь"
Пожалуйста скиньте кто нибуть код проги написаной на С++ console application,...

игра "жизнь"
Помогите,пожалуйста,разобраться как работает программа, особенно в функции...

Игра "Жизнь"
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru