Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2008, 23:18   #1
IgorArhangel
Пользователь
 
Регистрация: 20.12.2008
Сообщений: 20
Вопрос Видеосистема

Извините я перепутал разделы! Сначала написал не в тот раздел!
Немного затерялся на сайте, буду внимательней!
Я студент на понедельник нужно программку.
Я начал разрабатывать программу, которая должна изображать в режиме 1024х768х64К закрашенный конус(любой цвет), который можно плавно передвигать по экрану стрелками вверх, вниз, влево, вправо.
Дошел до определенного момента, когда не получается полностью закрасить конус и не получается определить как конус перемещать.
Может кто-то подскажет путь дальнейшей разработки программы.
Заранее благодарю!
Код:
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <graphics.h>
int main (void)
{ clrscr();
int i,k=0;
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "");
{
{ setcolor (4);
line(250,305,315,90);
line(390,305,315,90);
line(250,305,390,305);
fillellipse(320,305,70,40);
setfillstyle(1,4);
floodfill(320,305,0);
setfillstyle(1,5);
floodfill(320,220,0);
}
}
//closegraph();
getch();
return 0;}
IgorArhangel вне форума Ответить с цитированием
Старый 21.12.2008, 00:41   #2
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Можно попробовать так:

Код:
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <graphics.h>
int main (void)
{
clrscr();
int i,k=0;
int d=1;
int X=200;
int Y=100;
char c=1;
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "");
setcolor (4);
do
{
if (c!=0)
{
setbkcolor(0);
cleardevice();
setcolor(4);
setfillstyle(SOLID_FILL,4);
fillellipse(X,Y+200,70,40);
line(X-70,Y+200,X,Y);
line(X+70,Y+200,X,Y);
floodfill(X,Y+20,4);
c=0;
}

if(kbhit()!=0)
{
 c=getch();
 switch (c)
{
	case ('8'):
	Y=Y-10;
	break;
	case ('2'):
	Y=Y+10;
	break;
	case ('4'):
	X=X-10;
	break;
	case ('6'):
	X=X+10;
	break;
  case (27): d=0;break;
}
}
}
while(d==1);
closegraph();
return 0;}
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 21.12.2008, 01:28   #3
IgorArhangel
Пользователь
 
Регистрация: 20.12.2008
Сообщений: 20
Вопрос Не хочет

Всё оно нормально только вот конус не перемещается!
IgorArhangel вне форума Ответить с цитированием
Старый 21.12.2008, 01:45   #4
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Перемещение по кнопочкам 8,2,4,6 на NumPad, соответственно NumLock должен быть нажат. Ну или переделайте под стрелочки:

Код:
if(kbhit()!=0)
{
 c=getch();
 switch (c)
{
	case (72):
	Y=Y-10;
	break;
	case (80):
	Y=Y+10;
	break;
	case (75):
	X=X-10;
	break;
	case (77):
	X=X+10;
	break;
  case (27): d=0;break;
}
}
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 21.12.2008, 14:21   #5
IgorArhangel
Пользователь
 
Регистрация: 20.12.2008
Сообщений: 20
По умолчанию Благодарю

Огромное спасибо!
IgorArhangel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц