Форум программистов, компьютерный форум, киберфорум
Наши страницы

Движение прямоугольника - Delphi

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Delphi Распознание печатных символов http://www.cyberforum.ru/delphi-multimedia/thread228563.html
Распознание печатного текста Дано изображение с текстом " ...Я жил в Киеве 14 декабря 2001, но переехал в Харьков из-за ..."- 14 шрифтом Arial Программа должна распознать эти символы, этот текст (...
Delphi А как написать графический редактор типа Paint Помогите пожалуста кто знает как написать графический редактор типа Paint скинте примеры, исходники, ссылки зарание благодарю!!! http://www.cyberforum.ru/delphi-multimedia/thread228502.html
Как сделать коды для игры (как в GTA)? Delphi
Помогите пожалуста как сделать коды в игу как в GTA кпримеру вводиш пуля и у тебя прибовляется пули зарание блогадарю!!!
Как сделать скриншот, получая данные непосредственно из видеопамяти. Delphi
Я так предполагаю, нужно использовать asm вставки. Искал в сети исходники, но так и не нашел.
Delphi Графика в Delphi. Вычерчивание полигонов. http://www.cyberforum.ru/delphi-multimedia/thread228059.html
Помогите написать программу: 1. Вычерчивающую заданный выпуклый полигон с n вершинами. 2. Вычерчивающую заданный звездчатый полигон с n вершинами. 3. Вычерчивающую заданный выпуклый полигон и...
Delphi Как сделать чтобы при нажатие кнопки появлялось сообщение Помогите пожалуйста как сделать чтобы при нажатие кнопки на форме появлялось сообщение например Провет. Зарание благодарю!!! подробнее

Показать сообщение отдельно
ATtiCUN
0 / 0 / 0
Регистрация: 07.07.2009
Сообщений: 25

Движение прямоугольника - Delphi

14.01.2011, 00:09. Просмотров 821. Ответов 0
Метки (Все метки)

Здравствуйте! У меня проблема с этой работой. Программа идет. Но прямоугольник движется по диагонали,а мне нужно,чтобы он двигался по горизонтали с определенным заданным шагом и задержкой в одну секунду. Подскажите,пожалуйста,как это сделать.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <graphics.h>
#include <dos.h>
class gr_init
{
public:
gr_init(int driver = 0)
{
*gd = driver;
initgraph(gd, gm, "");
if(graphresult() != 0) {printf("Error!"); abort();}
}
~gr_init()
{
closegraph();
}
private:
int *gd, *gm;
};

class gr_obj
{
public:
gr_obj(int col = 7)
{_color = col;}
virtual void draw() = 0;
int color()
{
return _color;
}
public:
void show()
{
setcolor(color()); draw();
}
void hide()
{
cback = getcolor(); setcolor(getbkcolor()); draw(); setcolor(color());
}
private:
int _color, cback;
};

class point: public gr_obj
{
public:
point(int xp = 0, int yp = 0, int col = 7): gr_obj(col)
{setpx(xp); setpy(yp); show();}
~point()
{
hide();
}
void draw()
{
putpixel(x, y, color());
}
int getpx()
{
return x;
}
void setpx(int px)
{
x = px;
}
int getpy()
{
return y;
}
void setpy(int py)
{
y = py;
}
private:
int x, y;
};
class pryam: public point
{
public:
pryam(int xc = 0, int yc = 0, int pa = 0, int col = 7): point(xc, yc, col)
{a = pa; show(); }
~pryam()
{
hide();
}
void draw()
{
rectangle(getpx(),getpy(),getpx1(), getpy1());
}
int getpx1()
{
return x1;
}
void setpx1(int px)
{
x1 = px;
}
int getpy1()
{
return y1;
}
void setpy1(int py)
{
y1 = py;
}
void move(int newx, int newy, int newx1, int newy1)
{
hide();
setpx(newx); setpy(newy);
setpx1(newx1); setpy1(newy1);
show();
}
private:
int x1, y1, a;
};

void main()
{
gr_init gr(0);
pryam pr(300-50, 300-50, 300+50, 300+50);
for(int i = 1; i < 57; i++)
{
pr.move(100-100+i*2,100-100+i*2,100+100+i*2,100+100+i*2); delay(200);
}
getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.