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

[C++] Игра (анимация) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Hunter557
13 / 13 / 0
Регистрация: 20.02.2010
Сообщений: 35
29.11.2011, 00:31     [C++] Игра (анимация) #1
Всем доброго времени суток.
Можете поделится исходником на простенькую игру ( анимацию) написанную на С++ ... ( ну например что бы по экрану хаотично перемещался шар, или другая фигура..
или например фигурка хаотично перемещается и "пожирает" на своём пути символы ... ) что то в этом роде. (по возможности с комментами- хочу понять как работает) компилировать буду в Dev-C++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2011, 00:31     [C++] Игра (анимация)
Посмотрите здесь:

C++ Анимация
C++ Анимация.
C++ анимация в С++
C++ Анимация в С++
Анимация C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ZaVyLoN
 Аватар для ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
29.11.2011, 01:24     [C++] Игра (анимация) #2
Змейка. Когда-то писал. Но не могу найти исходник, нашел только первые наработки.
Управление стрелками вверх, вниз, влево, вправо. Границы не определены.. , нету яблока
Если найду исходник дописанной змейки, выложу.


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
#include <iostream>  
#include <time.h> 
#include <stdio.h> 
#include <windows.h> // для HANDLE, курсора, цвета
#include <conio.h>  //для kbhit
 
using namespace std;
HANDLE hConsole;
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
 
void GotoXY(int X, int Y)
{
    COORD coord = { X, Y };
    SetConsoleCursorPosition(hStdOut, coord);
} 
struct Zmeja            // структура змейка 
{
    COORD *t;           //точки
    int PCount;         //количество яблок
};
enum uprawlenie{LEFT,UP,RIGHT,DOWN};
struct Game //даные-точности: змейки, яблок, передвижение по X и Y, задержка, направление
{
    Zmeja gaduka; //змейка
    COORD jabloko; //яблоко
    int dx,dy, //передвижение
        pause; //задержка
    int nap; //направление
    
};
 
void skorostGame(Game &g)
{
    system("cls");
    g.gaduka.PCount = 6; //сколько точек в змейки
    g.gaduka.t = new COORD [6];//создали точки
    for(int i = 0; i < 6; i++)
    {
        g.gaduka.t[i].X = 20 + i;
        g.gaduka.t[i].Y = 13;
        
    }
    g.dx = 1;
    g.dy = 0;
    g.pause = 77;//скорость передвижение змеи
 
}
enum {KONEC, STENA,  PLUS, MOVE};
int Move(Game &g)
{
    int & n = g.gaduka.PCount;
    COORD head = g.gaduka.t[n - 1]; //голова
    COORD tail = g.gaduka.t[0]; //хвост
    COORD next;
    next.X = head.X + g.dx;
    next.Y = head.Y + g.dy; //проверка следующей точки по направлению
    
    
        
    for(int i = 0; i < n - 1; i++)
    g.gaduka.t[i] = g.gaduka.t[i + 1];
    g.gaduka.t[n - 1] = next;
    SetConsoleCursorPosition(hConsole,tail);//закрашиваем хвостик
    cout<<" ";
    
    SetConsoleCursorPosition(hConsole,head);
    SetConsoleTextAttribute(hConsole, 0x0a);//красим хвост змеи в зелений цвет
    char ff =  42; //Ascii код нашей  змейки  42 - *
    cout<<ff;
    SetConsoleCursorPosition(hConsole,next);
    SetConsoleTextAttribute(hConsole,0x0f); //красим курсор в белый цвет (голову змеи) 
    //printf("%c",64);
    char c = 64;      //Ascii код нашей головы змейки  64 - @
    cout<<c;
    return MOVE;
}
 
int main()
{
    hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    int key = 0, count = 0;
    Game g;
    skorostGame(g);
    while(key != 27)
    {
        while(!kbhit()) //ждет пока нажмем
        {
            switch (Move(g))//движение
            {
                
            case PLUS:
                ++count;
            }
            
            Sleep(g.pause); //Задержка
        }
        key = getch();
        
        if(key==0||key==224)
        {
            key=getch();
            
            if(key == 72 && g.nap != DOWN)
            {
                g.nap = UP;
                g.dx = 0;
                g.dy = -1;
            }
            else if(key == 80 &&g.nap != UP)
            {
                g.nap = DOWN;
                g.dx = 0;
                g.dy = 1;
            }
            else if(key == 75 && g.nap != RIGHT)
            {
                g.nap = LEFT;
                g.dx = -1;
                g.dy = 0;
            }
            else if(key == 77 && g.nap != LEFT)
            {
                g.nap = RIGHT;
                g.dx = 1;
                g.dy = 0;
            }
        }
    }
    return 0;
}
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
29.11.2011, 01:31     [C++] Игра (анимация) #3
ZaVyLoN
Да и эта змейка же в консоли с помощью символов выводится, а автор вроде как хочет какую-нибудь технологию/библиотеку/фреймворк посмотреть.
ZaVyLoN
 Аватар для ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
29.11.2011, 01:33     [C++] Игра (анимация) #4
Цитата Сообщение от Chelioss Посмотреть сообщение
А где у вас рисуется змейка?
Да и эта змейка же в консоли с помощью символов выводится, а автор вроде как хочет какую-нибудь технологию/библиотеку/фреймворк посмотреть.
Точно. Извиняюсь.
Прочел между строк и о своем)
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
29.11.2011, 01:33     [C++] Игра (анимация) #5
ZaVyLoN
Почему у вас змейку рисует цикл while(!kbhit()) ?

А не какая-нибудь функция?
Ладно, бессмысленно придираться, если не сейчас писали.
ZaVyLoN
 Аватар для ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
29.11.2011, 01:42     [C++] Игра (анимация) #6
Chelioss
Если честно, без понятия почему.

Цитата Сообщение от Chelioss Посмотреть сообщение
Ладно, бессмысленно придираться, если не сейчас писали.
Именно.
Может потом посмотрю и отвечу почему это я так написал.
Если конечно смогу понять чем это я думал и зачем так написал
Hunter557
13 / 13 / 0
Регистрация: 20.02.2010
Сообщений: 35
29.11.2011, 13:38  [ТС]     [C++] Игра (анимация) #7
Цитата Сообщение от Chelioss Посмотреть сообщение
ZaVyLoN
Да и эта змейка же в консоли с помощью символов выводится, а автор вроде как хочет какую-нибудь технологию/библиотеку/фреймворк посмотреть.
да нет с помощью символов в консоли тоже пойдёт ...
ZaVyLoN
 Аватар для ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
29.11.2011, 15:32     [C++] Игра (анимация) #8
Тогда Держи еще консольную игру. Имитация жизни.
Код давался на практике. Разбирайся.
Там есть еще задание в *.txt
Вложения
Тип файла: 7z Game.7z (4.5 Кб, 81 просмотров)
ZaVyLoN
 Аватар для ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
29.11.2011, 17:34     [C++] Игра (анимация) #9
Перезалил.
Вложения
Тип файла: rar Game.rar (4.8 Кб, 107 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2011, 22:33     [C++] Игра (анимация)
Еще ссылки по теме:

Анимация символов C++
Анимация в игре C++
Анимация C++

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

Или воспользуйтесь поиском по форуму:
Hunter557
13 / 13 / 0
Регистрация: 20.02.2010
Сообщений: 35
29.11.2011, 22:33  [ТС]     [C++] Игра (анимация) #10
C++
1
  [CPP/CPP]
Yandex
Объявления
29.11.2011, 22:33     [C++] Игра (анимация)
Ответ Создать тему
Опции темы

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