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

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

Войти
Регистрация
Восстановить пароль
 
 
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
#1

нужно доделать игру немного)(кому не сложно) - C++

25.01.2013, 10:25. Просмотров 494. Ответов 15
Метки нет (Все метки)

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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;
void main()
{
#pragma region Объявления
    enum {SPACE, WALL, SCORE, LIFE};
    enum DIRECTION{UP, DOWN, LEFT, RIGHT};
    const int Y = 24, X = 65;
    int maze[Y][X] = {
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,0,0,0,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,3,1,1,1,1,1,1,1,1,
        1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,0,3,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,0,1,1,1,2,1,1,1,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,1,0,0,0,0,0,0,3,0,0,0,0,0,3,0,0,2,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,0,3,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,1,1,1,0,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
    };
    HANDLE hndl = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD smileCoord = {40, 12}, enemyCoord1 = {55, 22}, enemyCoord2 = {12, 15}, scoreCoord = {68, 5}, livesCoord = {68, 10},wlCoord = {34,11};
        
    DIRECTION enemyDir1 = UP;
    DIRECTION enemyDir2 = LEFT;
    
    int score = 0, lives = 3;
#pragma endregion
#pragma region Отрисовка лабиринта
    for(int i = 0; i < Y; i++)
    {
        for(int j = 0; j < X; j++)
        {
            switch(maze[i][j])
            {
            case SPACE:cout << " ";
                break;
            case WALL:cout << (char)178;
                break;
            case SCORE:
                SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_INTENSITY);
                cout << "$";
                SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY);
                break;
            case LIFE:
                SetConsoleTextAttribute(hndl, FOREGROUND_RED|FOREGROUND_INTENSITY);
                cout << (char)3;
                SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY);
                break;
            }
        }
        cout << "\n";
    }
#pragma endregion
    SetConsoleCursorPosition(hndl, smileCoord);
    SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY);
    cout << (char)2;
    SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);
    while(1)
    {
        if(lives == 0) 
        {
            system("cls");
            SetConsoleCursorPosition(hndl,wlCoord);
            SetConsoleTextAttribute(hndl,FOREGROUND_RED|FOREGROUND_INTENSITY);
            cout << "Проинрали((";
            Sleep(10000);
            exit(1);
        }
        if(score == 1000) 
        {
            system("cls");
            SetConsoleCursorPosition(hndl,wlCoord);
            SetConsoleTextAttribute(hndl,FOREGROUND_GREEN|FOREGROUND_INTENSITY);
            cout << "Вы собрали все бонусы))";
            Sleep(10000);
            exit(1);
        }
#pragma region Движение смайла
        if(_kbhit())
        {
            SetConsoleCursorPosition(hndl, smileCoord);
            cout << " ";
            switch(_getch())
            {
            case 'w':
            case 'W':
                if(maze[smileCoord.Y-1][smileCoord.X] != 1) smileCoord.Y--;
                break;
            case 's':
            case 'S':
                if(maze[smileCoord.Y+1][smileCoord.X] != 1) smileCoord.Y++;
                break;
            case 'a':
            case 'A':
                if(maze[smileCoord.Y][smileCoord.X-1] != 1) smileCoord.X--;
                break;
            case 'd':
            case 'D':
                if(maze[smileCoord.Y][smileCoord.X+1] != 1) smileCoord.X++;
                break;
            case 27:
                exit(1);
            }//switch
            switch(maze[smileCoord.Y][smileCoord.X])
            {
            case SCORE: 
                score += 100;
                break;
            case LIFE: lives++;
                break;
            }
            maze[smileCoord.Y][smileCoord.X] = 0;
        }//if(_kbhit()
        SetConsoleCursorPosition(hndl, smileCoord);
        SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY);
        cout << (char)2;
        SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);
#pragma endregion 
        if (smileCoord.Y == enemyCoord1.Y && smileCoord.X == enemyCoord1.X) lives--;
        if (smileCoord.Y == enemyCoord2.Y && smileCoord.X == enemyCoord2.X) lives--;
#pragma region Движение горизонтального врага
        SetConsoleCursorPosition(hndl, enemyCoord2);
        cout << " ";
        switch(enemyDir2)
        {
        case LEFT:
            if(maze[enemyCoord2.Y][enemyCoord2.X-1] != 1) enemyCoord2.X--;
            else enemyDir2 = RIGHT;
            break;
        case RIGHT:
            if(maze[enemyCoord2.Y][enemyCoord2.X+1] != 1) enemyCoord2.X++;
            else enemyDir2 = LEFT;
            break;
        }
        if (smileCoord.Y == enemyCoord2.Y && smileCoord.X == enemyCoord2.X) lives--;
        SetConsoleCursorPosition(hndl, enemyCoord2);
        SetConsoleTextAttribute(hndl, FOREGROUND_RED|FOREGROUND_INTENSITY);
        cout << (char)1;
        SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);
#pragma endregion
#pragma region Движение вертикального врага
        SetConsoleCursorPosition(hndl, enemyCoord1);
        cout << " ";
        switch(enemyDir1)
        {
        case UP:
            if(maze[enemyCoord1.Y-1][enemyCoord1.X] != 1) enemyCoord1.Y--;
            else enemyDir1 = DOWN;
            break;
        case DOWN:
            if(maze[enemyCoord1.Y+1][enemyCoord1.X] != 1) enemyCoord1.Y++;
            else enemyDir1 = UP;
            break;
        }
        if (smileCoord.Y == enemyCoord1.Y && smileCoord.X == enemyCoord1.X) lives--;
        SetConsoleCursorPosition(hndl, enemyCoord1);
        SetConsoleTextAttribute(hndl, FOREGROUND_RED|FOREGROUND_INTENSITY);
        cout << (char)1;
        SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);
#pragma endregion
        SetConsoleCursorPosition(hndl, scoreCoord);
        cout << "<Бонусов: " << score;
        SetConsoleCursorPosition(hndl, livesCoord);
        cout << "Жизней: " << lives;
        Sleep(150);
    }//while(1)
}//main()
как сделать переход типо на следующий уровень игры, помогите просто вставьте код и сделайте переход на следующий уровень, а там я сам уже доделаю
С++

Добавлено через 10 часов 10 минут
ля ну помогите, так тяжело??
просто код для перехода на 2рой уровень, а сам второй уровень я сам сделаю
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2013, 10:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос нужно доделать игру немного)(кому не сложно) (C++):

Нужно немного доделать программу - C++
Ввести класс для работы с обьектом дробь и реализовать 1) сложение(вычитание) 2)приведение к несократимому виду 1 )пункт программа...

кому не сложно - C++
вот программа которая находит площадь пересечения прямоугольников #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include...

Исправьте кому не сложно - C++
Здравствуйте, поправьте пожалуйста код кому не сложно компилятор dev c++ 4.9.9.2 #include &quot;iostream&quot; #include &lt;string.h&gt; using...

Подправьте код кому не сложно - C++
#include &quot;iostream&quot; #include &lt;stdio.h&gt; using namespace std; class Rastenie { /*îïèñàíèå ýëåìåíòîâ êëàññà Ðàñòåíèé*/ ...

Кому не сложно посмотрите задание по классам - C++
Вот. Нам дали это заданице и неоч понятно что делать. Подскажите кто сможет. Ну я так понял что нужно что то сделать с операторами + - *....

исправить ошибку в коде, пожалуйста, кому не сложно - C++
очень срочно исправить ошибку в коде, пожалуйста, кому не сложно #include &lt;iostream&gt; using namespace std; int sumElem( int SIZE, int...

15
Asker
115 / 103 / 11
Регистрация: 18.12.2010
Сообщений: 378
25.01.2013, 10:34 #2
Вы бы хоть для начала сказали, что за игра, и как она должна работать
0
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
25.01.2013, 10:58  [ТС] #3
принцип игры: в ней лабиринт и бегает добрый смайлик,(должен собрать все жизни и бонусы) а ещё бегают злые смайлики два, про столкновении с ними отнимаются жизни, так я все сделал, только мне нужно в игре сделать 2 уровня, по окончанию сбора всех бонусов игра должна перейти на второй уровень
0
Stanis
52 / 41 / 8
Регистрация: 16.12.2012
Сообщений: 144
25.01.2013, 11:06 #4
Слушай у меня че то добрый смайлик вообще не хочет двигаться , на какие кнопки жать а то он на месте стоит ?
0
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
25.01.2013, 11:14  [ТС] #5
нужно переключить раскладку на английскую, как в обычных играх "w"a"s"d"
1
Stanis
52 / 41 / 8
Регистрация: 16.12.2012
Сообщений: 144
25.01.2013, 11:20 #6
Классно сделал молодец )) Только вместо букв выводятся кракозябры . Ну и со 2 лвл я тебе не помогу , ты вроде как часть программы уже написал въехал в тему так сказать , так что тебе будет даже проще написать этот переход
, чем кому то постороннему во все это вникать и писать .
0
RussDragon
12 / 12 / 1
Регистрация: 08.04.2012
Сообщений: 81
25.01.2013, 11:49 #7
Написать не напишу, но примерный алгоритм скажу:
К уровню добавь счетчик очков, жизней, бонусов. Если бонус собран, то убавляй счетчик на еденицу, и так пока не будет 0. После нуля отрисовывай новый уровень...
0
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
25.01.2013, 13:15  [ТС] #8
у меня не получается, можете сделать только код перехода

Добавлено через 17 минут
для примера что не будь можете скинуть?
0
LiveRos
62 / 67 / 1
Регистрация: 05.10.2012
Сообщений: 240
25.01.2013, 13:28 #9
Расскажите пожалуйста как прога берет зачения 0,1,2,3 для
C++
1
enum {SPACE, WALL,SCORE, LIFE};
Как она понимает что на месте 1(в массиве), при прорисовке должен быть символ char=178 (стена)?
Или ссылку на статью. Заранее спасибо.
0
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
26.01.2013, 02:51 #10
Почему бы не запихнуть всё в функцию, и каждый раз передавать ей новый массив(уровень)?
0
DaZOr
Сообщений: n/a
26.01.2013, 16:28 #11
Цитата Сообщение от VlaDdislav Посмотреть сообщение
cout << "Проинрали(("
возможно допущена ошибка
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
26.01.2013, 16:43 #12
VlaDdislav,
Запихиваешь весь код в функцию, ей передаёшь массив.

Когда всё собрано, немного поменять тело
C++
1
2
3
4
5
6
7
8
9
        if(score == 1000) 
        {
            system("cls");
            SetConsoleCursorPosition(hndl,wlCoord);
            SetConsoleTextAttribute(hndl,FOREGROUND_GREEN|FOREGROUND_INTENSITY);
            cout << "Âû ñîáðГ*ëè ГўГ±ГҐ ГЎГ®Г*ГіГ±Г»))";
            Sleep(1000);
            return 0;
        }
в майне

C++
1
2
3
4
5
int maze[X][Y] = {...};
Function(maze, X, Y);
 
int maze2[X][Y] = {...};
Function(maze2, X, Y);
0
Kgfq
26.01.2013, 17:05
  #13

Не по теме:

VlaDdislav, тебе не в лом было заполнять 24*65 матрицу?

0
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
26.01.2013, 20:08 #14

Не по теме:

Kgfq,
а что там заполнять? ctrl+c, ctrl+v. или она вообще сгенерирована.



Добавлено через 6 минут
Ещё функции можно передать координаты смайла и врагов.
0
SeaMonster
15 / 15 / 0
Регистрация: 31.12.2012
Сообщений: 101
27.01.2013, 01:45 #15
О! Игры кодируешь свои...
Не по делу: Даже я бы постарался не так грубо массив, а прикрутить текстовый файл где эти цифры или лучше - Буквы им соответствующие написаны, и сканировать его в программу.

По делу. Прямо сейчас не решаюсь сесть и сделать код, но.
Простейший способ видится так.
1_ Эту запись int maze[Y][X] = инициализация массива. переделать на примерно int maze[2][Y][X] = чуть более сложная и в два раза большая инициализация массива. в ней - первый уровень и какой надо второй.
2_ ввести переменную Level_it (в смысле - текущий уровень, назвать можно как хочешь). В начале задавать её нулём, что соответствует первому уровню.
3_ везде где надо заменить (возня, но выполнимо для кода такого размера довольно быстро) записи maze[ что-то][что-то] на maze[Level_it][ прежние параметры] Убедиться полностью, что новый код работает точно также!
4_ На какую-то кнопку прикрутить (для теста, игровой переход на уровень - позже) задание Level_it++; т.е. был нулевой - станет первый и повторную прорисовку.
5_ Если всё это сделать, то скорее всего после нажатия той кнопки, на которую повесил - увидишь второй уровень.
Если именно так, то нажав еще раз - увидешь невесть что, так как переменная уровня стала 2, а ничего нормального по этому адресу нет... Исправляется прикруткой проверки типа if(Level_it< какой в данный момент есть максимальный уровень в СИШНЫХ терминах, т.е. если задали два, то для массивов си они Нулевой и Первый, а не первый и второй по логике человека...){Level_it++;}else{либо ничего, либо сообщение об ошибке "Вы и так на последнем уровне"}


Гораздо лучше бы создать Объект поле, который умеет - загрузиться из файла, при помощи функции типа getpole(x,y); возвращать текущий уровень, функциями getLevel() и setLevel(); выставлять ему уровень с априори проверкой , не вылазит ли за имеющиеся уровни... Но это надо серьезно переписать.

Добавлено через 17 минут
Массивы легко переделал, а вот где у тебя вообще обработка клавиатуры - на первый взгляд не понял. Пока так. Тут вручную выставляешь до компиляции ноль или один и видишь в игре первый или второй уровень (у меня второй отличается добавкой квадратика нулей слева сверху, как хочешь - уже сам рисуй)

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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;
int main() /// ГАВ!!! СКОЛЬКО УМНОГО НА ПЛЮСАХ НАПИСАЛ, А ЭЛЕМЕНТАРНОЕ НОРМАЛЬНОЕ ВОЗВРАЩЕНИЕ int-a  main НЕ СДЕЛАЛ! У МЕНЯ void main КОМПИЛЯТОР ПОСЫЛАЛ
{
#pragma region Объявления
    enum {SPACE, WALL, SCORE, LIFE};
    enum DIRECTION{UP, DOWN, LEFT, RIGHT};
    const int Y = 24, X = 65;
    int Level_it=1; //// ПЕРЕМЕННАЯ УРОВНЯ
    int maze[2][Y][X] = {{ //// ТРЕХМЕРНЫЙ МАССИВ ДЛЯ ДВУХ УРОВНЕЙ. далее везде меняем записи на трехиндексные
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,0,0,0,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,3,1,1,1,1,1,1,1,1,
        1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,0,3,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,0,1,1,1,2,1,1,1,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,1,0,0,0,0,0,0,3,0,0,0,0,0,3,0,0,2,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,0,3,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,1,1,1,0,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
    },
{
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,0,0,0,1,1,0,0,0,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,3,1,1,1,1,1,1,1,1,
        1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,
        1,1,1,1,0,3,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,0,1,1,1,2,1,1,1,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,1,0,0,0,0,0,0,3,0,0,0,0,0,3,0,0,2,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,0,3,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,1,1,1,0,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,
        1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
    }
};
    HANDLE hndl = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD smileCoord = {40, 12}, enemyCoord1 = {55, 22}, enemyCoord2 = {12, 15}, scoreCoord = {68, 5}, livesCoord = {68, 10},wlCoord = {34,11};
        
    DIRECTION enemyDir1 = UP;
    DIRECTION enemyDir2 = LEFT;
    
    int score = 0, lives = 3;
#pragma endregion
#pragma region Отрисовка лабиринта
    for(int i = 0; i < Y; i++)
    {
        for(int j = 0; j < X; j++)
        {
            switch(maze[Level_it][i][j])
            {
            case SPACE:cout << " ";
                break;
            case WALL:cout << (char)178;
                break;
            case SCORE:
                SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_INTENSITY);
                cout << "$";
                SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY);
                break;
            case LIFE:
                SetConsoleTextAttribute(hndl, FOREGROUND_RED|FOREGROUND_INTENSITY);
                cout << (char)3;
                SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY);
                break;
            }
        }
        cout << "\n";
    }
#pragma endregion
    SetConsoleCursorPosition(hndl, smileCoord);
    SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY);
    cout << (char)2;
    SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);
    while(1)
    {
        if(lives == 0) 
        {
            system("cls");
            SetConsoleCursorPosition(hndl,wlCoord);
            SetConsoleTextAttribute(hndl,FOREGROUND_RED|FOREGROUND_INTENSITY);
            cout << "Проинрали((";
            Sleep(10000);
            exit(1);
        }
        if(score == 1000) 
        {
            system("cls");
            SetConsoleCursorPosition(hndl,wlCoord);
            SetConsoleTextAttribute(hndl,FOREGROUND_GREEN|FOREGROUND_INTENSITY);
            cout << "Вы собрали все бонусы))";
            Sleep(10000);
            exit(1);
        }
#pragma region Движение смайла
        if(_kbhit())
        {
            SetConsoleCursorPosition(hndl, smileCoord);
            cout << " ";
            switch(_getch())
            {
            case 'w':
            case 'W':
                if(maze[Level_it][smileCoord.Y-1][smileCoord.X] != 1) smileCoord.Y--;
                break;
            case 's':
            case 'S':
                if(maze[Level_it][smileCoord.Y+1][smileCoord.X] != 1) smileCoord.Y++;
                break;
            case 'a':
            case 'A':
                if(maze[Level_it][smileCoord.Y][smileCoord.X-1] != 1) smileCoord.X--;
                break;
            case 'd':
            case 'D':
                if(maze[Level_it][smileCoord.Y][smileCoord.X+1] != 1) smileCoord.X++;
                break;
            case 27:
                exit(1);
            }//switch
            switch(maze[Level_it][smileCoord.Y][smileCoord.X])
            {
            case SCORE: 
                score += 100;
                break;
            case LIFE: lives++;
                break;
            }
            maze[Level_it][smileCoord.Y][smileCoord.X] = 0;
        }//if(_kbhit()
        SetConsoleCursorPosition(hndl, smileCoord);
        SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY);
        cout << (char)2;
        SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);
#pragma endregion 
        if (smileCoord.Y == enemyCoord1.Y && smileCoord.X == enemyCoord1.X) lives--;
        if (smileCoord.Y == enemyCoord2.Y && smileCoord.X == enemyCoord2.X) lives--;
#pragma region Движение горизонтального врага
        SetConsoleCursorPosition(hndl, enemyCoord2);
        cout << " ";
        switch(enemyDir2)
        {
        case LEFT:
            if(maze[Level_it][enemyCoord2.Y][enemyCoord2.X-1] != 1) enemyCoord2.X--;
            else enemyDir2 = RIGHT;
            break;
        case RIGHT:
            if(maze[Level_it][enemyCoord2.Y][enemyCoord2.X+1] != 1) enemyCoord2.X++;
            else enemyDir2 = LEFT;
            break;
        }
        if (smileCoord.Y == enemyCoord2.Y && smileCoord.X == enemyCoord2.X) lives--;
        SetConsoleCursorPosition(hndl, enemyCoord2);
        SetConsoleTextAttribute(hndl, FOREGROUND_RED|FOREGROUND_INTENSITY);
        cout << (char)1;
        SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);
#pragma endregion
#pragma region Движение вертикального врага
        SetConsoleCursorPosition(hndl, enemyCoord1);
        cout << " ";
        switch(enemyDir1)
        {
        case UP:
            if(maze[Level_it][enemyCoord1.Y-1][enemyCoord1.X] != 1) enemyCoord1.Y--;
            else enemyDir1 = DOWN;
            break;
        case DOWN:
            if(maze[Level_it][enemyCoord1.Y+1][enemyCoord1.X] != 1) enemyCoord1.Y++;
            else enemyDir1 = UP;
            break;
        }
        if (smileCoord.Y == enemyCoord1.Y && smileCoord.X == enemyCoord1.X) lives--;
        SetConsoleCursorPosition(hndl, enemyCoord1);
        SetConsoleTextAttribute(hndl, FOREGROUND_RED|FOREGROUND_INTENSITY);
        cout << (char)1;
        SetConsoleTextAttribute(hndl, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);
#pragma endregion
        SetConsoleCursorPosition(hndl, scoreCoord);
        cout << "<Бонусов: " << score;
        SetConsoleCursorPosition(hndl, livesCoord);
        cout << "Жизней: " << lives;
        Sleep(150);
    }//while(1)
}//main()
Добавка. Если ты знаешь где тут у тебя ввод с клавы, то на какую угодно клавишу для начала повесь Level_it=1-Level_it; То есть - если нулевой уровень, то первый, если уже на первом, то вернет на нулевой. Так для игры странно, но для начала - при тестировании всё будет работать, сколько бы ни жал на клавишу, не будет переполнения
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2013, 01:45
Привет! Вот еще темы с ответами:

первый раз пишу программу. Ребята как она пишется? кому не сложно создайте - C++
Написать программу, которая переводит число из 3-й системы счисления в 9-ю, не переводя все число в 10-ю. Выполнить отладку программы с...

нужно исправить ошибку в коде) кому не тяжело - C++
#include &lt;iostream&gt; using namespace std; template&lt; class T &gt; void insertSort(T* a, int size) { T tmp; for (int i = 1,...

Нужно немного исправить код - C++
{ifstream in(&quot;1.txt&quot;); in &gt;&gt; n &gt;&gt; m; a = new int*; for (int i = 0; i &lt; n; ++i) { a = new int; for (int j = 0; j &lt; m; ++j) in...

нужно немного изменить программу) - C++
подскажите, пожалуйста, что нужно изменить в программе, чтобы, например, вместо (5) + i(2) было 5 + 2i, а также вместо (2) + i (-1) ...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
27.01.2013, 01:45
Ответ Создать тему
Опции темы

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