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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.79
Leohao
0 / 0 / 0
Регистрация: 29.12.2009
Сообщений: 5
#1

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

24.01.2010, 15:11. Просмотров 3112. Ответов 8
Метки нет (Все метки)

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

Пятнашки - C++
# include <iostream> using namespace std; //# include <russian.h> # include <stdlib.h> # include <conio.h> # include <time.h> ...

Игра пятнашки - C++
Игра пятнашки в которой передвижение пустой клетки выполняется с помошью стрелочек

пятнашки на с++(с классами) - C++
Всем привет, у меня такая проблема, надо создать код на с++ с применением объектно- ориентированного подхода. Есть код на с++ без...

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

Подправьте игру пятнашки - C++
Решил написать игрушку 15-ки я хочу что бы прога содержала такие функции: заполнение поля числами в случайном порядке; поиск...

Написать игру «Пятнашки» - C++
Кто знает, как на С++ написать игру «Пятнашки». Программа должна содержать следующие функции: заполнение поля числами в случайном...

Пятнашки не работают. Вывод с cout - C++
Ребят помогите разобрать. Написал. вроде работало. Препод поросил переделать и все посыпалось. По парядку...не работает...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
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
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
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)
Еще ссылки по теме:

Реализация алгоритма игры пятнашки - C++
Умоляю, помогите, нужна реализация алгоритма игры пятнашки, чтобы компьютер сам играл, т.е. фишки передвигал. проблема в том, что классы...

Не работает рекурсивная проверка поля в игре пятнашки - C++
Привет всем. Написал код игры, но проблемы с проверкой условия рекурсии Даже если два массива равны, оно всё равно входит в условие. А...

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

Пятнашки - Как сделать перехват нажатий клавиш в консоли - C++
Собственно есть реализация игры &quot;Пятнашки&quot; wasd и 4862 - управление (оно организовано через передвижение пустой фишки). Пока надо...

Пятнашки. При нажатии кнопки влево выводит ошибку - C++
сама функция void MoveLeft() { for (int i = 0;i&lt;4;i++) { for (int j = 0;j&lt;4;j++) { if(IsElementIsHere == 0) ...


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

Или воспользуйтесь поиском по форуму:
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)
Ответ Создать тему
Опции темы

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