Форум программистов, компьютерный форум CyberForum.ru

Пятнашки в СИ(borland BC) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.79
Leohao
0 / 0 / 0
Регистрация: 29.12.2009
Сообщений: 5
24.01.2010, 15:11     Пятнашки в СИ(borland BC) #1
Люди плиз.подскажите,не могу составить игру пятнашки в СИ(Borland BC).Чет какая-то запара!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2010, 15:11     Пятнашки в СИ(borland BC)
Посмотрите здесь:

C++ Реализация алгоритма игры пятнашки
Консольные пятнашки C++
C++ Русские хелпы по Borland C++ 5.* и Borland C++ Bulder
C++ Пятнашки
C++ Пятнашки. При нажатии кнопки влево выводит ошибку
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mr.Loner
 Аватар для Mr.Loner
42 / 42 / 4
Регистрация: 23.01.2010
Сообщений: 152
24.01.2010, 15:24     Пятнашки в СИ(borland BC) #2
В чем запара?
В таблицу записывай как числа стоят и все. Где пусто, там 0 пиши. Добавь к этому функции Up, Down, Left, Right. Все.
Leohao
0 / 0 / 0
Регистрация: 29.12.2009
Сообщений: 5
24.01.2010, 15:45  [ТС]     Пятнашки в СИ(borland BC) #3
блин я вот только сел за изучение СИ,а уже просят пятнашки написать!

Добавлено через 3 минуты
мне бы исходник(,Я бы тогда посидел и разобрался!
Mr.Loner
 Аватар для Mr.Loner
42 / 42 / 4
Регистрация: 23.01.2010
Сообщений: 152
24.01.2010, 15:49     Пятнашки в СИ(borland BC) #4
Я бы написал, но ухожу. Приду через 3 часа. Если никто не напишет, то сделаю.
Leohao
0 / 0 / 0
Регистрация: 29.12.2009
Сообщений: 5
24.01.2010, 15:57  [ТС]     Пятнашки в СИ(borland BC) #5
буду благодарен! очень охото разобраться с этой задачей!)
Mr.Loner
 Аватар для Mr.Loner
42 / 42 / 4
Регистрация: 23.01.2010
Сообщений: 152
24.01.2010, 21:01     Пятнашки в СИ(borland BC) #6
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
#include <iostream>
#include <time.h>
 
using namespace std;
void Init(int a[4][4], int& pos)
//pos-номер пустой клетки
{
    //заполняем по-порядку
    for(int i=0; i<16; i++)
        a[i/4][i%4]=i;
    //генерируем случайную последовательность
    srand(time(0));
    for(int i=0; i<15; i++)
    {
        int j=rand()%(16-i)+i;
        int tmp=a[j/4][j%4];
        a[j/4][j%4]=a[i/4][i%4];
        a[i/4][i%4]=tmp;
        if (a[i/4][i%4]==0)
            pos=i;
    }
}
bool GameOver(int a[4][4], int pos)
{
    if (pos!=16)
        return false;
    for(int i=15; i>-1; i--)
        if (a[i/4][i%4]!=i)
            return false;
    return true;
}
void Print(int a[4][4])
{
    for(int i=0; i<4; i++)
    {
        for(int j=0; j<4; j++)
        {
            if (a[i][j]!=0)
                cout<<a[i][j];
            cout<<"\t";
        }
        cout<<endl;
    }
}
void Move(int a[4][4], int& pos, int k)
{
    int i,j;
    if (pos>4 && a[pos/4-1][pos%4]==k)
    {
        i=pos/4-1;
        j=pos%4;
    }
    else
    {
        if (pos<12 && a[pos/4+1][pos%4]==k)
        {
            i=pos/4+1;
            j=pos%4;
        }
        else
        {
            if (pos%4>0 && a[pos/4][pos%4-1]==k)
            {
                i=pos/4;
                j=pos%4-1;
            }
            else
                if (pos%4<3 && a[pos/4][pos%4+1]==k)
                {
                    i=pos/4;
                    j=pos%4+1;
                }
        }
    }
    a[pos/4][pos%4]=a[i][j];
    a[i][j]=0;
    pos=i*4+j;
}
void main()
{
    int a[4][4];
    int pos, k;
    Init(a,pos);
    while(!GameOver(a,pos))
    {
        system("cls");
        Print(a);
        cin>>k;
        if (k>=1 && k<=15)
            Move(a,pos,k);
    }
    cout<<"YOU WIN!!!";
    return;
}
Добавлено через 21 минуту
Забыл в комменты добавить. Нужно вводить число, которое хотим подвинуть.
Leohao
0 / 0 / 0
Регистрация: 29.12.2009
Сообщений: 5
25.01.2010, 11:09  [ТС]     Пятнашки в СИ(borland BC) #7
cпсиб за задачу,но написана она для С++,а я пока работаю в си(ВС.ехе).Поэтому у меня ничего и не выходит((,а еще и графику попросили сделать в задачу(.Вот и парюсь
Mr.Loner
 Аватар для Mr.Loner
42 / 42 / 4
Регистрация: 23.01.2010
Сообщений: 152
25.01.2010, 15:16     Пятнашки в СИ(borland BC) #8
На BC исправить несложно, а функцию Move лучше заменить на Left, Right, Up, Down, как я сначала говорил.
Перемещение мышью или клавиатурой?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2010, 18:31     Пятнашки в СИ(borland BC)
Еще ссылки по теме:

Игра пятнашки при нажатии ''4'' неправильно работает C++
Игра пятнашки C++
Пятнашки не работают. Вывод с cout C++

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

Или воспользуйтесь поиском по форуму:
Leohao
0 / 0 / 0
Регистрация: 29.12.2009
Сообщений: 5
25.01.2010, 18:31  [ТС]     Пятнашки в СИ(borland BC) #9
клавой нужно!

Добавлено через 2 часа 46 минут
воощпе не получается
Yandex
Объявления
25.01.2010, 18:31     Пятнашки в СИ(borland BC)
Ответ Создать тему
Опции темы

Текущее время: 14:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru