Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
Hunter557
13 / 13 / 0
Регистрация: 20.02.2010
Сообщений: 35
1

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

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

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

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

Анимация в JavaFX или игра Tank1990
Здравствуйте. Начал учить JavaFX, сейчас делаю игру Танки. Сделал карту, танк, и их взаимодействие....

Анимация в OpenGL, а где собсно, анимация?
// Bounce.cpp // Demonstrates a simple animated rectangle program with GLUT // OpenGL SuperBible,...

Бюджет 4500 гр. Конфигурация работа в Office, AutoCAD, игра Assassin, онлайн игра World of Tanks
Собираю компьютер для сестры. Основные требования: работа в Microsoft Office, AutoCAD, игра...

Игра в «Одиннадцать предметов», игра Баше.
прошу помощи в создании программы! Разработать программную модель следующей игры двух...

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

А не какая-нибудь функция?
Ладно, бессмысленно придираться, если не сейчас писали.
0
ZaVyLoN
84 / 84 / 20
Регистрация: 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
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
29.11.2011, 15:32 8
Тогда Держи еще консольную игру. Имитация жизни.
Код давался на практике. Разбирайся.
Там есть еще задание в *.txt
1
Вложения
Тип файла: 7z Game.7z (4.5 Кб, 95 просмотров)
ZaVyLoN
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
29.11.2011, 17:34 9
Перезалил.
0
Вложения
Тип файла: rar Game.rar (4.8 Кб, 124 просмотров)
Hunter557
13 / 13 / 0
Регистрация: 20.02.2010
Сообщений: 35
29.11.2011, 22:33  [ТС] 10
C++
1
  [CPP/CPP]
0
29.11.2011, 22:33
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2011, 22:33

Как сделать так, чтобы при нажатии на кнопку "Новая игра" игра начиналась заново?
Как сделать так, чтобы при нажатии на кнопку &quot;Новая игра&quot; игра начиналась заново? unit1.cpp void...

Существует ли игра такая игра?
Всем привет. Существует ли такая игра, где, допустим, мы находимся на космическом корабле, в...

Анимация
Препод задал экранизировать припев песни: Тра-та-та, тра-та-та, Мы везем с собой кота, Чижика,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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