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

S

stin_key

Добрый вечер...
Помогите решить проблему в моём коде...
Есть программа (ссылка на источник):
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)
Может его как то следует задать или подключить библиотеку, модуль или еще что либо?...
Расскажите пожалуйста...
Заранее огромнейшее спасибо!...
 
S

stin_key

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


#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; //начально положение точки


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

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



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)
{

Timer1->Interval = 100; // период события OnTimer -0.1
 
S

stin_key

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

Статистика форума

Темы
200.483
Сообщения
380.307
Пользователи
327.890
Новый пользователь
рикитики
Сверху Снизу