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

создание игры "Точки" - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.76
VS18
0 / 0 / 0
Регистрация: 06.01.2011
Сообщений: 4
06.01.2011, 15:54     создание игры "Точки" #1
я только начел программировать. может кто-то уже делал?? Выложите код, чтобы разобраться)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2011, 15:54     создание игры "Точки"
Посмотрите здесь:

C++ Необработанное исключение в "0x54a2d2e9 (msvcr100d.dll)" в "3.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc".
Необработанное исключение в "0x1027c9c7 (msvcr100d.dll)" в "gh.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfeeefeee". C++
Программа, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова "ноль", "один",..."девять" C++
Необработанное исключение в "0x0fc1d484 (msvcr100d.dll)" в "1.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00aee0af" C++
Создание программы наподобие игры "кто хочет стать миллионером" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vladimir616
110 / 110 / 3
Регистрация: 05.07.2009
Сообщений: 224
06.01.2011, 16:16     создание игры "Точки" #2
Я змейку делал, могу выложить её .
tomaticus
 Аватар для tomaticus
46 / 46 / 2
Регистрация: 02.01.2011
Сообщений: 505
06.01.2011, 22:31     создание игры "Точки" #3
а я сделал 3д шутер =) правдо подлаг чуть
Katerina Seliva
 Аватар для Katerina Seliva
234 / 43 / 4
Регистрация: 05.01.2011
Сообщений: 197
06.01.2011, 22:32     создание игры "Точки" #4
Выложите что нибудь посмотреть, интересно))
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
06.01.2011, 22:36     создание игры "Точки" #5
Поддерживаю ! )
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
06.01.2011, 22:36     создание игры "Точки" #6
Змейка интересна
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
06.01.2011, 22:40     создание игры "Точки" #7
шутер тоже кульная вещи4ка )
tomaticus
 Аватар для tomaticus
46 / 46 / 2
Регистрация: 02.01.2011
Сообщений: 505
06.01.2011, 23:01     создание игры "Точки" #8
а как выкладывать то*?

Добавлено через 1 минуту
vs 18 могу помоч,заинтересуешься пиши в лс асю дам
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
06.01.2011, 23:03     создание игры "Точки" #9
tomaticus, нажмите "Ответить" и там на панели будет скрепочка) Отправляй архив с прогой.
Vladimir616
110 / 110 / 3
Регистрация: 05.07.2009
Сообщений: 224
06.01.2011, 23:13     создание игры "Точки" #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот змейка:

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
// Тихонов Владимир, [email]Tikhonow.Vladimir@gmail.com[/email]
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <time.h>
#define BLUE 9
#define GREEN 10
#define WHITE 11
#define RED 12
#define YELLOW 14
#define VERTICAL_SPEED 140 // чем больше показатель, тем меньше скорость
#define HORISONTAL_SPEED 70
using namespace std;
//--------------------------------------------------------------------------------------------------------------------------
COORD AppleCord = {0,0}; // координаты яблока
COORD coord[100] = {0}; // коордиаты змеи
int direction = 4; //направление движения : 1 - вверх, 2 - вниз, 3 - влево, 4 - вправо.
int SnakeLength = 6; // длинна змеи
void SetAndDraw(int x, int y, char symbol[100] = "_", int color = WHITE); // умеет двигать курсор, выводить любой текст
//разными цветами
void DrawInfo(); // рисует поле и прочую фигню
void DrawApple(); // рисует яблоко
void SnakeMain(); // управление змейкой
void MoveSnake(); // передвижение змейки
void CheckForEvents(); // а не случилось что со змейкой?
void ShowLoseScreen();
//--------------------------------------------------------------------------------------------------------------------------
int main()
{
    setlocale(LC_ALL, "rus");
    DrawInfo();
    DrawApple();
    SnakeMain();
    return 0;
}
//--------------------------------------------------------------------------------------------------------------------------
void SetAndDraw(int x, int y, char symbol[100], int color)
{
    int temp = 0;
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD position = {x, y};
    SetConsoleCursorPosition(hConsole, position);
    if(color != WHITE)
    {
        SetConsoleTextAttribute(hConsole, color);
        temp = 1;
    }
    if(symbol != "_")
        cout << symbol;
    if(temp)
        SetConsoleTextAttribute(hConsole, WHITE);
}
void DrawInfo()
{
    SetAndDraw(32, 0, "Змейка v1.1", YELLOW);
    SetAndDraw(25, 1, "Тихонов Владимир, (c) 2009", YELLOW);
    // рисуем границы
    for(int i = 0; i<80; i++) // верх
        SetAndDraw(i, 3, "#", RED);
    for(int i = 4; i<22; i++) // левая сторона
        SetAndDraw(0, i, "#", RED);
    for(int i = 1; i<80; i++) // низ
        SetAndDraw(i, 21, "#", RED);
    for(int i = 21; i>3; i--) // правая сторона
        SetAndDraw(79, i, "#", RED);
    SetAndDraw(0, 23,"   Управление: ", BLUE);
    cout.put(24);
    SetAndDraw(17, 23, " - вверх, ", BLUE);
    cout.put(25);
    SetAndDraw(28, 23, " - вниз, ", BLUE);
    cout.put(27);
    SetAndDraw(38, 23, " - влево, ", BLUE);
    cout.put(26);
    SetAndDraw(49, 23, " - вправо, ", BLUE);
    SetAndDraw(60, 23, "пробел");
    SetAndDraw(66, 23, " - пауза.", BLUE);
}
void DrawApple()
{
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsole, YELLOW);
    srand(time(0));
    AppleCord.X = rand() % 78 + 1;
    AppleCord.Y = rand() % 16 + 4;
    SetAndDraw(AppleCord.X, AppleCord.Y);
    cout.put(4);
    SetConsoleTextAttribute(hConsole, WHITE);
}
void SnakeMain()
{
    int choose, speed;
    SetAndDraw(5, 18, "ooooo", GREEN);
    cout.put(1);
    for(int i = 0, k = 10; i <= SnakeLength; i++, k--) // задаём начальные координаты
    {
        coord[i].X = k;
        coord[i].Y = 18;
    }
    while(true)
    {
        if(direction == 1 || direction == 2)
            speed = VERTICAL_SPEED;
        else
            speed = HORISONTAL_SPEED;
        while(!_kbhit()) // пока  ничего не нажато
        {
            MoveSnake();
            Sleep(speed);
        }
        choose = _getch();
        switch(choose)
        {
            case 72: // нажата клавиша вверх
                if(direction != 2)
                    direction = 1;
                break;
            case 80: // нажата клавиша вниз
                if(direction != 1)
                    direction = 2;
                break;
            case 75: // нажата клавиша влево
                if(direction != 4)
                    direction = 3;
                break;
            case 77: // нажата клавиша вправо
                if(direction != 3)
                    direction = 4;
                break;
            case 32: // нажат пробел
                _getch();
        }
    }
}
void MoveSnake()
{
    COORD temp, temp1;
    for(int i = 0; i <= SnakeLength; i++) // новые координаты
    {
        if(i == 0) // для головы в зависимости от направления
        {
            temp = coord[i];
            if(direction == 1)
                coord[i].Y--;
            if(direction == 2)
                coord[i].Y++;
            if(direction == 3)
                coord[i].X--;
            if(direction == 4)
                coord[i].X++;
        }
        else // для туловища просто присваиваем старую координату впередиидущего кружка
        {
            temp1 = temp;
            temp = coord[i];
            coord[i] = temp1;
        }
    }
        SetAndDraw(coord[SnakeLength].X, coord[SnakeLength].Y, " "); // стираем хвост
        SetAndDraw(coord[0].X, coord[0].Y); // рисуем голову
        cout.put(1);
        SetAndDraw(coord[1].X, coord[1].Y, "o", GREEN); // вместо старой головы рисуем кружок
        CheckForEvents();
}
void CheckForEvents()
{
    if(coord[0].X == 0 || coord[0].X == 79 || coord[0].Y == 3 || coord[0].Y == 21) // встретились со стеной
    {
        ShowLoseScreen();
    }
    if((coord[0].X == AppleCord.X) & (coord[0].Y == AppleCord.Y)) // сьели яблоко
    {
        SnakeLength++;
        DrawApple();
    }
    for(int i = 1; i <= SnakeLength; i++) // наткнулись на себя
        if((coord[0].X == coord[i].X) & (coord[0].Y == coord[i].Y))
        {
            ShowLoseScreen();
        }
}
void ShowLoseScreen()
{
    system("cls");
    int i = 3;
    while(i)
    {
        SetAndDraw(33, 11, "Вы проиграли", RED);
        Sleep(600);
        SetAndDraw(33, 11, "            ");
        Sleep(500);
        i--;
    }
    exit(0);
}
Snake.rar
Ar2Di2
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 4
06.01.2011, 23:15     создание игры "Точки" #11
У меня есть крестики-нолики)))
apachan
13 / 13 / 2
Регистрация: 07.12.2010
Сообщений: 127
06.01.2011, 23:15     создание игры "Точки" #12
Крутяк
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
06.01.2011, 23:17     создание игры "Точки" #13
Класс, мне понравилось !)))
Ar2Di2
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 4
06.01.2011, 23:20     создание игры "Точки" #14
Змейка хорошая получилась
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
06.01.2011, 23:22     создание игры "Точки" #15
теперь ждём в новом выпуске 3D шутер! )
Katerina Seliva
 Аватар для Katerina Seliva
234 / 43 / 4
Регистрация: 05.01.2011
Сообщений: 197
07.01.2011, 00:29     создание игры "Точки" #16
Класс!)
KuKu
 Аватар для KuKu
1538 / 1016 / 69
Регистрация: 17.04.2009
Сообщений: 2,946
07.01.2011, 00:52     создание игры "Точки" #17
Вот, флаг вам в руки !) Пишите "Го" сразу, а со мной миллоном поделитесь за идею
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.01.2011, 09:54     создание игры "Точки" #18
Vladimir616, очень понравилось
Вот с такими маленькими примерами всё больше и больше хочется осваивать программирование(что и делаю)
tomaticus
 Аватар для tomaticus
46 / 46 / 2
Регистрация: 02.01.2011
Сообщений: 505
07.01.2011, 12:58     создание игры "Точки" #19
блин простите,3д не получится выложить(,но буду стораться. А то не грузит и не грузит. Может вес большой.... А так мало весит,могу выложить свой пейнт и свой интернет обозреватель.

Добавлено через 4 минуты
да блин,как тут файл вставить не нахожуууу

Добавлено через 2 минуты
Неккоректный файл,и чего делать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2011, 13:00     создание игры "Точки"
Еще ссылки по теме:

Создание простой игры, каким образом распределить "обязанности" C++
Создание объекта класса сразу после его описания (между "}" и ";") C++
C++ Создание 2D-игры для C++ "Волк-яйцелов"

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

Или воспользуйтесь поиском по форуму:
Vladimir616
110 / 110 / 3
Регистрация: 05.07.2009
Сообщений: 224
07.01.2011, 13:00     создание игры "Точки" #20
tomaticus, запакуй в архив (rar или zip).
Yandex
Объявления
07.01.2011, 13:00     создание игры "Точки"
Ответ Создать тему
Опции темы

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