Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
13 / 13 / 0
Регистрация: 20.02.2010
Сообщений: 35

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

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

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток.
Можете поделится исходником на простенькую игру ( анимацию) написанную на С++ ... ( ну например что бы по экрану хаотично перемещался шар, или другая фигура..
или например фигурка хаотично перемещается и "пожирает" на своём пути символы ... ) что то в этом роде. (по возможности с комментами- хочу понять как работает) компилировать буду в Dev-C++
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.11.2011, 00:31
Ответы с готовыми решениями:

Игра Кости, игра с компьютером
Всем привет! Делаю консольную игру Кости. Условия такие: 1) Перед игрой все игроки бросают кость, первым начинает тот, у кого выпало...

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

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

9
 Аватар для ZaVyLoN
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
29.11.2011, 01:24
Змейка. Когда-то писал. Но не могу найти исходник, нашел только первые наработки.
Управление стрелками вверх, вниз, влево, вправо. Границы не определены.. , нету яблока
Если найду исходник дописанной змейки, выложу.


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

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

Цитата Сообщение от Chelioss Посмотреть сообщение
Ладно, бессмысленно придираться, если не сейчас писали.
Именно.
Может потом посмотрю и отвечу почему это я так написал.
Если конечно смогу понять чем это я думал и зачем так написал
1
13 / 13 / 0
Регистрация: 20.02.2010
Сообщений: 35
29.11.2011, 13:38  [ТС]
Цитата Сообщение от Chelioss Посмотреть сообщение
ZaVyLoN
Да и эта змейка же в консоли с помощью символов выводится, а автор вроде как хочет какую-нибудь технологию/библиотеку/фреймворк посмотреть.
да нет с помощью символов в консоли тоже пойдёт ...
0
 Аватар для ZaVyLoN
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
29.11.2011, 15:32
Тогда Держи еще консольную игру. Имитация жизни.
Код давался на практике. Разбирайся.
Там есть еще задание в *.txt
Вложения
Тип файла: 7z Game.7z (4.5 Кб, 96 просмотров)
1
 Аватар для ZaVyLoN
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
29.11.2011, 17:34
Перезалил.
Вложения
Тип файла: rar Game.rar (4.8 Кб, 129 просмотров)
0
13 / 13 / 0
Регистрация: 20.02.2010
Сообщений: 35
29.11.2011, 22:33  [ТС]
C++
1
  [CPP/CPP]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.11.2011, 22:33
Помогаю со студенческими работами здесь

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

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

Игра в загадки. Загадать загадку. Если ответ верен – поздравить пользователя. Затем сообщить, что игра окончена.
Всем привет! Меня зовут VitoScaletta, совсем недавно начал обучаться JS, но очень тяжело в голову заходит информация, но я не сдаюсь! В...

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru