|
0 / 0 / 0
Регистрация: 28.07.2011
Сообщений: 42
|
||||||
Компиляция27.08.2011, 23:21. Показов 4086. Ответов 33
При компиляции выходит
[ILINK32 Error] Error: Unresolved external '_main' referenced from C:\PROGRAM FILES\EMBARCADERO\RAD STUDIO\7.0\LIB\C0X32.OBJ в чем ошибка и с чем это может быть связано ? вот код программы
0
|
||||||
| 27.08.2011, 23:21 | |
|
Ответы с готовыми решениями:
33
Компиляция
|
|
|
|
| 13.09.2011, 10:19 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 07.09.2011
Сообщений: 20
|
|
| 13.09.2011, 15:54 | |
|
Такс, скину тогда весь код из всех форм:
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop USEFORM("Unit1.cpp", Form1); USEFORM("Unit2.cpp", Form2); USEFORM("Unit3.cpp", Form3); USEFORM("Unit4.cpp", Form4); //--------------------------------------------------------------------------- WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { try { Application->Initialize(); Application->CreateForm(__classid(TForm2), &Form2); Application->CreateForm(__classid(TForm1), &Form1); Application->CreateForm(__classid(TForm3), &Form3); Application->CreateForm(__classid(TForm4), &Form4); Application->Run(); } catch (Exception &exception) { Application->ShowException(&exception); } return 0; } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit2.h" #include "Unit1.h" #include "Unit3.h" #include "Unit4.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm2 *Form2; //--------------------------------------------------------------------------- __fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm2::Button2Click(TObject *Sender) { Form2->Close(); } //--------------------------------------------------------------------------- void __fastcall TForm2::Button1Click(TObject *Sender) { Form1->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm2::Button3Click(TObject *Sender) { Form3->Memo1->Lines->Clear(); Form3->Memo1->Lines->LoadFromFile("FILE1.txt"); Form3->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm2::Button4Click(TObject *Sender) { Form4->Memo1->Lines->Clear(); Form4->Memo1->Lines->LoadFromFile("FILE2.txt"); Form4->Show(); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- #include <vcl.h> #include<stdio.h> #pragma hdrstop #include "Unit1.h" #include "Unit2.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; Graphics::TBitmap*back; bool LeftKeyDown,RightKeyDown; int LevelData[2][520]= { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0, 0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,2,0,0,0, 0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,0, 0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0, 3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3, 0,3,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,3,0, 0,0,3,1,1,1,1,2,2,2,2,2,2,1,1,1,1,3,0,0, 0,0,0,3,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0, 0,0,0,0,3,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0, 0,0,0,0,0,3,1,1,1,1,1,1,1,1,3,0,0,0,0,0, 0,0,0,0,0,0,3,1,1,1,1,1,1,3,0,0,0,0,0,0, 0,0,0,0,0,0,0,3,1,1,1,1,3,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,3,1,1,3,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, }; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { randomize(); for(int j=0;j<20;j++) for(int i=0;i<20;i++) { Level[i][j]=0; } LeftKeyDown=false; RightKeyDown=false; PositionBall(); CurrentLevel=1; } //--------------------------------------------------------------------------- void TForm1::LoadBlockPicture() { Graphics::TBitmap*b=new Graphics::TBitmap(); Block[0]=NULL; b->LoadFromFile("препятствия.bmp"); for(int i=1;i<5;i++) { Block[i]=new Graphics::TBitmap(); Block[i]->Width=25; Block[i]->Height=15; Block[i]->Canvas->CopyRect(Rect(0,0,25,15), b->Canvas, Rect(0,(i-1)*15,25,(i-1)*15+15)); } b->Free(); } void TForm1::CheckBorders() { if(BallX<0) { if(BallSpeedX<=0)BallSpeedX*=-1; }else if(BallX>(dx-9)) { if(BallSpeedX>0)BallSpeedX*=-1; }else if(BallY<0) { if(BallSpeedY<=0)BallSpeedY*=-1; } if(BallY>dy+20) { LifesCol--; if(LifesCol<0) { Timer1->Enabled=false; ShowMessage("Game over!\n\nНе печальтесь, в меня можно играть до бесонечности!=)"); PositionBall(); CurrentLevel=1; LoadLevel(CurrentLevel); LifesCol=3; Timer1->Enabled=true; }else { Timer1->Enabled=false; ShowMessage("Один шар потерян, вот не задача...\nКоличество оставшихся = "+IntToStr(LifesCol)); PositionBall(); Timer1->Enabled=true; } } } void TForm1: raw(int x,int y,int type){ if(type!=0) back->Canvas->Draw(x,y,Block[type]); } void TForm1::LoadLevel(int LevelNumber) { for(int j=0;j<20;j++) for(int i=0;i<20;i++) { Level[i][j]=LevelData[LevelNumber-1][j*20+i]; } } void TForm1::Cls(TColor color) { back->Canvas->Brush->Color=color; back->Canvas->FillRect(Rect(0,0,dx,dy)); } void TForm1::Flip() { Form1->Canvas->Draw(0,0,back); } void TForm1: rawLevel(){ int tx=0;int ty=0; back->Canvas->Draw(BallX,BallY,Ball); for(int j=0;j<20;j++) { for(int i=0;i<20;i++,tx+=25) { Draw(tx,ty,Level[i][j]); } tx=0; ty+=15; } back->Canvas->Draw(BitaX,380,Bita); for(int i=0;i<LifesCol;i++) { back->Canvas->Brush->Color=clBlue; back->Canvas->Ellipse(10+i*10,10,20+i*10,20); } } void TForm1::CheckBita() { RECT Rect1=Rect(BallX,BallY,BallX+9,BallY+9); RECT Rect2=Rect(BitaX,380,BitaX+40,390); RECT Rect3=Rect(0,0,0,0); if(IntersectRect(&Rect3,&Rect1,&Rect2)) { if(BallY<375)BallY=371; int BallCenter=BallX+4; int BitaCenter=BitaX+20; int LengthOtCentra=abs(BallCenter-BitaCenter); float TempSpeed=LengthOtCentra*0.15; if(BallSpeedX>0)BallSpeedX=TempSpeed; else BallSpeedX=-TempSpeed; BallSpeedY*=-1; } } void TForm1::MoveBall() { BallX+=BallSpeedX; BallY+=BallSpeedY; CheckBorders(); CheckBita(); } void __fastcall TForm1::FormCreate(TObject *Sender) { back=new Graphics::TBitmap(); back->Width=Form1->ClientWidth; back->Height=Form1->ClientHeight; Ball=new Graphics::TBitmap(); Ball->LoadFromFile("Ball.bmp"); Ball->Transparent=true; Bita=new Graphics::TBitmap(); Bita->LoadFromFile("Трамплин.bmp"); Bita->Transparent=true; dx=Form1->ClientWidth; dy=Form1->ClientHeight; LoadBlockPicture(); LoadLevel(CurrentLevel); LifesCol=3; } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { Cls(clSilver); DrawLevel(); Flip(); MoveBall(); TestBlock(); if(CheckFinish()) { Timer1->Enabled=false; ShowMessage("Уровень пройден"); CurrentLevel++; if(CurrentLevel>MAX_LEVEL) { ShowMessage("Поздравляем,\nВы прошли игру!!!!!!"); return; } LoadLevel(CurrentLevel); PositionBall(); Timer1->Enabled=true; } if(LeftKeyDown)BitaX+=-5; if(RightKeyDown)BitaX+=5; if(BitaX<0)BitaX=0; if(BitaX>460)BitaX=460; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormKeyUp(TObject *Sender, WORD &Key, TShiftState Shift) { if(Key==VK_RIGHT){RightKeyDown=false;} if(Key==VK_LEFT){LeftKeyDown=false;} } //--------------------------------------------------------------------------- void TForm1::TestBlock() { int type; TPoint HitedBlock=GetHitedBlock(type); if(type!=0) { if(type==3)Level[HitedBlock.x][HitedBlock.y]=4; else Level[HitedBlock.x][HitedBlock.y]=0; } } TPoint TForm1::GetHitedBlock(int&type) { type=0; int BallCenterX; int BallCenterY; int BlockCenterX; int BlockCenterY; bool popal=false; int tx=0;int ty=0; for(int j=0;j<20;j++) { for(int i=0;i<20;i++,tx+=25) { popal=false; if(Level[i][j]!=0) { RECT Rect1=Rect(BallX,BallY,BallX+9,BallY+9); RECT Rect2=Rect(tx,ty,tx+25,ty+15); RECT Rect3=Rect(0,0,0,0); if(IntersectRect(&Rect3,&Rect1,&Rect2)) { BallCenterX=BallX+4; BallCenterY=BallY+4; BlockCenterX=tx+12; BlockCenterY=ty+12; if(BallCenterX<BlockCenterX) { if(abs(((BallX+9)-tx))<5) { popal=true; BallSpeedX=abs(BallSpeedX); BallSpeedX*=-1; } } if(BallCenterX>BlockCenterX) { if(abs(BallX-(tx+25))<5) { popal=true; BallSpeedX=abs(BallSpeedX); } } if(BallCenterY<BlockCenterY) { if(abs((BallY+9)-ty)<=11) { popal=true; BallSpeedY=abs(BallSpeedY); BallSpeedY*=-1; } } if(BallCenterY>BlockCenterY) { if(abs(BallY-(ty+15))<=11) { popal=true; BallSpeedY=abs(BallSpeedY); } } if(popal) { TPoint p; p.x=i; p.y=j; type=Level[i][j]; return p; } } } } tx=0; ty+=15; } } void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if(Key==VK_RIGHT) { RightKeyDown=true; } if(Key==VK_LEFT) { LeftKeyDown=true; } } //--------------------------------------------------------------------------- bool __fastcall TForm1::CheckFinish() { for(int j=0;j<20;j++) { for(int i=0;i<20;i++) { if(Level[i][j]!=0)return false; } } return true; } void __fastcall TForm1::PositionBall() { BitaX=200; BallX=220; BallY=371; BallSpeedY=-3; BallSpeedX=random(6)-3; LeftKeyDown=false,RightKeyDown=false; } //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit2.h" #include "Unit1.h" #include "Unit3.h" #include "Unit4.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm2 *Form2; //--------------------------------------------------------------------------- __fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm2::Button2Click(TObject *Sender) { Form2->Close(); } //--------------------------------------------------------------------------- void __fastcall TForm2::Button1Click(TObject *Sender) { Form1->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm2::Button3Click(TObject *Sender) { Form3->Memo1->Lines->Clear(); Form3->Memo1->Lines->LoadFromFile("FILE1.txt"); Form3->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm2::Button4Click(TObject *Sender) { Form4->Memo1->Lines->Clear(); Form4->Memo1->Lines->LoadFromFile("FILE2.txt"); Form4->Show(); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit2.h" #include "Unit1.h" #include "Unit3.h" #include "Unit4.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm2 *Form2; //--------------------------------------------------------------------------- __fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm2::Button2Click(TObject *Sender) { Form2->Close(); } //--------------------------------------------------------------------------- void __fastcall TForm2::Button1Click(TObject *Sender) { Form1->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm2::Button3Click(TObject *Sender) { Form3->Memo1->Lines->Clear(); Form3->Memo1->Lines->LoadFromFile("FILE1.txt"); Form3->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm2::Button4Click(TObject *Sender) { Form4->Memo1->Lines->Clear(); Form4->Memo1->Lines->LoadFromFile("FILE2.txt"); Form4->Show(); } //--------------------------------------------------------------------------- Вовще весь код, как сделать так, что бы мой арканоид не начал играть до команды от кнопки, я не знаю!(((
0
|
|
|
|
|
| 14.09.2011, 01:22 | |
|
RandomEllis, если вам не трудно, просто прикрепите проект - так будет проще проверить, что у вас не так, не теряя времени на воссоздание вашего проекта.
Для "прикрепления проекта" внизу есть кнопочка "Расширенный режим" , позволяющий прикреплять файлы, сам файл проекта хорошо бы сжать в архив. И используйте тег кода - [CPP ]без пробелов[ /CPP] - при вставке кода на форум, и разбираться в вашем коде глазам будет приятнее, и это позволит избежать подобного казуса, хотя ... мне понравилось
1
|
|
|
1 / 1 / 0
Регистрация: 07.09.2011
Сообщений: 20
|
|
| 14.09.2011, 08:30 | |
|
Как то постеснялся сразу так загружать!)
1
|
|
|
|
|
| 14.09.2011, 08:54 | |
|
а чего стесняться? открыть ваш проект проще, чем самому конструировать из тех цитат...
арканоиды пошли косяком , главное, что есть about и help ... будем посмотреть ![]() а вы бы тем временем здесь покопались для обмена опытом: Несколько небольших игрушек Добавлено через 4 минуты по ходу... выкладывая проект с файлом .EXE , делайте так, как пишет здесь: Компиляция программы под С++ Builder,чтобы работала на других компьютерах! - а то й меня нет rtl60.bpl, т.е., Билдера № 6 , и программма не запустилась .
0
|
|
|
|
||||||
| 14.09.2011, 09:15 | ||||||
|
самое простое
![]() блин, уже и здесь жму F9
1
|
||||||
|
|
|
| 14.09.2011, 09:25 | |
|
интересный момент - когда платорма наехала на шарик боком - он попал между перекладины, и вырваться уже не мог (жаль, нэма кино
) , пока я не сдвинул платформу - в игре из этого можнго сделать фишку, но, по большому счету, так быть не должно - бока платформы должны бы тоже отбивать шарик, а не захватывать его
0
|
|
|
1 / 1 / 0
Регистрация: 07.09.2011
Сообщений: 20
|
|
| 15.09.2011, 20:00 | |
|
Не помогло!(((
Платформа застряла в левом углу и не движется, точно так же с шариком, только он застрял в левом верхнем углу! Да в общем то вопрос снимается, нужен другой арканоид, посложнее написанный, с использованием классов и наследования, конструкторов и деструкторов! Много где прошелся, 5 раз в разных местах скачивал один и тот же исходник, хороший, но просто написанный... Есть у кого-нибудь с классами и т.д.?
0
|
|
|
|
||||||
| 15.09.2011, 21:44 | ||||||
|
шо - не помогло ? у меня запускается с кнопки и ничто-нигде не застрявает
, вы это "самое простое" делали ?
0
|
||||||
|
|
|
| 15.09.2011, 21:56 | |
|
во, тока шо проверил - "игровая" форма появляется и игра запускается после нажатия на кнопку, движок работает, хотя недоработок, конечно, много
, и зря вы на меня наехали
0
|
|
|
1 / 1 / 0
Регистрация: 07.09.2011
Сообщений: 20
|
|
| 16.09.2011, 03:56 | |
|
Лучше проектом, ехешник не запускается почему-то!
0
|
|
|
1 / 1 / 0
Регистрация: 07.09.2011
Сообщений: 20
|
|
| 16.09.2011, 15:58 | |
|
Ошибка именно что #24
0
|
|
|
|
|
| 16.09.2011, 22:15 | |
|
0
|
|
| 16.09.2011, 22:15 | |
|
компиляция проекта Компиляция программы не происходит компиляция Компиляция MPI Компиляция exe Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
сукцессия 37. Внедрил дипсик в свой оркестр из ИИ. У него закончилось пространство чата, потому опубликую выводы из его работы здесь
anaschu 21.07.2026
====================================================================
КОНТЕКСТ: Моделирование микоризной сукцессии (AM → ECM)
====================================================================
. . .
|
сукцессия 36. Делаю прогоны модели около порога бифуркации (превращения эндо микоризы в экто микоризу)
anaschu 21.07.2026
СУКЦЕССИЯ МИКОРИЗ: КАК МАТЕМАТИКА ОБЪЯСНЯЕТ ПОДЗЕМНУЮ ВОЙНУ
Мы привыкли думать, что лес — это деревья. А грибы — это то, что мы собираем в корзинку осенью. Но если заглянуть под землю, окажется,. . .
|
ИИ и человечность
kumehtar 21.07.2026
Забавно, что общаясь с ИИ, я замечаю, насколько он высказывается умно, и насколько верит в людей. Он умеет прощать. Он знает как отвечать не обесценивая опыт других людей, даже если сам не верит. Он. . .
|
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного.
1. Почему показания термометра заряжены целью?
Цель заложена в самом. . .
|
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
По ссылке 403. Не очень информативно такую ссылку постить.
Запись от Usaga размещена Сегодня в 06:46 . . .
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|