Форум вебмастеров

Web программирование Подробное описание программирования ищите в этом разделе. Коммерческие темы запрещены!

Ответ
 
LinkBack Опции темы
Старый 25.02.2010, 16:35 #1 (Ссылка)
Новичок
Дополнительная информация
По умолчанию

Помогите пожалуйста... [builder c++]


Добрый вечер...
Помогите решить проблему в моём коде...
Есть программа (ссылка на источник):
www*intbook*info/C/Glava_03/Index17*htm (вместо * точка .)

И мой вариант (bulder с++ - проэкт):
dl*altfast*ru/content/users/dimka/~temp/kopabl*rar (вместо * точка .)

Проблема заключается в следующем месте:
После компиляции выскакивает две ошибки связанные со строчками:
void __fastcall TForml::Ship(int x, int y)
и
Ship(х, у) ;

Программа не может определить что такое Ship(int x, int y)
Может его как то следует задать или подключить библиотеку, модуль или еще что либо?...
Расскажите пожалуйста...
Заранее огромнейшее спасибо!...
stin_key вне форума   Ответить с цитированиемОтветить с цитированием


Старый 12.03.2010, 17:03 #2 (Ссылка)
Новичок
Дополнительная информация
По умолчанию

МОЙ код программы:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#define Unit1
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <jpeg.hpp>
#include <Filectrl.hpp>
#include "CGRID.h"

AnsiString aPath; // каталог, в котором находится иллюстрация
TSearchRec aSearchRec; // результат поиска файла

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

int x = -68, y = 50; //начально положение точки
//int y = 50; //начально положение точки

//рисуем на поверхности формы кораблик

void __fastcall TForm1::Ship(int x,int y)

{
int dx = 4, dy = 4; //шаг сетки
//int dy = 4; //шаг сетки

/*корпус и надстройку будем рисовать
при помощи метода polygon*/

TPoint p1[7]; //координаты точек корпуса
TPoint p2[8]; //координаты точек надстройки
TColor pc,bc; //текущий цыет карандаша и кисти
//сохраним поточный цвет карандаша и кисти
pc = Canvas->Pen->Color;
bc = Canvas->Brush->Color;

// выставляем нужный цвет карандаша и кисти
Canvas->Pen->Color = clBlack;
Canvas->Brush->Color = clWhite;

//рисуем корпус
p1[0].x = x; p1[0].y = y;
p1[1].x = x; p1[1].y = y-2*dy;
p1[2].x = x+10*dx; p1[2].y = y-2*dy;
p1[3].x = x+ll*dx; p1[3].y = y-3*dy;
p1[4].x = x+17*dx; p1[4].y = y-3*dy;
p1[5].x = x+14*dx; p1[5].y = y;
p1[6].x = x; p1[6].y = y;

Canvas->Polygon(p1,6);

//надстройка
p2[0].x = x+3*dx; p2[0].y = y-2*dy;
p2[1].x = x+4*dx; p2[1].y = y-3*dy;
p2[2].x = x+4*dx; p2[2].y = y-4*dy;
p2[3].x = x+13*dx; p2[3].y = y-4*dy;
p2[4].x = x+13*dx; p2[4].y = y-3*dy;
p2[5].x = x+11*dx; p2[5].y = y-3*dy;
p2[6].x = x+10*dx; p2[6].y = y-2*dy;
p2[7].x = x+3*dx; p2[7].y = y-2*dy;

Canvas->Polygon(p2,7);

Canvas->MoveTo(x+5*dx,y-3*dy);
Canvas->LineTo(x+9*dx,y-3*dy);

//капитанский мостик
Canvas->Rectangle(x+8*dx,y-4*dy,x+11*dx, y-5*dy);

//труба
Canvas->Rectangle(x+7*dx,y-4*dy,x+8*dx,y-7*dy);

//иллюминаторы
Canvas->Ellipse(x+11*dx,y-2*dy,x+12*dx,y-1*dy);
Canvas->Ellipse(x+13*dx,y-2*dy,x+14*dx,y-1*dy);

//мачта
Canvas->MoveTo(x+10*dx,y-5*dy);
Canvas->LineTo(x+10*dx,y-10*dy);

//оснастка
Canvas->Pen->Color = clWhite;
Canvas->MoveTo(x+17*dx,y-3*dy);
Canvas->LineTo(x+10*dx,y-10*dy);
Canvas->LineTo(x,y-2*dy);

//восстановим цвет карандаша и кисти
Canvas->Pen->Color = pc;
Canvas->Brush->Color = bc;
}
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
/* стереть кораблик — закрасить цветом, совпадающим
с цветом фона (формы) */
Canvas->Brush->Color = Form1->Color;
Canvas->FillRect(Rect(x-1,y+1,x+68,y-40));

// вычислить координаты базовой точки
x+=3;

if (x > ClientWidth) {
// кораблик "уплыл" за правую границу формы
x=-70; // чтобы кораблик "выплывал" из-за левой границы формы
y=random(Form1->ClientHeight);
}
// нарисовать кораблик на новом месте
Ship(x,y);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
/* Таймер можно настроить во время разработки программы
(в процессе создания формы) или so время работы программы. */
// настройка и запуск таймера
Timer1->Interval = 100; // период события OnTimer -0.1
stin_key вне форума   Ответить с цитированиемОтветить с цитированием

Старый 02.06.2010, 15:08 #3 (Ссылка)
Новичок
Дополнительная информация
По умолчанию

с этим разобрался сам... а как теперь сделать, что бы он плыл не по прямой а по синусоиде?...
stin_key вне форума   Ответить с цитированиемОтветить с цитированием

Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста с кодом. Денис7 Начинающий кодер 0 24.05.2017 17:34
Помогите разобраться с Parallels Present Builder inna2016 Конструкторы сайтов 0 16.05.2016 00:16
Помогите пожалуйста! Marinec Офф-топ 0 13.08.2012 20:20
Помогите пожалуйста с сайтом! Kytsor Раскрутка сайта 3 25.07.2012 22:54
Проблема с компьютером,помогите,пожалуйста. calledandrey Проблемы с железом 20 03.05.2010 00:24


Текущее время: 07:01. Часовой пояс GMT +3.

Powered by vBulletin®
Copyright ©2000 - 2021, WMboard.
Перевод: zCarot
 

Форум вебмастеров

Здесь делают сайты, учатся на них зарабатывать. Ты новичок, и ничего не понимаешь в создании сайтов и в интернет заработке? Не знаешь ответа на вопрос по сайтостроению? Мучают вопросы сео оптимизации?

Не беда, присоединяйся к сообществу вебмастеров, и зарабатывай вместе с нами!