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

Разборка кода игры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти сумму четных элементов массива http://www.cyberforum.ru/cpp-beginners/thread1170591.html
Пожалуйста помогите, найти сумму четных элементов массива.
C++ Аналог wctomb Здравствуйте! Необходим аналог функции wctomb без использования функций библиотеки C\C++ и WinAPI. То есть, конвертация строки wchar_t в char. Помогите пожалуйста с реализацией. http://www.cyberforum.ru/cpp-beginners/thread1170582.html
C++ Вывод случайного массива, вылетает программа
Программа генерирует случайный двумерный массив, выводит его в файл, потом читает и выводит на экран из этого файла. При нажатии клавиши 2 в меню программа пишет "Прекращена работа программы". Заранее спасибо за помощь. #include <iostream> //библиотека ввода/вывода #include <windows.h> //установка команд операционной системы #include <fstream> ...
C++ Кодировка чтения файла
Здравствуйте, форумчане! Возникла небольшая прроблемка.. Читаю данные из файла: #include <iostream> #include <vector> #include <fstream>
C++ Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка http://www.cyberforum.ru/cpp-beginners/thread1170543.html
Доброго времени суток)) Необходимо записать функцию Бесселя первого рода нулевого порядка. Записала, вроде как, по формуле.. с помощью знакопеременного ряда, но при компиляции пишет: pow: DOMAIN error , может кто-нибудь встречался с похожим, или может я, что упустила в коде?? Заранее спасибо)) int Fkt(int b) { int f = 1; for (int i = 1; i <= b; i++) f *= i; return(f) ; } double...
C++ Вывести "неа" в случае, если ничего не ввёл в Edit1 string a; a=Edit1->Text.t_str(); if(Edit1->Text.t_str()) { ShowMessage(" неа "); return; } помогите как сделать в случае если ничего не ввёл в Edit1 т.е. пустая строка, вывести "неа" подробнее

Показать сообщение отдельно
flyman
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 94
12.05.2014, 16:49  [ТС]     Разборка кода игры
Интересуют некоторые части кода, в которых не могу разобраться:
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
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if(!MoveInvaders())
        {
        Timer1->Enabled=false;
        ShowMessage("Вы проиграли");
        if(Lifes>0)
                {
                Lifes--;
                InvadersSpeed-=0.5;
                NewGame();
                }else
                {
                ShowMessage("У вас нет больше жизней, прийдется начать сначала");
                InvadersSpeed=0;
                Lifes=3;
                Scores=0;
                NewGame();
                }
        Timer1->Enabled=true;
        }
if(LEFT)Ship.x-=3;
if(RIGHT)Ship.x+=3;
MoveBullet();
if(IsPobeda())
        {
        Timer1->Enabled=false;
        ShowMessage("Вы победили");
        NewGame();
        Timer1->Enabled=true;
        }
ClearBack();
DrawAllInvaders();
Ship.Draw();
 
BackScreen->Canvas->Brush->Style=bsClear;
BackScreen->Canvas->TextOut(10,10,"Жизней:"+IntToStr(Lifes));
BackScreen->Canvas->TextOut(10,30,"Очков:"+IntToStr(Scores));
BackScreen->Canvas->Brush->Style=bsSolid;
 
Flip();
}
Как здесь действует таймер?

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
void TForm1::MoveBullet()
{
 if(!Ship.Fired)
        {
        Ship.BulletPos.x=Ship.x+14;
        Ship.BulletPos.y=Ship.y-6;
        }else
        {
        Ship.BulletPos.y-=10;
        Ship.Time++;
        if(Ship.Time>40)  //При выходе за экран
                {
                Ship.Fired=false;
                }
 
        TInvaders*temp;
        for(int i=0;i<Invaders->Count;i++)
                {
                temp=(TInvaders*)Invaders->Items[i];
                if((Ship.BulletPos.x>=temp->x)&&(Ship.BulletPos.x<=temp->x+30)&&
                   (Ship.BulletPos.y>=temp->y)&&(Ship.BulletPos.y<=temp->y+30))
                        {
                        Ship.Fired=false;
                        Ship.Time=100;
                        Invaders->Delete(i);
                        Scores+=10;
                        delete temp;
                        break;
                        }
                }
        }
}
И вот здесь непонятки, это процедура для движения пули или что то другое?
 
Текущее время: 04:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru