Результаты поиска
| |
redinard | Дата: Среда, 09 Ноября 2011, 01:36 | Сообщение # 361 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| он компилировал в Code Warior,я попробовал скомпилировать в Dev C++ вот что вышло: Quote Компилятор: Default compiler Building Makefile: "C:\Users\Николай\Desktop\Makefile.win" Выполнение make... make.exe -f "C:\Users\Николай\Desktop\Makefile.win" all g++rus.exe -c Chapter13/13-1TheRandomColorProgram.cpp -o Chapter13/13-1TheRandomColorProgram.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include"
Chapter13/13-1TheRandomColorProgram.cpp: In function `int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)': Chapter13/13-1TheRandomColorProgram.cpp:57: warning: passing NULL used for non-pointer converting 1 of `HWND__* CreateWindowExA(DWORD, const CHAR*, const CHAR*, DWORD, int, int, int, int, HWND__*, HMENU__*, HINSTANCE__*, void*)' Chapter13/13-1TheRandomColorProgram.cpp: In function `LRESULT WndProc(HWND__*, UINT, WPARAM, LPARAM)': Chapter13/13-1TheRandomColorProgram.cpp:83: warning: passing NULL used for non-pointer converting 4 of `int MessageBoxA(HWND__*, const CHAR*, const CHAR*, UINT)' Chapter13/13-1TheRandomColorProgram.cpp:87: warning: passing NULL used for non-pointer converting 4 of `int MessageBoxA(HWND__*, const CHAR*, const CHAR*, UINT)' Chapter13/13-1TheRandomColorProgram.cpp:91: warning: passing NULL used for non-pointer converting 4 of `int MessageBoxA(HWND__*, const CHAR*, const CHAR*, UINT)' Chapter13/13-1TheRandomColorProgram.cpp:103: warning: passing NULL used for non-pointer converting 4 of `int MessageBoxA(HWND__*, const CHAR*, const CHAR*, UINT)'
g++rus.exe Chapter13/13-1TheRandomColorProgram.o -o "Проект1.exe" -L"C:/Dev-Cpp/lib" -L"E:/Program Files/Microsoft DirectX SDK (August 2008)/Lib" -L"E:/создание игр/инклуды и либы/Lib" -mwindows
Chapter13/13-1TheRandomColorProgram.o(.text+0x1e7):dev-cpp-rus.cpp: undefined reference to `IID_IDirectDraw7' Chapter13/13-1TheRandomColorProgram.o(.text+0x1fb):dev-cpp-rus.cpp: undefined reference to `DirectDrawCreateEx@16' collect2: ld returned 1 exit status
Выполнение заверше но
Добавлено (08.11.2011, 00:57) --------------------------------------------- и хуже всего то, что пока не пойму в чём ошибка я не могу продвигатся дальше ...
Добавлено (08.11.2011, 17:28) --------------------------------------------- а вот что мне выдал Microsoft Visual C++ 6.0: Quote --------------------Configuration: 234 - Win32 Debug-------------------- Compiling... 13-1TheRandomColorProgram.cpp c:\users\николай\desktop\234\13-1therandomcolorprogram.cpp(10) : error C2146: syntax error : missing ';' before identifier 'g_pdd' c:\users\николай\desktop\234\13-1therandomcolorprogram.cpp(10) : error C2501: 'LPDIRECTDRAW7' : missing storage-class or type specifiers c:\users\николай\desktop\234\13-1therandomcolorprogram.cpp(10) : fatal error C1004: unexpected end of file found Error executing cl.exe.
13-1TheRandomColorProgram.obj - 3 error(s), 0 warning(s)
Добавлено (09.11.2011, 01:36) --------------------------------------------- полазив по другим форумам смог уменьшить кол.во ошибок,но что с этой делать не знаю Quote ------ Построение начато: проект: 3434, Конфигурация: Debug Win32 ------ Компиляция... 13-1TheRandomColorProgram.cpp c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C2182: Buffer: недопустимое использование типа "void" c:\users\николай\desktop\3434\3434\13-1therandomcolorprogram.cpp(111) : warning C4244: аргумент: преобразование 'time_t' в 'unsigned int', возможна потеря данных Журнал построения был сохранен в "file://c:\Users\Николай\Desktop\3434\3434\Debug\BuildLog.htm" 3434 - ошибок 1, предупреждений 1 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Я белый и пушистый но имею когти и зубы
Сообщение отредактировал redinard - Среда, 09 Ноября 2011, 01:37 |
|
| |
redinard | Дата: Вторник, 08 Ноября 2011, 00:04 | Сообщение # 362 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| в том предложении что ты выделил ясно сказано что я выучил лишь азы,я все полтора года что учусь работал в BORLAND-е и разрабатывал программы под DOS ООП,разработка програм по WINDOWS и всё прочее у меня лишь со следующего семестра , вот поэтому я и создал эту тему в которой совмещаю приятное с полезным,проделываю шаги к созданию своей первой полноценной игры и совершенствую свои навыки программирования. Добавлено (04.11.2011, 22:34) --------------------------------------------- и да кстати ,скомпилировал код в Dev C++ заработало,но в дальнейшем я хочу продолжать разрабатывать в Microsoft Visual Studio 2008,поэтому всё же подскажите в чём загвоздка ? Добавлено (08.11.2011, 00:04) --------------------------------------------- очередная проблемма,только в этот раз я не писал код а тупо скомпилировал код с прилогаемого диска компилировал в Microsoft Visual Studio 2008 Code //13.1 - The Random Color Program -Dirk Henkemans #include <windows.h> #include <cstdlib> #include <ctime> #include <ddraw.h>
LRESULT CALLBACK WndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam);
LPDIRECTDRAW7 g_pdd; //the DirectDraw object LPDIRECTDRAWSURFACE7 g_pddsprimary; //the primary surface LPDIRECTDRAWSURFACE7 g_pddsback; //the back buffer LPDIRECTDRAWSURFACE7 g_pddsone; //a temporary surface DDSURFACEDESC2 ddsd; //used to store surface descriptions DDSCAPS2 ddsc; //stores the capabilities of a surface HRESULT hRet; //used to temporarily store the result of a function
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPreInst, LPSTR lpszCmdLine, int nCmdShow) { HWND hWnd; MSG msg; WNDCLASSEX wc;
//fill the WNDCLASSEX structure with the appropriate values wc.cbSize = sizeof(WNDCLASSEX); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInst; wc.hIcon = LoadIcon(NULL, IDI_EXCLAMATION); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = "RandomColor"; wc.hIconSm = LoadIcon(NULL, IDI_EXCLAMATION);
//register the new class RegisterClassEx(&wc);
//create a window hWnd = CreateWindowEx( NULL, "RandomColor", "The Random Color Program", WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInst, NULL );
//event loop - handle all messages while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); }
//standard return value return (msg.wParam); }
LRESULT CALLBACK WndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam) { //find out which message is being sent switch(nMsg) { case WM_CREATE: //create the timer (3 seconds) SetTimer(hWnd, 1, 3000, NULL); //create the DirectDraw object hRet = DirectDrawCreateEx(NULL, (void**)&g_pdd,IID_IDirectDraw7, NULL); if(hRet != DD_OK) MessageBox(hWnd, "DirectDrawCreateEx Failed", "Error", NULL); //Set the Cooperative Level hRet = g_pdd->SetCooperativeLevel(hWnd, DDSCL_FULLSCREEN | DDSCL_EXCLUSIVE); if(hRet != DD_OK) MessageBox(hWnd, "SetCooperativeLevel Failed", "Error", NULL);; //Set the display mode: 800x600 with 16 bits per pixel hRet = g_pdd->SetDisplayMode(800, 600, 16,0,0); if(hRet != DD_OK) MessageBox(hWnd, "SetDisplayMode Failed", "Error", NULL);; //prepare primary surface info ZeroMemory(&ddsd,sizeof(ddsd)); ddsd.dwSize = sizeof(ddsd); ddsd.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT; ddsd.dwBackBufferCount = 1; ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP | DDSCAPS_COMPLEX; //create the surface hRet = g_pdd->CreateSurface(&ddsd, &g_pddsprimary, NULL); if (hRet != DD_OK) MessageBox(hWnd, "CreateSurface Failed", "Error", NULL); //prepare the back buffer info ZeroMemory(&ddsc,sizeof(ddsc)); ddsc.dwCaps = DDSCAPS_BACKBUFFER; //get a pointer to the back buffer hRet = g_pddsprimary->GetAttachedSurface(&ddsc,&g_pddsback); srand(time(0)); break; case WM_TIMER: //when the timer goes off (only one) DDBLTFX ddbltfx; ZeroMemory(&ddbltfx,sizeof(ddbltfx)); ddbltfx.dwSize = sizeof(ddbltfx); ddbltfx.dwFillColor = rand()%16; g_pddsback->Blt(NULL,NULL,NULL, DDBLT_COLORFILL, &ddbltfx); g_pddsprimary->Flip(NULL,0); break;
case WM_DESTROY: //destroy the timer KillTimer(hWnd, 1); //end the program PostQuitMessage(0); break; default: //let Windows handle every other message return(DefWindowProc(hWnd, nMsg, wParam, lParam)); }
return 0; } Code /*========================================================================== * * Copyright (C) 1998-1999 Microsoft Corporation. All Rights Reserved. * * File: ddutil.cpp * Content: Routines for loading bitmap and palettes from resources * ***************************************************************************/
#ifdef __cplusplus extern "C" { /* Assume C declarations for C++ */ #endif /* __cplusplus */
extern IDirectDrawPalette *DDLoadPalette(IDirectDraw7 *pdd, LPCSTR szBitmap); extern IDirectDrawSurface7 *DDLoadBitmap(IDirectDraw7 *pdd, LPCSTR szBitmap, int dx, int dy); extern HRESULT DDReLoadBitmap(IDirectDrawSurface7 *pdds, LPCSTR szBitmap); extern HRESULT DDCopyBitmap(IDirectDrawSurface7 *pdds, HBITMAP hbm, int x, int y, int dx, int dy); extern DWORD DDColorMatch(IDirectDrawSurface7 *pdds, COLORREF rgb); extern HRESULT DDSetColorKey(IDirectDrawSurface7 *pdds, COLORREF rgb);
#ifdef __cplusplus } #endif /* __cplusplus */ с юникодом всё понятно,меня остальные ошибки интересуют Quote ------ Построение начато: проект: 3434, Конфигурация: Debug Win32 ------ Компиляция... 13-1TheRandomColorProgram.cpp c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(236) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "PVOID64" c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(236) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "Buffer" c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию c:\users\николай\desktop\3434\3434\13-1therandomcolorprogram.cpp(37) : error C2440: =: невозможно преобразовать 'const char [12]' в 'LPCWSTR' Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции c:\users\николай\desktop\3434\3434\13-1therandomcolorprogram.cpp(57) : error C2664: CreateWindowExW: невозможно преобразовать параметр 2 из 'const char [12]' в 'LPCWSTR' Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции c:\users\николай\desktop\3434\3434\13-1therandomcolorprogram.cpp(83) : error C2664: MessageBoxW: невозможно преобразовать параметр 2 из 'const char [26]' в 'LPCWSTR' Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции c:\users\николай\desktop\3434\3434\13-1therandomcolorprogram.cpp(87) : error C2664: MessageBoxW: невозможно преобразовать параметр 2 из 'const char [27]' в 'LPCWSTR' Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции c:\users\николай\desktop\3434\3434\13-1therandomcolorprogram.cpp(91) : error C2664: MessageBoxW: невозможно преобразовать параметр 2 из 'const char [22]' в 'LPCWSTR' Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции c:\users\николай\desktop\3434\3434\13-1therandomcolorprogram.cpp(103) : error C2664: MessageBoxW: невозможно преобразовать параметр 2 из 'const char [21]' в 'LPCWSTR' Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции c:\users\николай\desktop\3434\3434\13-1therandomcolorprogram.cpp(111) : warning C4244: аргумент: преобразование 'time_t' в 'unsigned int', возможна потеря данных Журнал построения был сохранен в "file://c:\Users\Николай\Desktop\3434\3434\Debug\BuildLog.htm" 3434 - ошибок 11, предупреждений 1 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Я белый и пушистый но имею когти и зубы
Сообщение отредактировал redinard - Пятница, 04 Ноября 2011, 22:25 |
|
| |
redinard | Дата: Понедельник, 07 Ноября 2011, 23:50 | Сообщение # 363 | Тема: Посоветуйте учебник |
постоянный участник
Сейчас нет на сайте
| Дирк Хенкеманс, Марк Ли - Программирование на C++ , мне лично эта книга больше всех понравилась.
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Пятница, 04 Ноября 2011, 22:55 | Сообщение # 364 | Тема: нужны Бета-тест игры |
постоянный участник
Сейчас нет на сайте
| Я тоже поучаствую !
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Пятница, 04 Ноября 2011, 18:49 | Сообщение # 365 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| пасибо,разобрался но тут новые грабли : Quote Компиляция... boll.cpp c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(236) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "PVOID64" c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(236) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "Buffer" c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию Журнал построения был сохранен в "file://c:\Users\Николай\Desktop\мячь\мячь\Debug\BuildLog.htm" мячь - ошибок 5, предупреждений 0 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Пятница, 04 Ноября 2011, 17:51 | Сообщение # 366 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| покажи пожалуйста на примере моего кода , чтобы я убедился правильно ли я понял ...
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Четверг, 03 Ноября 2011, 22:44 | Сообщение # 367 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| ошибка в коде,не могу понять чего от меня хочет компилятор(точнее понимаю но не знаю как это исправить ): Code #include <windows.h>
LRESULT CALLBACK WndProc(HWND hWnd,UINT nMsg,WPARAM WParam,LPARAM lParam); int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPreints, LPSTR lpszCmdLine, int nCmdShow) { HWND hWnd; MSG msg; WNDCLASSEX wc; wc.cbSize=sizeof(WNDCLASSEX); wc.style=CS_HREDRAW|CS_VREDRAW; wc.lpfnWndProc=WndProc; wc.cbClsExtra=0; wc.cbWndExtra=0; wc.hInstance=hInst; wc.hIcon=LoadIcon(NULL,IDI_EXCLAMATION); wc.hCursor=LoadCursor(NULL,IDC_ARROW); wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName=NULL; wc.lpszClassName="BouncingBall"; wc.hIconSm=LoadIcon(NULL,IDI_EXCLAMATION);
RegisterClassEx(&wc);
hWnd=CreateWindowEx( NULL, "BouncingBall", "Рекошитирующий Мяч", WS_OVERLAPPEDWINDOW|WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInst, NULL );
while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return(msg.wParam); } LRESULT CALLBACK WndProc(HWND hWnd,UINT nMsg,WPARAM wParam, LPARAM lParam) {
static int dX=5,dY=5; static int x=0,y=0,oldX=0,oldY=0; HDC hDC; HBRUSH brush; switch(nMsg) { case WM_CREATE: SetTimer(hWnd,1,20,NULL); break; case WM_TIMER: hDC=GetDC(hWnd); brush=(HBRUSH)SelectObject(hDC,GetStockObject(WHITE_BRUSH));
RECT temp; temp.left=oldX; temp.top=oldY; temp.right=oldX+30; temp.bottom=oldY+30;
FillRect(hDC,&temp,brush); brush=(HBRUSH)SelectObject(hDC,GetStockObject(GRAY_BRUSH)); Ellipse(hDC,x,y,30+x,30+y); oldX=x; oldY=y; x+=dX; y+=dY;
RECT rect; GetClientRect(hWnd,&rect); if(x+30>rect.right||x<0) { dX=-dX; } if(y+30>rect.bottom||y<0) { dY=-dY; } SelectObject(hDC,brush); ReleaseDC(hWnd,hDC); break; case WM_DESTROY: KillTimer(hWnd,1); PostQuitMessage(0); break; default: return(DefWindowProc(hWnd,nMsg,wParam,lParam)); } return 0; }
Quote Компиляция... boll.cpp c:\users\николай\desktop\рекошитирующий мяч\рекошитирующий мяч\boll.cpp(20) : error C2440: =: невозможно преобразовать 'const char [13]' в 'LPCWSTR' Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции c:\users\николай\desktop\рекошитирующий мяч\рекошитирующий мяч\boll.cpp(38) : error C2664: CreateWindowExW: невозможно преобразовать параметр 2 из 'const char [13]' в 'LPCWSTR' Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции Журнал построения был сохранен в "file://c:\Users\Николай\Desktop\рекошитирующий мяч\рекошитирующий мяч\Debug\BuildLog.htm" рекошитирующий мяч - ошибок 2, предупреждений 0 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Четверг, 03 Ноября 2011, 00:35 | Сообщение # 368 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| ну знаешь,чтобы удалить коментарий даже не надо особых знаний в прграммировании )
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Среда, 02 Ноября 2011, 23:45 | Сообщение # 369 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| Спасибо ! Добавлено (02.11.2011, 23:45) --------------------------------------------- Назрел тут волнующий меня вопрос,я в скором времени перехожу к изучению одной интересной книге,в которой излогается разработка игр в стиле RPG,в процессе изучения книги мне прийдётся создать движок,но этот движок всё же пренадлежит автору.Вот тут возникает вопрос: могу ли я на основе этого движка создать свой , повзоимствовав некоторые функции ,добавив новые и разумеется иметь на него полные права не боясь что возникнут какие либо притензии из за взаимствования реализации некоторых возможностей ,и т.д. ?
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Воскресенье, 30 Октября 2011, 13:44 | Сообщение # 370 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| ОК попробую ... ) Добавлено (30.10.2011, 12:44) --------------------------------------------- Установил Microsoft Visual Studio 2008,и уже на простейшем коде который ранее работал появились ошибки ... Code #include <iostream> #include <conio.h>
int main(void) { cout<<"Добро пожаловать.Три испытания чести." "\nзлой маг похител девицу,и" "её судьба в твоих руках" "\nон предлогает пройти тебе 3 испытания" "чести в его роковом лабиринте"; bool goldTaken,diamondsTaken,killedByDragon; cout<<"\n\nТы входишь в первую комнату." "\nЗдесь столько золота что ты едва веришь своим глазам" "\nВозмёшь ли ты золото(1-да,0-нет)?"; cin>>goldTaken; if(goldTaken) cout<<"\nЗолото остаётся тебе,но" "ты провалил первое испытание" "\nИгра окончена.\n\n"; else { cout<<"\n\nПоздравляем ты прошол первое испытание чести !" "\nТы переходишь во вторую комнату." "она полна брилиантов" "\nВозмёшь ли ты брилианты" "(1-да,0-нет)?"; cin>>diamondsTaken; if(diamondsTaken) cout<<"Брилианты достаются тебе," "но ты провалил второе испытание" "\nЕвоя жадность очивидна." "\nИгра окончена.\n\n"; else { cout<<"Поздравляем ,ты" "прошол первые два испытания чести" "\n\nТы входишь в третью комнату." "\nНа несчаствонго крестянина напал дракон !" "\nДвигатся дальше не обращая на них внимания " "(1-да,0-нет)?"; cin>>killedByDragon; if(killedByDragon) cout<<"\nТы пиытаешся проскользнуть мимо" "и дракон тебя замечает" "\nОдним огненым дуновением " "он превращает тебя в пепел. Ты мёртв" "\nИгра окончена\n\n"; else cout<<"Поздравляем ты прошол все 3 испытания!\n\n" "Конец.\n\n"; } } getch(); return 0; } Quote 1>------ Построение начато: проект: 13, Конфигурация: Debug Win32 ------ 1>Компиляция... 1>656.cpp 1>c:\users\redinard\desktop\13\13\656.cpp(6) : error C2065: cout: необъявленный идентификатор 1>c:\users\redinard\desktop\13\13\656.cpp(12) : error C2065: cout: необъявленный идентификатор 1>c:\users\redinard\desktop\13\13\656.cpp(15) : error C2065: cin: необъявленный идентификатор 1>c:\users\redinard\desktop\13\13\656.cpp(15) : warning C4804: >>: небезопасное использование типа 'bool' в операции 1>c:\users\redinard\desktop\13\13\656.cpp(17) : error C2065: cout: необъявленный идентификатор 1>c:\users\redinard\desktop\13\13\656.cpp(22) : error C2065: cout: необъявленный идентификатор 1>c:\users\redinard\desktop\13\13\656.cpp(28) : error C2065: cin: необъявленный идентификатор 1>c:\users\redinard\desktop\13\13\656.cpp(28) : warning C4804: >>: небезопасное использование типа 'bool' в операции 1>c:\users\redinard\desktop\13\13\656.cpp(30) : error C2065: cout: необъявленный идентификатор 1>c:\users\redinard\desktop\13\13\656.cpp(36) : error C2065: cout: необъявленный идентификатор 1>c:\users\redinard\desktop\13\13\656.cpp(43) : error C2065: cin: необъявленный идентификатор 1>c:\users\redinard\desktop\13\13\656.cpp(43) : warning C4804: >>: небезопасное использование типа 'bool' в операции 1>c:\users\redinard\desktop\13\13\656.cpp(45) : error C2065: cout: необъявленный идентификатор 1>c:\users\redinard\desktop\13\13\656.cpp(52) : error C2065: cout: необъявленный идентификатор 1>Журнал построения был сохранен в "file://c:\Users\RedinarD\Desktop\13\13\Debug\BuildLog.htm" 1>13 - ошибок 11, предупреждений 3 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Четверг, 27 Октября 2011, 18:00 | Сообщение # 371 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| Quote (redinard) Можно ли переходить на более новые версии не боясь что прийдёрся по новому интерпритировать код ? а как насчёт этого вопроса ?
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Четверг, 27 Октября 2011, 16:55 | Сообщение # 372 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| Quote (Els) Ну то дай нам знать какие ошибки выдеет VS и DEV C++ , и могбы взять по новее VS хотябы версию 8.0 , или ты просто взял потому что авторы этой книги работают именно в ней? В действительности авторы предлогают компилировать в Code Warior,но в содержании книги автор признаётся что работает в Microsoft Visual C++ 6.0,я конечно могу взять более новую версию,но мне надо уверенность что новые версии без проблемм поддержат старый код,потому что я слышал что в новых версиях идёт новый стандарт кода,к примеру я в универе весь первый курс компилировал код в BORLAND-е,и даже в библиотеках Microsoft Visual C++ 6.0 уже нет таких полезных вещей как clrscr(); и т.п. Так что остаются вопросы: Можно ли переходить на более новые версии не боясь что прийдёрся по новому интерпритировать код ? Не создадут ли они проблеммы при работе с DirectX SDK ? И в чём же ощутимое превосходство более новых версий ?
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Среда, 26 Октября 2011, 20:02 | Сообщение # 373 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| я что то такое слышал что новые версии требуют другую интерпритацию кода ... Добавлено (26.10.2011, 02:42) --------------------------------------------- очередной код с ошибкой : Code //Dragon.cpp #include <string> #include <ctime> #include <cstdlib> #define MAX(a,b) a>b? a:b using namespace std; class Dragon { private: int speed; string name; int hitPoints; int armour; int treasure; int clawDamage; int size; protected: Dragon(int theSize); int getArmour(){return armour;} int& getHitPoints(){return hitPoints;} int getClawDamage(){return clawDamage;} int getSize(){return size;} virtual int attack(int targetArmour,int specialDamage); public: virtual int attack(int targetArmour)=0; virtual void defend(int damage)=0; int getTreasure(){return treasure;} virtual string getName(){return name;} int getSpeed(){return speed;} bool isAlive(){return hitPoints>0;} }; Dragon::Dragon(int theSize): size(theSize) { if(size<1||size>4) size=3; clawDamage=2*size; speed=3*size; hitPoints=4*size; armour=size; treasure=1000*size; srand(time(0)); } int Dragon::attack(int targetArmour,int specialDamage) { int useSpecial=rand()%2;//0 или 1 int damage; if (useSpecial) damage = specialDamage; else damage = getClawDamage(); return MAX(damage - targetArmour,0); } Code //RedDragon.cpp class RedDragon:public Dragon { private: int fireDamage; public: RedDragon(int theSize); int attack(int targetArmour); void defend(int damage); string getName(){return "Красный дракон";} }; RedDragon::RedDragon(int theSize): Dragon(theSize) { fireDemage=4*getSize(); } int RedDragon::attack(int targetArmour) { return Dragon::attack(targetArmour,fireDamage); } void RedDragon::defend(int damage) { getHitPoints()-=(damage-getArmour())/3; } Code //BlackDragon class BlackDragon:public Dragon { private: int fireDamage; public: BlackDragon(int theSize); int attack(int targetArmour); void defend(int damage); string getName(){return "Чёрный дракон";} }; BlackDragon::BlackDragon(int theSize): Dragon(theSize) { poisonDemage=getSize(); } int RedDragon::attack(int targetArmour) { return Dragon::attack(targetArmour,poisonDamage); } void BlackDragon::defend(int damage) { getHitPoints()-=damage-getArmour(); } Code //BlueDragon class BlueDragon:public Dragon { private: int iceDamage; public: RedDragon(int theSize); int attack(int targetArmour); void defend(int damage); string getName(){return "Синий дракон";} }; BlueDragon::BlueDragon(int theSize): Dragon(theSize) { fireDemage=3*getSize(); } int BlueDragon::attack(int targetArmour) { return Dragon::attack(targetArmour,iceDamage); } void BlueDragon::defend(int damage) { getHitPoints()-=(damage-getArmour())/2; } Code //DragonLord.cpp #include <iostream> #include <ctime> #include <cstdlib> #include "Dragon.cpp" #include "RedDragon.cpp" #include "BlueDragon.cpp" #include "BlackDragon.cpp"
using namespace std; int menuChoise(); int main(void) { srand(time(0)); Dragon*dragons[3]; int hp=15; int armour=2; int tempArmour; int tempAttack; dragons[0]=new RedDragon(rand()%4+1); dragons[1]=new BlackDragon(rand()%4+1); dragons[2]=new BlueDragon(rand()%4+1); Dragons*d=dragons[rand()%3]; cout<<"Добро пожаловать благородный рыцарью\n" <<"Ты должен спасти принцессу." <<"Её похитил " <<d->getName()<<".\n" <<"Ты должен победить дракона.\n"; cout<<"воя сила: "<<hp<<endl; while (d->isAlive()&& hp>0) { int choise=menuChoise(); int (choise==3)goto RUN; else if (choise==1) { tempAttack=rand()%16+5; tempArmour=armour; } else { tempAttack=rand()%11; tempArmour=armour+4; } hp-=d->attack(armour); d->defend(rand()%16-5); cout<<"\nТы наносишь мощьный удар и ущерб" <<tempAttack<<" damage.\n"; cout<<"Твоя сила: "<<hp; } if(d->isAlive()) cout<<"\nТы побеждён" <<"могущественным драконом.\n"; else cout<<"\n\nТы победил дракона !" <<"Поздравляем\n" <<"принцесса спасена.\n"; return 0; } int menuChoise() { int choise; do{ cout<<endl <<"[1]Атаковать\n" <<"[2]Оборонятся\n" <<"[3]Бежать\n"; cin>>choise; }while(choise<1 && choise>3); return choise; } Добавлено (26.10.2011, 02:50) --------------------------------------------- конкретнее меня волнуе вот эта строка: Quote class RedDragon:public Dragon Добавлено (26.10.2011, 20:02) --------------------------------------------- Скачал исходники к этой книге,исходник этой программы откомпилировал в Microsoft Visual C++ 6.0 и в Dev C++ ,и оба компилятора мне выдают ошибки,причём разные ...
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Вторник, 25 Октября 2011, 22:11 | Сообщение # 374 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| А для такого кода какая из версий Microsoft Visual C++ подойдёт (ну конечно кроме Microsoft Visual C++ 6.0-она то я и так знаю что подходит) ?
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Вторник, 25 Октября 2011, 18:42 | Сообщение # 375 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| попробовал,до одного места ...
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Вторник, 25 Октября 2011, 18:31 | Сообщение # 376 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| MenuUtility.cpp MenuUtility.h pirateTown.cpp pirateTown.hДобавлено (25.10.2011, 18:31) --------------------------------------------- есть ещё несколько побочных файлов которые создаёт Dev C++ .exe файл в принципе создаётся но игра вылитает через некоторое время
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Вторник, 25 Октября 2011, 18:18 | Сообщение # 377 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| спасибо,это я упустил ,но проблемма ещё не решина ,ещё осталось: Quote pirateTown.o: No such file or directory.
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Вторник, 25 Октября 2011, 18:07 | Сообщение # 378 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| ивеняюсь,это я когда на сайт выкладывал ошибку допустил,компилятор мне следуюющее выдаёт Quote [Linker error] undefined reference to `menuNamespace::menu(std::string*, int)'
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Вторник, 25 Октября 2011, 17:56 | Сообщение # 379 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| Логично что там ошибка,я бы просто так код бы не выкладывал,а эти кракозябли это русский текст,я не виноват что сайт его не понимает(хотя в одном из выложеных мной кодов он понял),но они то собственно и не мишают ... Добавлено (25.10.2011, 17:56) --------------------------------------------- а конкретнее компилятор ругается на : Quote using menuNamespace::menu;
Я белый и пушистый но имею когти и зубы
|
|
| |
redinard | Дата: Вторник, 25 Октября 2011, 17:43 | Сообщение # 380 | Тема: Необходима помощь в освоении азов создания игр |
постоянный участник
Сейчас нет на сайте
| "программирование на С++" марк ли,дирк хенкеманс
Добавлено (25.10.2011, 13:22) --------------------------------------------- Я кстати разобрался в Dev C++?а Quote setlocale( LC_ALL, "rus" ); для MVC++ 6 не катит,компилируется,но при запуске выдаёт ошибку...
Добавлено (25.10.2011, 17:43) --------------------------------------------- вот ещё один код на ваше обозрение Code // pirateTawn.cpp #include <iostream> #include <string> #include "MenuUtility.h" #include "pirateTown.h" using namespace std;
using menuNamespace::menu;
namespace wharf { void menu() { string options[]= {"ïðûãíóòü â âîäó", "âçÿòü ãðåáíóþ øëþïêó è óïëûòü â çâêàò.", "âçîéòè íà áîðò êðîâàâîãî âåòðà.", "îòïðàâèòñÿ â ãîðîä"}; int userResponse=::menu(options,4); switch(userResponse) { case 1: cout<<"Òû ïðûãàåøü â âîäó." <<"Âíåçàïíî òû ñëûøèøü" <<"ñìåõ,è òóò æå\n" <<"îñîçíà¸øü ÷òî çàáûë" <<"ñíÿòü îäåæäó." <<"Òû âûëàçèåøü èç âîäû" <<"ïðîìîêøèé íàñêâîçü\n"; menu(); break; case 2: cout<<"Òû õâàòàåøü íå áîëüøóþ êðàñíóþ ëîäêó " <<"è óïëûâàåøü â çàêàò" <<"Àõ,ñëàâà."<<endl; break; case 3: cout<<"Òû âîçâðàùàåøñÿ íà áîðò êðîâàâîãî âåòðâ" <<"è æä¸øü êîãäà âåðíóòñÿ òâîè äðóçüÿ," <<"âäîâîëü íàâåñåëèâøèñü. \n"; break; case 4: street::menu(); break; } } } //îáðàáîòêà ñîáûòèé â òàâåðíå namespace tavern { void menu(void) { string options[]= {"Çôêàçàòü âûïèâêó" "Íà÷àòü øóìíóþ äðàêó" "Âûòè íà óëèöó."}; int userResponse=::menu(options,3); switch(userResponse) { case 1: cout<<"Òû çàêàçàë êîêòåéëü" <<"\"ËÅÍÒßÉ\"\n"; menu(); break; case 2: cout<<"Òû íà÷àë øóìíóþ äðàêó\n"; menu(); break; case 3: street::menu(); break; } } } //îáðàáîòêà ñîáûòèé ïðîèñõîäÿøèõ íà óëèöå namespace street { void menu(void) { string options[]= {"Äâèíóòñÿ ê ïðè÷àëó", "Âîéòè â òàâåðíó", "Âîéòèâ îðóæåéíûé ìàãàçèí", "Íà÷àòü äðàêó."}; int userResponse=::menu(options,4); switch(userResponse) { case 1: wharf::menu(); break; case 2: tavern::menu(); break; case 3: weaponShop::menu(); break; case 4: cout<<"Òû íà÷àë îòëè÷íóþ äðàêó íà óëèöå\n"; street::menu(); break; } } } //ïîêóïêà îðóæèÿ namespace weaponShop { void menu(void) { string options[]= {"Êóïèòü êèíæàë èíõðóñòèðîâàííûé äðàãîöåííûìè êàìíÿìè çà 300", "Êóïèòü êðåìíåâûé ìóøêåò çà 300 ", "Êóïèòü ñòàíäàðòíóþ áîåâóþ ñàáëþ çà 100 ", "Óéòèèç ìàãàçèíà."}; int userResponse=::menu(options,4); switch(userResponse) { case 1: cout<<"Òû êóïèë êèíæàë" <<"è ñïðÿòàë åãî â êàðìàí\n" <<"óïëàòèâ êîñòëÿâîìó ìóæ÷èíå " <<"çà ïðèëàâêîì\n"; menu(); break; case 2: cout<<"Çàïëàòèâ çàìóøêåò," <<"òû ñðàçó îöåíèë åãî." <<"Îí ïðåâîñõîäíî äåéñòâóåò !!!\n"; menu(); break; case 3: cout<<"Âçìàõíóâ ñàáëåé ïàðó ðàç òû ïîíèìàåøü\n" <<"÷òî îíà íå ñòîèò" <<"ïîòðà÷åííîãî çîëîòà\n"; menu(); break; case 4: street::menu(); break; } } } // íà÷àëî èãðû int main(void) { cout<<"Òâîé êîðàáûëü êðîâàâûé âåòåð âîøîë â äîêè" <<"Òû ñîøîë ñ\n" <<"êîðîáëÿ è ñòîèøü íà ïðè÷àëåþ\n\n"; wharf::menu(); return 0; }
Code // pirateTawn.h #include <iostream> #include <string> #include "MenuUtility.h" using namespace std; //îáÿâëåíèÿ ôóíêöèé namespace street { void menu(void); } namespace weaponShop { void menu(void); } namespace wharf { void menu(void); } namespace tavern { void menu(void); } Code // MenuUtility.h #include <iostream> #include <string> using namespace std; namespace menuNamespace { int menu(string* strArray,int size); }
Я белый и пушистый но имею когти и зубы
Сообщение отредактировал redinard - Вторник, 25 Октября 2011, 18:06 |
|
| |
|