Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.79/63: Рейтинг темы: голосов - 63, средняя оценка - 4.79
 Аватар для Cmehotron
3 / 3 / 0
Регистрация: 02.05.2013
Сообщений: 40

Танчики на С++

31.07.2013, 12:23. Показов 13155. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Загорелся идеей реализовать стандартные тетрисовские танчики на с++. Но так как я только начал самообучение с++, то решил обратится за советом какие элементы использовать, тип проекта "Приложение Windows Form".
Советичиков типо: пишы на C#/др.языки, "нафик оно тебе надо" прошу воздержаться от сообщений.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.07.2013, 12:23
Ответы с готовыми решениями:

Танчики C++
Здравствуйте! Пишу курсовую. Сроки уже горят. Нужно завтра сдать, а я так и не успел ничего. :cry:Поделитесь, пожалуйста, исходным кодом...

Танчики
Здравствуйте помогите сделать программу типа игры танчики только еще проще чтобы танк тупо катался ко карте без стрельбы и врагов буду...

танчики
здравствуйте, решил попробовать сделать подобие денди-танчиков. Ну и только начал - сразу грабли)) Вопрос: Как лучше оформить движение...

22
 Аватар для Cmehotron
3 / 3 / 0
Регистрация: 02.05.2013
Сообщений: 40
31.07.2013, 16:55  [ТС]
Студворк — интернет-сервис помощи студентам
Спасибо за переезд SatanaXIII,идею твою понял но 3D,кирпичный штаб...Стремится есть куда, но пока я ограничусь прямоугольником в 2D который стоит посреди PictureBox-а.

Добавлено через 1 час 44 минуты
Вопрос знатокам, как из cpp обратится к PictureBox и передать туда значение.
Код Form1.h
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
namespace Игра1 {
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
 
    int m_p[3];
    /// <summary>
    /// Сводка для Form1
    /// </summary>
  //куча системного бреда
 
#pragma endregion
    private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
 
                 Application::Exit();
 
             }
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
 
             m_p[1]= 100;  //начальная точка из сpp
             m_p[2]= m_p[1] + 20;
             m_p[3]= m_p[1] + 30;
             pictureBox1->Refresh();
         }
private: System::Void pictureBox1_Paint(System::Object^  sender, System::Windows::Forms::PaintEventArgs^  e) {
             e->Graphics->DrawLine(System::Drawing::Pens::Black, m_p[1],m_p[1],m_p[3],m_p[1]);
             e->Graphics->DrawLine(System::Drawing::Pens::Red, m_p[3],m_p[1],m_p[3],m_p[2]);
             e->Graphics->DrawLine(System::Drawing::Pens::Black, m_p[3],m_p[2],m_p[1],m_p[2]);
             e->Graphics->DrawLine(System::Drawing::Pens::Red, m_p[1],m_p[2],m_p[1],m_p[1]);
         }
};
и cpp
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
// Игра1.cpp: главный файл проекта.
 
#include "stdafx.h"
#include "Form1.h"
 
using namespace Игра1;
using namespace std;
 
class tank
{
    private:
        int spawn; //точка от которой рассчитывается расположение(рандмное будет)
        bool pc; // кому принадлежит true - человек, false - пк.
    public:
        void position(int sp, int P)
        {
            spawn = sp;
            pc = P;
        }
};
 
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
    // Включение визуальных эффектов Windows XP до создания каких-либо элементов управления
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false); 
 
    // Создание главного окна и его запуск
    Application::Run(gcnew Form1());
    return 0;
}
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
31.07.2013, 19:02
Cmehotron, идея создать что-то простое по форме и интересное, это заманчиво, потому как тянет на сверхзадачу и будоражит воображение.
Давайте представим себе экшн-рпг. На прямоугольном (не обязательно) поле есть 2 кубика (необязательно, прямоугольники тоже подойдут)). Один - зелёный (допустим). Это "хороший" кубик, им управляет игрок. Другой - "злой", красный (тоже не обязательно) и им управляет комп. Красный гоняется за зелёным с целью проглотить. Ему это легче так как изначально силы, жизни, здоровья да и скорости у него побольше. И труба бы нашему зелёному, но на поле то и дело случайным образом появляются "места силы". У красного при наезде на такое место есть фиксированная вероятность прокачать один из скилов. Например 50%. У зелёного же выпадает окошко текстового квестика. Например:
Утверждение:
Аско канама асктрыти чун-дык...
Ассоциации:
1. Гот Овит просит щей и вдруг!
2. Готовит противень Ксенья, друг!
3. Готовит просвещенья двух

3-й это не точный, но самый близкий к оригиналу, то есть правильный вариант и если игрок выберет его, - выпадает дерево умений и способностей для прокачки. Увеличиваем скорость например, т.к. для начала это критично, потому что вероятность успешного взаимодействия с волшебными местами у красного со временем возрастает. Ну а если игрок не угадал, то место силы просто пропадает.
Или что-то в этом роде.
Только кажется PictureBox не шибко заточен под анимацию... Может всё-таки GL ?
0
 Аватар для Cmehotron
3 / 3 / 0
Регистрация: 02.05.2013
Сообщений: 40
02.08.2013, 12:01  [ТС]
Ммм, пожалуйста подскажите почему изменяется только 1 угол?
Кликните здесь для просмотра всего текста
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
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
 
             m_p[1]= 100;
             m_p[2]= m_p[1] + 20;
             m_p[3]= m_p[3] + 30;
             m_p[4]= 100;
             pictureBox1->Refresh();
             textBox1->Focus();
         }
private: System::Void pictureBox1_Paint(System::Object^  sender, System::Windows::Forms::PaintEventArgs^  e) {
             e->Graphics->DrawLine(System::Drawing::Pens::Black, m_p[1],m_p[4],m_p[3],m_p[4]);
             e->Graphics->DrawLine(System::Drawing::Pens::Red, m_p[3],m_p[4],m_p[3],m_p[2]);
             e->Graphics->DrawLine(System::Drawing::Pens::Black, m_p[3],m_p[2],m_p[4],m_p[2]);
             e->Graphics->DrawLine(System::Drawing::Pens::Red, m_p[4],m_p[2],m_p[1],m_p[4]);
         }
private: System::Void textBox1_KeyDown(System::Object^  sender, System::Windows::Forms::KeyEventArgs^  e) {
 
             switch(e->KeyCode)
                 {
             case System::Windows::Forms::Keys::Left:
                 {
                        m_p[1] = m_p[1] - 1;
                        m_p[4] = m_p[4] + 1;
                        pictureBox1->Refresh();
                     break;
                 }
             case System::Windows::Forms::Keys::Up:
                 {
                        m_p[1] = m_p[1] - 1;
                        pictureBox1->Refresh();
                     break;
                 }
             case System::Windows::Forms::Keys::Right:
                 {
                        m_p[1] = m_p[1] + 1;
                        m_p[4] = m_p[4] - 1;
                        pictureBox1->Refresh();
                     break;
                 }
             case System::Windows::Forms::Keys::Down:
                 {
 
                        m_p[4] = m_p[4] + 1;
                        pictureBox1->Refresh();
                     break;
                 }
    
        }
         }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.08.2013, 12:01

Игра танчики
Нужно приложение танчики в программном продукте Lazarus... Задали курсовую на эту тему, а я пропустил весь курс ...

Игрушка Танчики
у меня есть 1 свой танк, 2 вражеских. и сейчас если один вражеский попадет в другого вражеского, то подстреленный исчезает и выходит конец...

Танчики в graphics.h
Здравствуйте! Задали задания в устаревшей и совершенно мне неизвестной библиотеке graphics.h создать игру танки. Я уже прописал движение...

Игра Танчики
Есть у кого исходник программы Танчики подобно на денди? У меня есть программа, но я кажись по случайки какую-то служебную строчку...

Игра Танчики
всем доброго дня суток)не могли бы кто подсказать может кто сталкивался уже надо исходник игры танчики на плюсах чёт порылся в нете не...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru