Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/55: Рейтинг темы: голосов - 55, средняя оценка - 4.60
3 / 3 / 0
Регистрация: 30.11.2014
Сообщений: 12

Игра пятнашки

01.02.2015, 14:03. Показов 10717. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Игра пятнашки в которой передвижение пустой клетки выполняется с помошью стрелочек
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.02.2015, 14:03
Ответы с готовыми решениями:

Игра в 15(пятнашки)
Всем доброго времени суток. Помогите, пожалуйста, реализовать алгоритм игры 15(пятнашки). Желательно, ещё псевдокод. Заранее,...

Игра Пятнашки. В чем ошибка кода?
ИГРА ПЯТНАШКИ.В чем ошибка? Прошу исправить. #include <iostream> #include <Windows.h> #include <conio.h> using namespace...

Игра пятнашки при нажатии ''4'' неправильно работает
#include <cstdio> #include <Windows.h> int main(){ /////////////////резервируем память int ** MainArg =new int*; for (int...

3
01.02.2015, 14:07

Не по теме:

похоже на : "Даблчиз меню с колой".


0
12 / 11 / 6
Регистрация: 07.02.2014
Сообщений: 122
01.02.2015, 16:39
Лучший ответ Сообщение было отмечено Vika456 как решение

Решение

Не на стрелках, но переработать легко будет
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <windows.h>
 
#define Mes printf(Rus("Для управления используйте клавиши: I - вверх, J - влево, K - вниз, L - вправо.\nДля выхода из игры нажмите клавишу Q.\n\n"));
char bufRus[256];
char* Rus(const char* text){
    CharToOem(text,bufRus);
   return bufRus;
   };
int** field;
int emptyCell_x, emptyCell_y;
 
void init()
{
    int x,y, i,j;
    srand(time(NULL));
    for(i=1; i<=15;)
    {
        x=rand()%4; y=rand()%4;
        if(field[x][y] == 0) field[x][y] = i++;     
    }
 
    for(i=0; i<4; i++) //to find the empty cell
        for(j=0; j<4; j++)
            if(field[j][i] == 0)
            {
                emptyCell_x=j; emptyCell_y = i; return;
            }
 
}
 
void printField()
{
    int i,j;
    for(i=0; i<4; i++)
    {
        for(j=0; j<4; j++)
            if(field[j][i]) printf("%3d", field[j][i]);
            else printf("  _");
        printf("\n\n");
    }
    printf("\n\n");
}
 
int notEndYet()
{
    int i,j;
    for(i=0; i<3; i++)
        for(j=0; j<4; j++)
            if(field[j][i] != 4*i+j+1) return 0; //go on play
    if(field[0][3] != 13) return 0;
 
    return 1; //victory!   
}
 
 
int move()
{
    char c;
    
    while(1)
    {
        c = getch();
        switch(c)
        {
            case 'j':
                if(emptyCell_x==0)
                {
                    printf("");
                    break;
                }
                else
                {
                    field[emptyCell_x][emptyCell_y] = field[emptyCell_x-1][emptyCell_y];
                    field[emptyCell_x-1][emptyCell_y] = 0;
                    emptyCell_x--;
                    return 1;
                }
            case 'i':
                if(emptyCell_y==0)
                {
                    printf("");
                    break;
                }
                else
                {
                    field[emptyCell_x][emptyCell_y] = field[emptyCell_x][emptyCell_y-1];
                    field[emptyCell_x][emptyCell_y-1] = 0;
                    emptyCell_y--;
                    return 2;
                }
            case 'l':
                if(emptyCell_x==3)
                {
                    printf("");
                    break;
                }
                else
                {
                    field[emptyCell_x][emptyCell_y] = field[emptyCell_x+1][emptyCell_y];
                    field[emptyCell_x+1][emptyCell_y] = 0;
                    emptyCell_x++;
                    return 3;
                }
            case 'k':
                if(emptyCell_y==3)
                {
                    printf("");
                    break;
                }
                else
                {
                    field[emptyCell_x][emptyCell_y] = field[emptyCell_x][emptyCell_y+1];
                    field[emptyCell_x][emptyCell_y+1] = 0;
                    emptyCell_y++;
                    return 4;
                }
            case 'q': exit(1);
            default: Mes
        }
    }
}
 
void main()
{     
     int vb;
      while (vb!=2)
{
     printf(Rus("__________________________ ИГРА ПЯТНАШКИ ___________________________\n"));
     printf(Rus("Игра Пятнашки.\n\n1 - Новая игра\n2 - Выход\n\n"));
     scanf("%d",&vb);
     if (vb==1)
     {
          system("cls");
          field = (int**)calloc(4, sizeof(int*));
      for(int i=0; i<4; i++)
        field[i] = (int*)calloc(4, sizeof(int));
 
      do    init(); while(notEndYet());
      Mes
      printField();
    
          while(!notEndYet())
    {
        move();
        printField();
    }
 
    printf(Rus("\nВы выиграли!\n")); getch();
        system("cls");
      }
}
}
1
0 / 0 / 0
Регистрация: 26.11.2018
Сообщений: 2
26.11.2018, 23:18
https://github.com/kremlev404/... r/15shki.c
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.11.2018, 23:18
Помогаю со студенческими работами здесь

Игра пятнашки, управление мышью или клавишами, перерисовка фишки
Думаю,что все знакомы с игрой пятнашки. Пока я только смогла нарисовать и задать начальное положение фишек.Но как подключить управление,я...

Игра "Пятнашки" в режиме игрок-компьютер
Итак,проблема такова: при игре в режиме игрок-компьютер,компьютер делает максимум 3 хода,либо сдвигает один столбик вниз,либо сдвигает...

Пятнашки
# include &lt;iostream&gt; using namespace std; //# include &lt;russian.h&gt; # include &lt;stdlib.h&gt; # include &lt;conio.h&gt; # include &lt;time.h&gt; ...

Пятнашки в СИ(borland BC)
Люди плиз.подскажите,не могу составить игру пятнашки в СИ(Borland BC).Чет какая-то запара!

Консольные пятнашки
Добрый день,у кого нибуть есть исходник пятнашек на с++, очень срочно надо


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru