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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Hunter557
13 / 13 / 0
Регистрация: 20.02.2010
Сообщений: 35
#1

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

29.11.2011, 00:31. Просмотров 2410. Ответов 9
Метки нет (Все метки)

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

Игра слов, игра Scrabble - C++
Задание: Создать программу для решения задачи построения слова из некоторого множества букв (игра Scrabble) используя алгоритмы поиска в...

Анимация. - C++
Я сделала анимацию барашка, он движется ,но, когда он двигается дальше, предыдущие не стираются. Пробовала txClear(), но не работает, а...

Анимация - C++
Как мне нарисовать ромб, так чтобы он менял свою форму, относительно своих углов?

Анимация - C++
Ребята помогите написать анимацию(на ваш выбор). Анимация должна быть не очень сложной) Пожалуйста))

Анимация - C++
Всем привет. Меня интересует такой вопрос. Есть файл *.FBX насколько сложно сделать программу для работы с этим типом. В конкретном случае...

анимация в С++ - C++
как заставить шарик вращаться?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
29.11.2011, 01:24 #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;
}
1
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
29.11.2011, 01:31 #3
ZaVyLoN
Да и эта змейка же в консоли с помощью символов выводится, а автор вроде как хочет какую-нибудь технологию/библиотеку/фреймворк посмотреть.
0
ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
29.11.2011, 01:33 #4
Цитата Сообщение от Chelioss Посмотреть сообщение
А где у вас рисуется змейка?
Да и эта змейка же в консоли с помощью символов выводится, а автор вроде как хочет какую-нибудь технологию/библиотеку/фреймворк посмотреть.
Точно. Извиняюсь.
Прочел между строк и о своем)
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
29.11.2011, 01:33 #5
ZaVyLoN
Почему у вас змейку рисует цикл while(!kbhit()) ?

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

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

Анимация в С++ - C++
Уважаемые, программисты! кто может сделать анимацию в программе С++, рисунок можно самый простой лижбо он был в движение. Зарание огромное...

Анимация в консоли - C++
Как вы делаете анимацию в консоли? Я просто очищал екран вызывал метод который выводил все на екран но оно начиет мигать и как-то не...

Управляемая анимация в C++ - C++
Нарисовать схему электрической цепи, чтобы ключи при нажатии на соответствующие цифры открывались и закрывались, при включеном ключе ток...

Анимация в borland v6 - C++
Доброго времени суток! Подскажите пожалуйста,как мне написать движение объекта в восьми направлениях? Ну,т.е. при нажатии на кнопку с...


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

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

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