powered by simpleCommunicator - 2.0.27     © 2024 Programmizd 02
Map
Форумы / C++ [игнор отключен] [закрыт для гостей] / Движение игрока по клику мыши на С++ builder
10 сообщений из 10, страница 1 из 1
Движение игрока по клику мыши на С++ builder
    #40107372
Razuvai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Движение игрока по клику мыши на С++ builder???
...
Рейтинг: 0 / 0
Движение игрока по клику мыши на С++ builder
    #40107391
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Razuvai, мы можем добавить движение по клику мышки. Я уверен на 100%. Просто в форуме скорее
всего никто не хочет писать игру с нуля. Так что ты давай кидай что уже есть.
...
Рейтинг: 0 / 0
Движение игрока по клику мыши на С++ builder
    #40107400
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
void OnClick()
{
  MoveGamerToCPPBuilder();
  return;
};
...
Рейтинг: 0 / 0
Движение игрока по клику мыши на С++ builder
    #40108881
Razuvai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
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.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int a,b,c,d,e,f,g,h,z,x,k,l,a1,a2,a3;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if (f==1) {
a=a+1;
if (a==1) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/2.bmp");
if (a==2) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/3.bmp");
if (a==3) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/4.bmp");
if (a==4) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/5.bmp");
if (a==5) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/6.bmp");
if (a==6) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/7.bmp");
if (a==7) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/8.bmp");
if (a==8) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/9.bmp");
if (a==8) a=0;
}
if (g==1) {
h=h+1;
if (h==1) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/11.bmp");
if (h==2) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/12.bmp");
if (h==3) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/13.bmp");
if (h==4) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/14.bmp");
if (h==5) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/15.bmp");
if (h==6) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/16.bmp");
if (h==7) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/17.bmp");
if (h==8) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/18.bmp");
if (h==8) h=0;
}
if (z==1) {
x=x+1;
if (x==1) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/19.bmp");
if (x==2) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/20.bmp");
if (x==3) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/21.bmp");
if (x==4) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/22.bmp");
if (x==5) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/23.bmp");
if (x==5) {
Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/23.bmp");
TRect r;
if(IntersectRect(r, Image1->BoundsRect, Image3->BoundsRect)) {
Image3->Left=Image3->Left+10;
Timer6->Enabled=true;
}
}
if (x==6) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/23.bmp");
if (x==7) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/1.bmp");
if (x==8) x=0;
if (x==7) z=0;
if (x==7) Timer1->Enabled=false;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)

{
if (Key=='D') {
b=1;
f=1;
Timer2->Enabled=true;
Timer1->Enabled=true;
}
if (Key=='W') {
c=1;
f=1;
Timer2->Enabled=true;
Timer1->Enabled=true;
}
if (Key=='A') {
d=1;
g=1;
Timer2->Enabled=true;
Timer1->Enabled=true;
}
if (Key=='S') {
e=1;
f=1;
Timer2->Enabled=true;
Timer1->Enabled=true;
}
if (Key=='F') {
z=1;
Timer1->Enabled=true;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
if (b==1) Image1->Left=Image1->Left+1;
if (c==1) Image1->Top=Image1->Top-1;
if (d==1) Image1->Left=Image1->Left-1;
if (e==1) Image1->Top=Image1->Top+1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormKeyUp(TObject *Sender, WORD &Key, TShiftState Shift)
{
if (Key=='D') {
b=0;
f=0;
Timer2->Enabled=false;
Timer1->Enabled=false;
Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/1.bmp");
}
if (Key=='W') {
c=0;
f=0;
Timer2->Enabled=false;
Timer1->Enabled=false;
Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/1.bmp");
}
if (Key=='A') {
d=0;
g=0;
Timer2->Enabled=false;
Timer1->Enabled=false;
Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/10.bmp");
}
if (Key=='S') {
e=0;
f=0;
Timer2->Enabled=false;
Timer1->Enabled=false;
Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/1.bmp");
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer3Timer(TObject *Sender)
{
DoubleBuffered=true;
Timer3->Enabled=false;
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Timer4Timer(TObject *Sender)
{
k=rand()%3;
if (k==0) Image3->Left=Image3->Left+3;
if (k==1) Image3->Top=Image3->Top-3;
if (k==2) Image3->Left=Image3->Left-3;
if (k==3) Image3->Top=Image3->Top+3;
l=l+1;
if (l==1) Image3->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/11.bmp");
if (l==2) Image3->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/12.bmp");
if (l==3) Image3->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/13.bmp");
if (l==4) Image3->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/14.bmp");
if (l==5) Image3->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/15.bmp");
if (l==6) Image3->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/16.bmp");
if (l==7) Image3->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/17.bmp");
if (l==8) Image3->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/18.bmp");
if (l==8) l=0;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer5Timer(TObject *Sender)
{
Image3->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/10.bmp");
Timer5->Enabled=false;
Timer4->Enabled=true;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer6Timer(TObject *Sender)
{
a1=a1+1;
if (a1==1) Image3->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/25.bmp");
if (a1==2) Image3->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/24.bmp");
if (a1==2) Timer6->Enabled=false;
if (a1==2) Timer4->Enabled=false;
if (a1==2) Timer5->Enabled=true;
if (a1==2) a1=0;


}
...
Рейтинг: 0 / 0
Движение игрока по клику мыши на С++ builder
    #40109002
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сильно много лишнего.

Вот эта колбаса

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
if (a==1) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/2.bmp");
if (a==2) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/3.bmp");
if (a==3) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/4.bmp");
if (a==4) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/5.bmp");
if (a==5) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/6.bmp");
if (a==6) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/7.bmp");
if (a==7) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/8.bmp");
if (a==8) Image1->Picture->LoadFromFile("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/9.bmp");



Может сворачиваться в

Код: plaintext
1.
Image1->Picture->LoadFromFile(CString::format("C:/Users/Razuv/OneDrive/Рабочий стол/1234/Свои проги/z/%d.bmp", (a+1) % 8);



Сделай такой рефакторинг чтоб хоть уменьшить число букв.
...
Рейтинг: 0 / 0
Движение игрока по клику мыши на С++ builder
    #40109042
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем деление по модулю?
Чтобы получить ноль вместо девяти?
...
Рейтинг: 0 / 0
Движение игрока по клику мыши на С++ builder
    #40109066
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я дал направление. Подправте баг за меня кому не лень.
...
Рейтинг: 0 / 0
Движение игрока по клику мыши на С++ builder
    #40109316
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

направление на уровне "ввести в заблуждение".
для выполнения кода неважно, для удобочитаемости - бардак
и самое главное - что "всем лень"
---------
"свернуть" l=l+1; в ++l; это круче...
...
Рейтинг: 0 / 0
Движение игрока по клику мыши на С++ builder
    #40109320
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не пишите фигню.

какая еще загрузка с файла по таймеру....(
...
Рейтинг: 0 / 0
Движение игрока по клику мыши на С++ builder
    #40109324
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Razuvai, игра пока не оптимизирована. До того как добавлять клики мышей - надо сделать так чтоб ресурсы (картинки)
загружались только 1 раз. У тебя щас как-то уж очень не оптимально.

Предпод завернёт тебя обратно.

Давай весь проект сюда. У меня под рукой нет этого компиллятора но думаю что у кого-то из мемберов есть.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Движение игрока по клику мыши на С++ builder
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]