diff --git a/Project_Final_new/.vs/S/v16/.suo b/Project_Final_new/.vs/S/v16/.suo new file mode 100644 index 0000000..8ca120a Binary files /dev/null and b/Project_Final_new/.vs/S/v16/.suo differ diff --git a/Project_Final_new/.vs/S/v16/Browse.VC.db b/Project_Final_new/.vs/S/v16/Browse.VC.db new file mode 100644 index 0000000..6d4e803 Binary files /dev/null and b/Project_Final_new/.vs/S/v16/Browse.VC.db differ diff --git a/Project_Final_new/.vs/S/v16/ipch/AutoPCH/7c3cef6481ac564b/MAIN.ipch b/Project_Final_new/.vs/S/v16/ipch/AutoPCH/7c3cef6481ac564b/MAIN.ipch new file mode 100644 index 0000000..bcf32e3 Binary files /dev/null and b/Project_Final_new/.vs/S/v16/ipch/AutoPCH/7c3cef6481ac564b/MAIN.ipch differ diff --git a/Project_Final_new/.vs/S/v16/ipch/AutoPCH/cbe79da4d52a4816/GAME.ipch b/Project_Final_new/.vs/S/v16/ipch/AutoPCH/cbe79da4d52a4816/GAME.ipch new file mode 100644 index 0000000..56798b0 Binary files /dev/null and b/Project_Final_new/.vs/S/v16/ipch/AutoPCH/cbe79da4d52a4816/GAME.ipch differ diff --git a/Project_Final_new/S.sln b/Project_Final_new/S.sln new file mode 100644 index 0000000..c8cc29c --- /dev/null +++ b/Project_Final_new/S.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29411.108 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "S", "S\S.vcxproj", "{41CAD22E-7D1B-42E4-BD42-BF671AE0AF91}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {41CAD22E-7D1B-42E4-BD42-BF671AE0AF91}.Debug|x64.ActiveCfg = Debug|x64 + {41CAD22E-7D1B-42E4-BD42-BF671AE0AF91}.Debug|x64.Build.0 = Debug|x64 + {41CAD22E-7D1B-42E4-BD42-BF671AE0AF91}.Debug|x86.ActiveCfg = Debug|Win32 + {41CAD22E-7D1B-42E4-BD42-BF671AE0AF91}.Debug|x86.Build.0 = Debug|Win32 + {41CAD22E-7D1B-42E4-BD42-BF671AE0AF91}.Release|x64.ActiveCfg = Release|x64 + {41CAD22E-7D1B-42E4-BD42-BF671AE0AF91}.Release|x64.Build.0 = Release|x64 + {41CAD22E-7D1B-42E4-BD42-BF671AE0AF91}.Release|x86.ActiveCfg = Release|Win32 + {41CAD22E-7D1B-42E4-BD42-BF671AE0AF91}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {3D14E0C6-96EE-4EA7-8F5E-730508001FA8} + EndGlobalSection +EndGlobal diff --git a/Project_Final_new/S/S.APS b/Project_Final_new/S/S.APS new file mode 100644 index 0000000..7c6c26f Binary files /dev/null and b/Project_Final_new/S/S.APS differ diff --git a/Project_Final_new/S/S.exe b/Project_Final_new/S/S.exe new file mode 100644 index 0000000..7cbe290 Binary files /dev/null and b/Project_Final_new/S/S.exe differ diff --git a/Project_Final_new/S/S.rc b/Project_Final_new/S/S.rc new file mode 100644 index 0000000..0fc1c64 --- /dev/null +++ b/Project_Final_new/S/S.rc @@ -0,0 +1,87 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) + +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// 中文(简体,中国) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS) +LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + + +///////////////////////////////////////////////////////////////////////////// +// +// PNG +// + +IDB_PNG1 PNG "image\\Blinky.png" + +IDB_PNG2 PNG "image\\Clyde.png" + +IDB_PNG3 PNG "image\\Inky.png" + +IDB_PNG4 PNG "image\\Pacman.png" + +IDB_PNG5 PNG "image\\Pinky.png" + + +///////////////////////////////////////////////////////////////////////////// +// +// TXT +// + +IDR_TXT1 TXT "image\\data.txt" + +#endif // 中文(简体,中国) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/Project_Final_new/S/S.vcxproj b/Project_Final_new/S/S.vcxproj new file mode 100644 index 0000000..68d7543 --- /dev/null +++ b/Project_Final_new/S/S.vcxproj @@ -0,0 +1,161 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + {41CAD22E-7D1B-42E4-BD42-BF671AE0AF91} + S + 10.0 + + + + Application + true + v142 + MultiByte + + + Application + false + v142 + true + MultiByte + + + Application + true + v142 + MultiByte + + + Application + false + v142 + true + MultiByte + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + true + true + + + Console + + + + + Level3 + Disabled + true + true + + + Console + + + + + Level3 + MaxSpeed + true + true + true + true + + + Console + true + true + + + + + Level3 + MaxSpeed + true + true + true + true + + + Console + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Project_Final_new/S/S.vcxproj.filters b/Project_Final_new/S/S.vcxproj.filters new file mode 100644 index 0000000..b2d60ce --- /dev/null +++ b/Project_Final_new/S/S.vcxproj.filters @@ -0,0 +1,96 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + 源文件 + + + 源文件 + + + 源文件 + + + 源文件 + + + 源文件 + + + 源文件 + + + 源文件 + + + + + 头文件 + + + 头文件 + + + 头文件 + + + 头文件 + + + 头文件 + + + 头文件 + + + 头文件 + + + 头文件 + + + + + 资源文件 + + + 资源文件 + + + 资源文件 + + + 资源文件 + + + 资源文件 + + + 资源文件 + + + + + 资源文件 + + + + + 资源文件 + + + \ No newline at end of file diff --git a/Project_Final_new/S/S.vcxproj.user b/Project_Final_new/S/S.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/Project_Final_new/S/S.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Project_Final_new/S/define.h b/Project_Final_new/S/define.h new file mode 100644 index 0000000..9ec61a5 --- /dev/null +++ b/Project_Final_new/S/define.h @@ -0,0 +1,30 @@ +#pragma once + +#define BLOCK_SIZE 20 +#define PERSON_SIZE 36 // 20*1.8 +#define POINT_SIZE 1 +#define POINT_BIG_SIZE 3 +#define MAP_SIZE BLOCK_SIZE + +#define MOVE_TOLERENCE 10 +#define EAT_TOLERANCE 8 + +#define MAP_COLUMN 28 +#define MAP_ROW 31 +#define MAP_CNT (MAP_COLUMN * MAP_ROW) + +#define GAME_WIDTH (MAP_COLUMN*BLOCK_SIZE) +#define GAME_HEIGHT (MAP_ROW*BLOCK_SIZE) + +#define DIR_NONE 0 +#define DIR_UP 1 +#define DIR_DOWN -1 +#define DIR_LEFT 2 +#define DIR_RIGHT -2 + +#define IMG_RIGHT 0 +#define IMG_LEFT 1 +#define IMG_UP 2 +#define IMG_DOWN 3 + +#define SCORE_HEIGHT 50 \ No newline at end of file diff --git a/Project_Final_new/S/game.cpp b/Project_Final_new/S/game.cpp new file mode 100644 index 0000000..acee4a7 --- /dev/null +++ b/Project_Final_new/S/game.cpp @@ -0,0 +1,181 @@ +#include "game.h" +#include + +Game::Game() +{ + floor = new IMAGE(GAME_WIDTH, GAME_HEIGHT); + map = Map(floor); + player = Player(floor, &map); + for (int i = 0; i < 4; i++) + monster[i] = Monster(floor, &map); + + srand(time(NULL)); +} + +void Game::Start() +{ + cleardevice(); + + floor = new IMAGE(GAME_WIDTH, GAME_HEIGHT); + map = Map(floor); + map.Test(); + map.DrawFloor(); + + player = Player(floor, &map); + player.SetSpeed(2); + player.SetXY(14 * MAP_SIZE, 23.5 * MAP_SIZE); + + monster[0] = MA(floor, &map); + monster[1] = MB(floor, &map); + monster[2] = MC(floor, &map); + monster[3] = MD(floor, &map); + + monster[0].SetXY(1.5 * MAP_SIZE, 1.5 * MAP_SIZE); + monster[1].SetXY(26.5 * MAP_SIZE, 1.5 * MAP_SIZE); + monster[2].SetXY(1.5 * MAP_SIZE, 29.5 * MAP_SIZE); + monster[3].SetXY(26.5 * MAP_SIZE, 29.5 * MAP_SIZE); + + putimage(0, 0, floor); + + for (int i = 0; i < 4; i++) + monster[i].Draw(); + + player.Draw(); + player.DrawScore(); +} + +bool Game::Loop() +{ + char key; + + // Ĭϲƶ + int dir = DIR_NONE; + + _getch(); + + while (1) + { + key = GetKey(); + + // o ˳Ϸ + switch (key) + { + case 'o': return false; + case 'w': dir = DIR_UP; break; + case 's': dir = DIR_DOWN; break; + case 'a': dir = DIR_LEFT; break; + case 'd': dir = DIR_RIGHT; break; + } + + player.SetDir(dir); + + if (player.Move()) + { + int tb = player.TryEatBean(); + if (tb!=0) + { + if (map.IsEmpty()) + { + return true; + } + + if (tb == 2) + { + for (int i = 0; i < 4; i++) + { + if(monster[i].GetFear()>=0) + monster[i].SetFear(1000); + } + } + } + } + + int px, py; + player.GetXY(px, py); + for (int i = 0; i < 4; i++) + { + int tm = monster[i].Update(px, py); + if (tm == -1) + return false; + if (tm == 1) + player.EatMonster(); + } + + + for (int i = 0; i < 4; i++) + monster[i].Draw(); + + player.Draw(); + + // ʵʱ + Sleep(10); + + } + + return false; +} + +bool Game::End(bool result) +{ + RECT r = { 0, GAME_HEIGHT, GAME_WIDTH, GAME_HEIGHT + SCORE_HEIGHT }; + + if (result) + { + // ϲͨǷ + drawtext(_T(" you win! "), &r, DT_CENTER | DT_VCENTER | DT_SINGLELINE); + } + else + { + // Ϸʧܣ´μ + drawtext(_T(" you lose. "), &r, DT_CENTER | DT_VCENTER | DT_SINGLELINE); + } + _getch(); + drawtext(_T("[o] out [r] reset"), &r, DT_CENTER | DT_VCENTER | DT_SINGLELINE); + + char key = _getch(); + while (key != 'o' && key != 'r') + key = _getch(); + + if (key == 'o') + return true; + else + return false; +} + +void Game::Load() +{ + initgraph(GAME_WIDTH, GAME_HEIGHT + SCORE_HEIGHT); + + while (1) + { + Start(); + bool s = Loop(); + bool r = End(s); + if (r) + break; + } + + closegraph(); // رջͼ +} + +char Game::GetKey() +{ + char key = 0; + if (_kbhit()) + { + key = _getch(); + if (key == -32) + { + key = _getch(); + if (key == 72) + key = 'w'; + if (key == 80) + key = 's'; + if (key == 75) + key = 'a'; + if (key == 77) + key = 'd'; + } + } + return key; +} diff --git a/Project_Final_new/S/game.h b/Project_Final_new/S/game.h new file mode 100644 index 0000000..e7ca2b4 --- /dev/null +++ b/Project_Final_new/S/game.h @@ -0,0 +1,31 @@ +#pragma once + +#include + +#include "map.h" +#include "mover.h" +#include "player.h" +#include "monster.h" + +class Game +{ +private: + Map map; + Player player; + Monster monster[4]; + IMAGE* floor; + +public: + Game(); + + void Start(); + + bool Loop(); + + bool End(bool result); + + void Load(); + + char GetKey(); + +}; diff --git a/Project_Final_new/S/image/Blinky.png b/Project_Final_new/S/image/Blinky.png new file mode 100644 index 0000000..a054032 Binary files /dev/null and b/Project_Final_new/S/image/Blinky.png differ diff --git a/Project_Final_new/S/image/Clyde.png b/Project_Final_new/S/image/Clyde.png new file mode 100644 index 0000000..3b870f8 Binary files /dev/null and b/Project_Final_new/S/image/Clyde.png differ diff --git a/Project_Final_new/S/image/Inky.png b/Project_Final_new/S/image/Inky.png new file mode 100644 index 0000000..0651bc5 Binary files /dev/null and b/Project_Final_new/S/image/Inky.png differ diff --git a/Project_Final_new/S/image/Pacman.png b/Project_Final_new/S/image/Pacman.png new file mode 100644 index 0000000..fccacd8 Binary files /dev/null and b/Project_Final_new/S/image/Pacman.png differ diff --git a/Project_Final_new/S/image/Pinky.png b/Project_Final_new/S/image/Pinky.png new file mode 100644 index 0000000..b0e385e Binary files /dev/null and b/Project_Final_new/S/image/Pinky.png differ diff --git a/Project_Final_new/S/image/data.txt b/Project_Final_new/S/image/data.txt new file mode 100644 index 0000000..fe79cb1 --- /dev/null +++ b/Project_Final_new/S/image/data.txt @@ -0,0 +1,31 @@ +3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 +3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 +3 1 3 3 3 3 1 3 3 3 3 3 1 3 3 1 3 3 3 3 3 1 3 3 3 3 1 3 +3 1 3 0 0 3 1 3 0 0 0 3 1 3 3 1 3 0 0 0 3 1 3 0 0 3 1 3 +3 1 3 3 3 3 1 3 3 3 3 3 1 3 3 1 3 3 3 3 3 1 3 3 3 3 1 3 +3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 +3 1 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 1 3 +3 1 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 1 3 +3 1 1 1 1 1 1 3 3 1 1 1 1 3 3 1 1 1 1 3 3 1 1 1 1 1 1 3 +3 3 3 3 3 3 1 3 3 3 3 3 0 3 3 0 3 3 3 3 3 1 3 3 3 3 3 3 +3 0 0 0 0 3 1 3 3 3 3 3 0 3 3 0 3 3 3 3 3 1 3 0 0 0 0 3 +3 0 0 0 0 3 1 3 3 0 0 0 0 0 0 0 0 0 0 3 3 1 3 0 0 0 0 3 +3 0 0 0 0 3 1 3 3 0 3 3 3 0 0 3 3 3 0 3 3 1 3 0 0 0 0 3 +3 3 3 3 3 3 1 3 3 0 3 0 0 0 0 0 0 3 0 3 3 1 3 3 3 3 3 3 +0 0 0 0 0 0 1 0 0 0 3 0 0 0 0 0 0 3 0 0 0 1 0 0 0 0 0 0 +3 3 3 3 3 3 1 3 3 0 3 0 0 0 0 0 0 3 0 3 3 1 3 3 3 3 3 3 +3 0 0 0 0 3 1 3 3 0 3 3 3 3 3 3 3 3 0 3 3 1 3 0 0 0 0 3 +3 0 0 0 0 3 1 3 3 0 0 0 0 0 0 0 0 0 0 3 3 1 3 0 0 0 0 3 +3 0 0 0 0 3 1 3 3 0 3 3 3 3 3 3 3 3 0 3 3 1 3 0 0 0 0 3 +3 3 3 3 3 3 1 3 3 0 3 3 3 3 3 3 3 3 0 3 3 1 3 3 3 3 3 3 +3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 +3 1 3 3 3 3 1 3 3 3 3 3 1 3 3 1 3 3 3 3 3 1 3 3 3 3 1 3 +3 1 3 3 3 3 1 3 3 3 3 3 1 3 3 1 3 3 3 3 3 1 3 3 3 3 1 3 +3 2 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 2 3 +3 3 3 1 3 3 1 3 3 1 3 3 3 3 3 3 3 3 1 3 3 1 3 3 1 3 3 3 +3 3 3 1 3 3 1 3 3 1 3 3 3 3 3 3 3 3 1 3 3 1 3 3 1 3 3 3 +3 1 1 1 1 1 1 3 3 1 1 1 1 3 3 1 1 1 1 3 3 1 1 1 1 1 1 3 +3 1 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 1 3 +3 1 3 3 3 3 3 3 3 3 3 3 1 3 3 1 3 3 3 3 3 3 3 3 3 3 1 3 +3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 +3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 diff --git a/Project_Final_new/S/main.cpp b/Project_Final_new/S/main.cpp new file mode 100644 index 0000000..d620440 --- /dev/null +++ b/Project_Final_new/S/main.cpp @@ -0,0 +1,40 @@ +#include "game.h" + +int main() +{ + Game game; + game.Load(); + + //// ȡԴļ + //HRSRC hRsrc = FindResource(NULL, RT_BITMAP, "PNG"); + //if (NULL == hRsrc) + // return FALSE; + ////ȡԴĴС + //DWORD dwSize = SizeofResource(NULL, hRsrc); + //if (0 == dwSize) + // return FALSE; + + ////Դ + //HGLOBAL hGlobal = LoadResource(NULL, hRsrc); + //if (NULL == hGlobal) + // return FALSE; + ////Դ + //LPVOID pBuffer = LockResource(hGlobal); + + //if (NULL == pBuffer) + // return FALSE; + + //// תΪIMAGE*ԼҵҪҲתΪ + //IMAGE* pByte = new IMAGE[dwSize + 1]; + //memcpy(pByte, pBuffer, dwSize); + + //GlobalUnlock(hGlobal); + + //initgraph(1000,1000); + + //putimage(0, 0, pByte); + + //_getch(); + //closegraph(); + return 0; +} \ No newline at end of file diff --git a/Project_Final_new/S/map.cpp b/Project_Final_new/S/map.cpp new file mode 100644 index 0000000..35ceea0 --- /dev/null +++ b/Project_Final_new/S/map.cpp @@ -0,0 +1,189 @@ +#include "map.h" + +Map::Map(IMAGE* floor):floor(floor) +{ + map = new char[MAP_CNT]; + for (int i = 0; i < MAP_CNT; i++) + map[i] = 0; +} + +void Map::SetMap(int column, int row, char data) +{ + map[row * MAP_COLUMN + column] = data; +} + +char Map::GetMap(int column, int row) +{ + if (row < 0 || row >= MAP_ROW || column < 0 || column >= MAP_COLUMN) + return -1; + else + return map[row * MAP_COLUMN + column]; +} + +bool Map::IsEmpty() +{ + for (int i = 0; i < MAP_CNT; i++) + { + if (map[i] == 1 || map[i] == 2) + return false; + } + return true; +} + +void Map::ClearBean(int column, int row) +{ + if (row < 0 || row >= MAP_ROW || column < 0 || column >= MAP_COLUMN) + return; + + int d = map[row * MAP_COLUMN + column]; + if (d == 1 || d == 2) + { + SetMap(column, row, 0); + + SetWorkingImage(floor); + + setfillcolor(BLACK); + + int draw_x, draw_y; + draw_x = column * MAP_SIZE + MAP_SIZE / 2; + draw_y = row * MAP_SIZE + MAP_SIZE / 2; + solidcircle(draw_x, draw_y, POINT_BIG_SIZE); + + SetWorkingImage(NULL); + } +} + +void Map::DrawFloor() +{ + SetWorkingImage(floor); + + setlinecolor(BLUE); + POINT* ps = new POINT[2]; + for (int i = 0; i < MAP_ROW; i++) + { + ps[0].y = i * MAP_SIZE + MAP_SIZE / 2; + ps[1].y = i * MAP_SIZE + MAP_SIZE / 2; + for (int j = 0; j < MAP_COLUMN - 1; j++) + { + int k = i * MAP_COLUMN + j; + if (map[k] == 3 && map[k + 1] == 3) + { + ps[0].x = j * MAP_SIZE + MAP_SIZE / 2; + ps[1].x = (j + 1) * MAP_SIZE + MAP_SIZE / 2; + polyline(ps, 2); + } + } + } + + + for (int i = 0; i < MAP_COLUMN; i++) + { + ps[0].x = i * MAP_SIZE + MAP_SIZE / 2; + ps[1].x = i * MAP_SIZE + MAP_SIZE / 2; + for (int j = 0; j < MAP_ROW - 1; j++) + { + int k = j * MAP_COLUMN + i; + if (map[k] == 3 && map[k + MAP_COLUMN] == 3) + { + ps[0].y = j * MAP_SIZE + MAP_SIZE / 2; + ps[1].y = (j + 1) * MAP_SIZE + MAP_SIZE / 2; + polyline(ps, 2); + } + } + } + + + int draw_x, draw_y, size; + for (int i = 0; i < MAP_CNT; i++) + { + draw_y = (i / MAP_COLUMN) * MAP_SIZE + MAP_SIZE / 2; + draw_x = (i % MAP_COLUMN) * MAP_SIZE + MAP_SIZE / 2; + + switch (map[i]) + { + case 1: setfillcolor(WHITE); size = POINT_SIZE; break; + case 2: setfillcolor(YELLOW); size = POINT_BIG_SIZE; break; + default: + continue; + } + + solidcircle(draw_x, draw_y, size); + + } + + SetWorkingImage(NULL); + +} + + + +void Map::Test() +{ + fstream f; + f.open("image/data.txt", ios::in); + //ļ򿪷ʽѡ + //ios::in= 0x01,//ļ򴴽(ifstreamĬϵĴ򿪷ʽ) + //ios::out = 0x02,//дļ򴴽ļѴԭ(ofstreamĬϵĴ򿪷ʽ) + //ios::ate = 0x04,//ļʱָļ󡣿ɸıָλãinoutʹ + //ios::app = 0x08,//дļ򴴽ļѴԭļݺдµݣָλ + //ios::trunc = 0x10,//ڶдǰȽļȽضΪ0Ĭϣ + //ios::nocreate= 0x20,//ļʱ󣬳inappʹ + //ios::noreplace = 0x40,//ļʱ󣬳outʹ + //ios::binary= 0x80 //Ƹʽļ + + if (!f) + { + //cout << "ļ" << endl; + return; + } + + //ֽڶ벢 + char ch; + int i = 0, j = 0; + while (EOF != (ch = f.get())) + { + if (ch == ' ') + continue; + else if (ch == '\n') + { + i++; + j = 0; + } + else + { + SetMap(j, i, ch - '0'); + j++; + } + + } + + f.close(); + + // string map_str = + //"3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 \ + //3 1 1 1 1 1 1 3 1 1 1 1 1 1 3 \ + //3 1 3 3 1 3 1 3 1 3 3 1 3 1 3 \ + //3 1 3 3 1 1 1 1 1 1 1 1 3 1 3 \ + //3 1 3 3 1 3 1 3 3 3 1 3 3 1 3 \ + //3 1 1 1 1 3 1 1 1 1 1 3 3 1 3 \ + //3 1 3 1 3 3 3 1 3 3 1 1 1 1 3 \ + //3 1 3 1 3 3 3 1 3 3 1 3 3 1 3 \ + //3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 \ + //3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 \ + //e"; + // int k = 0; + // int len = map_str.length(); + // for (int i = 0; i +#include +#include +using namespace std; + +#include "define.h" +#include "tool.h" + +class Map +{ +private: + // ͼݣ + // -1 ͼ + // 0 + // 1 + // 2 + // 3 ǽ + char* map; // ʽ 洢 + IMAGE* floor; + +public: + + Map() :map(NULL), floor(NULL) {}; + Map(IMAGE* floor); + + // õͼij + void SetMap(int column, int row, char data); + + // ȡͼij + char GetMap(int column, int row); + + // ǷԹж + bool IsEmpty(); + + // ͼϵij + void ClearBean(int column, int row); + + // ڵذͼƬ Ƶͼͼ + void DrawFloor(); + + + // + void Test(); + + //void ImportMap(std::string path); + //void ImportMap(char* path); + +}; + + +/* õľɰ汾 */ +//class Map +//{ +////private: +//// COLORREF color; +//// bool* map; +//// +////public: +//// Map(); +//// +//// void SetColor(int r, int g, int b); +//// +//// bool GetMap(int i, int j); +//// +//// void SetMap(int i, int j, bool value); +// +// //bool IsEmpty(); +// +// //void DrawMap(); +// +// //void DrawMap(int i, int j); +// +// void ImportMap(std::string path); +// void ImportMap(char* path); +// +//}; \ No newline at end of file diff --git a/Project_Final_new/S/monster.cpp b/Project_Final_new/S/monster.cpp new file mode 100644 index 0000000..e3b23e3 --- /dev/null +++ b/Project_Final_new/S/monster.cpp @@ -0,0 +1,130 @@ +#include "monster.h" + +Monster::Monster(IMAGE* floor, Map* map) :Mover(floor, map) +{ + fear = 0; + x = BLOCK_SIZE * 9 + BLOCK_SIZE / 2; + y = BLOCK_SIZE * 6 + BLOCK_SIZE / 2; + speed = 1; + + ImportImage("image/Pinky.png"); +} + +int Monster::Update(int px, int py) +{ + if (fear == 0) + { + if (TryEatPlayer(px, py)) + return -1; + } + else if (fear > 0) + { + fear--; + if (EscapePlayer(px, py)) + { + fear = -1000; + return 1; + } + } + else + { + // + + // + fear++; + } + + return 0; +} + +bool Monster::TryEatPlayer(int px, int py) +{ + dir = GainDirToEatPlayer(px,py); + if (Move()) + { + int dx = px - x; + int dy = py - y; + if (abs(dx) < EAT_TOLERANCE && abs(dy) < EAT_TOLERANCE) + return true; + } + else + { + dir += 1; + dir %= 2; + Move(); + } + + return false; + +} + +bool Monster::EscapePlayer(int px, int py) +{ + dir = -GainDirToEatPlayer(px, py); + if (Move()) + { + int dx = px - x; + int dy = py - y; + if (abs(dx) < EAT_TOLERANCE && abs(dy) < EAT_TOLERANCE) + return true; + } + else + { + dir += 1; + dir %= 2; + Move(); + } + return false; +} + +void Monster::SetFear(int f) +{ + fear = f; +} + +int Monster::GetFear() +{ + return fear; +} + +int Monster::GainDirToEatPlayer(int px, int py) +{ + + int dir = DIR_NONE; + if (px < x - MOVE_TOLERENCE / 2) + { + dir = DIR_LEFT; + } + else if (px > x + MOVE_TOLERENCE / 2) + { + dir = DIR_RIGHT; + } + else if (py < y - MOVE_TOLERENCE / 2) + { + dir = DIR_UP; + } + else if (py > y + MOVE_TOLERENCE / 2) + { + dir = DIR_DOWN; + } + + + + /* + int dir = this->dir; + static int ddd = 1000; + ddd--; + if (ddd == 0) + { + dir = rand() % 5 - 2; + while (dir == 0) + { + dir = rand() % 5 - 2; + } + ddd = 1000; + } + */ + + + return dir; +} diff --git a/Project_Final_new/S/monster.h b/Project_Final_new/S/monster.h new file mode 100644 index 0000000..a6c2d71 --- /dev/null +++ b/Project_Final_new/S/monster.h @@ -0,0 +1,60 @@ +#pragma once + +#include "mover.h" + +class Monster:public Mover +{ +protected: + int fear; + +public: + Monster() :fear(0) {}; + Monster(IMAGE* floor, Map* map); + + void SetFear(int f); + int GetFear(); + + int Update(int px,int py); + + bool TryEatPlayer(int px,int py); + bool EscapePlayer(int px, int py); + + int GainDirToEatPlayer(int px, int py); + +}; + +class MA :public Monster +{ +public: + MA(IMAGE* floor, Map* map) :Monster(floor, map) + { + ImportImage("image/Pinky.png"); + } +}; + +class MB :public Monster +{ +public: + MB(IMAGE* floor, Map* map) :Monster(floor, map) + { + ImportImage("image/Blinky.png"); + } +}; + +class MC :public Monster +{ +public: + MC(IMAGE* floor, Map* map) :Monster(floor, map) + { + ImportImage("image/Clyde.png"); + } +}; + +class MD :public Monster +{ +public: + MD(IMAGE* floor, Map* map) :Monster(floor, map) + { + ImportImage("image/Inky.png"); + } +}; \ No newline at end of file diff --git a/Project_Final_new/S/mover.cpp b/Project_Final_new/S/mover.cpp new file mode 100644 index 0000000..fc6aedf --- /dev/null +++ b/Project_Final_new/S/mover.cpp @@ -0,0 +1,263 @@ +#include "mover.h" + +Mover::Mover() +{ + x = 0; y = 0; + px = 0; py = 0; + speed = 0; + dir = 0; pdir = 0; + move_status = 0; + move_status_max = 0; + move_status_buf = 0; + move_status_buf_max = 0; + floor = NULL; + map = NULL; +} + +Mover::Mover(IMAGE* floor, Map* map) :floor(floor), map(map) +{ + x = BLOCK_SIZE * 1 + BLOCK_SIZE / 2; + y = BLOCK_SIZE * 1 + BLOCK_SIZE / 2; + px = 0; + py = 0; + speed = 2; + dir = DIR_NONE; + pdir = DIR_NONE; + + move_status = 0; + move_status_max = 2; + + move_status_buf = 0; + move_status_buf_max = 10; + + ImportImage("image/Pinky.png"); +} + +bool Mover::Move() +{ + if (dir == DIR_NONE) + return false; + + bool ss = true; + + int nx = x; + int ny = y; + int dx = (nx % BLOCK_SIZE) - BLOCK_SIZE / 2; + int dy = (ny % BLOCK_SIZE) - BLOCK_SIZE / 2; + switch (dir) + { + case DIR_UP: + { + if (abs(dx) < MOVE_TOLERENCE) + { + ny -= speed; + nx -= dx; + } + else + ss = false; + break; + } + case DIR_DOWN: + { + if (abs(dx) < MOVE_TOLERENCE) + { + ny += speed; + nx -= dx; + } + else + ss = false; + break; + } + case DIR_LEFT: + { + if (abs(dy) < MOVE_TOLERENCE) + { + nx -= speed; + ny -= dy; + } + else + ss = false; + break; + } + case DIR_RIGHT: + { + if (abs(dy) < MOVE_TOLERENCE) + { + nx += speed; + ny -= dy; + } + else + ss = false; + break; + } + } + + if (ss == false) + { + if (dir != pdir) + { + dir = pdir; + return Move(); + } + else + { + return false; + } + + } + + if (nx < 0) + nx = GAME_WIDTH; + else if (nx > GAME_WIDTH) + nx = 0; + + if (ny < 0) + ny = GAME_HEIGHT; + else if (ny > GAME_HEIGHT) + ny = 0; + + // жǷײǽ + int ni = (nx - BLOCK_SIZE / 2) / BLOCK_SIZE; + int nj = (ny - BLOCK_SIZE / 2) / BLOCK_SIZE; + + switch (dir) + { + case DIR_UP: + case DIR_LEFT: + { + if (map->GetMap(ni, nj)==3) + ss = false; + break; + } + case DIR_DOWN: + { + if (map->GetMap(ni, nj + 1)==3) + ss = false; + break; + } + case DIR_RIGHT: + { + if (nx == 0) + { + if(map->GetMap(ni, nj)==3) + ss = false; + } + else if (map->GetMap(ni + 1, nj)==3) + ss = false; + break; + } + } + + if (ss == false) + { + if (dir != pdir) + { + dir = pdir; + return Move(); + } + else + { + return false; + } + + } + + + move_status_buf++; + if (move_status_buf >= move_status_buf_max) + { + move_status_buf = 0; + move_status++; + + if (move_status >= move_status_max) + move_status = 0; + } + + + x = nx; + y = ny; + pdir = dir; + + return true; +} + +void Mover::SetXY(int x, int y) +{ + this->x = x; + this->y = y; +} + +void Mover::GetXY(int& px, int& py) +{ + px = x; + py = y; +} +void Mover::SetDir(int dir) +{ + if (dir == DIR_NONE) + return; + this->dir = dir; +} + +void Mover::Draw() +{ + // ͼ Ͻ + int draw_x, draw_y; + draw_x = px - PERSON_SIZE / 2; + draw_y = py - PERSON_SIZE / 2; + + // Ӧذͼ + SetWorkingImage(floor); + IMAGE foot = IMAGE(PERSON_SIZE, PERSON_SIZE); + getimage(&foot, draw_x, draw_y, PERSON_SIZE, PERSON_SIZE); + + //// ͼʹõذͼ񸲸ǣ + SetWorkingImage(NULL); + putimage(draw_x, draw_y, &foot); + + // ͼ + draw_x = x - PERSON_SIZE / 2; + draw_y = y - PERSON_SIZE / 2; + + int num = 0; + switch (dir) + { + case DIR_UP: num = IMG_UP + move_status * 4; break; + case DIR_DOWN: num = IMG_DOWN + move_status * 4; break; + case DIR_LEFT: num = IMG_LEFT + move_status * 4; break; + case DIR_RIGHT: num = IMG_RIGHT + move_status * 4; break; + } + + putimage(draw_x, draw_y, &img[num]); + + // 滻 + px = x; + py = y; +} + +void Mover::ImportImage(std::string path) +{ + char* pathc = str2char(path); + ImportImage(pathc); +} + +void Mover::ImportImage(char* path) +{ + IMAGE whole_img; + loadimage(&whole_img, _T(path), PERSON_SIZE * move_status_max, PERSON_SIZE * 4, true); + + SetWorkingImage(&whole_img); + int num = 0; + + for (int i = 0; i < move_status_max; i++) + { + for (int j = 0; j < 4; j++) + { + num = i * 4 + j; + getimage(&img[num], i * PERSON_SIZE, j * PERSON_SIZE, PERSON_SIZE, PERSON_SIZE); + } + } + + SetWorkingImage(); +} + diff --git a/Project_Final_new/S/mover.h b/Project_Final_new/S/mover.h new file mode 100644 index 0000000..17a0b32 --- /dev/null +++ b/Project_Final_new/S/mover.h @@ -0,0 +1,51 @@ +#pragma once + +#include +#include +using namespace std; + +#include "map.h" + +#include "define.h" +#include "tool.h" + +class Mover +{ +protected: + int x, y; // С + int px, py; // ɵ С + int speed; // ƶٶ + int dir; + int pdir; + + int move_status; // ƶʱ״̬Żҽ + int move_status_max; // ƶʱм״̬ + int move_status_buf; // 壬ƶ״̬ת༸ƶ + int move_status_buf_max; + + IMAGE img[12]; // ͼ + IMAGE* floor; // ͼ + Map* map; + +public: + Mover(); + Mover(IMAGE* floor,Map* map); + + bool Move(); + + void SetXY(int x, int y); + + void GetXY(int& px, int& py); + + void SetDir(int dir); + + void SetSpeed(int speed) + { + this->speed = speed; + } + + void Draw(); + + void ImportImage(std::string path); + void ImportImage(char* path); +}; \ No newline at end of file diff --git a/Project_Final_new/S/player.cpp b/Project_Final_new/S/player.cpp new file mode 100644 index 0000000..402597b --- /dev/null +++ b/Project_Final_new/S/player.cpp @@ -0,0 +1,61 @@ +#include "player.h" + +Player::Player(IMAGE* floor, Map* map) :Mover(floor, map) +{ + score = 0; + move_status_max = 3; + + ImportImage("image/Pacman.png"); +} + +int Player::TryEatBean() +{ + int dx = (x % BLOCK_SIZE) - BLOCK_SIZE / 2; + int dy = (y % BLOCK_SIZE) - BLOCK_SIZE / 2; + + if (abs(dx) < EAT_TOLERANCE && abs(dy) < EAT_TOLERANCE) + { + int bi = (x - dx - BLOCK_SIZE / 2) / BLOCK_SIZE; + int bj = (y - dy - BLOCK_SIZE / 2) / BLOCK_SIZE; + + if (map->GetMap(bi, bj) ==1) + { + map->ClearBean(bi, bj); + + score++; + + DrawScore(); + + return 1; + } + else if (map->GetMap(bi, bj) == 2) + { + map->ClearBean(bi, bj); + + score+=10; + + DrawScore(); + + return 2; + } + } + + return 0; +} + +void Player::EatMonster() +{ + score += 100; + DrawScore(); +} + +void Player::DrawScore() +{ + string str; + str = "score: "; + str += num2str(score); + + RECT r = { 0, GAME_HEIGHT, GAME_WIDTH, GAME_HEIGHT + SCORE_HEIGHT }; + drawtext(_T(str2char(str)), &r, DT_CENTER | DT_VCENTER | DT_SINGLELINE); + +} diff --git a/Project_Final_new/S/player.h b/Project_Final_new/S/player.h new file mode 100644 index 0000000..0d0c061 --- /dev/null +++ b/Project_Final_new/S/player.h @@ -0,0 +1,18 @@ +#pragma once + +#include +#include "mover.h" + +class Player:public Mover +{ +private: + int score; +public: + Player() :score(0) {}; + Player(IMAGE* floor, Map* map); + + int TryEatBean(); + void EatMonster(); + + void DrawScore(); +}; \ No newline at end of file diff --git a/Project_Final_new/S/resource.h b/Project_Final_new/S/resource.h new file mode 100644 index 0000000..26e044a --- /dev/null +++ b/Project_Final_new/S/resource.h @@ -0,0 +1,22 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ ɵİļ +// S.rc ʹ +// +#define IDB_BITMAP1 101 +#define IDB_PNG1 102 +#define IDB_PNG2 103 +#define IDR_TXT1 104 +#define IDB_PNG3 105 +#define IDB_PNG4 106 +#define IDB_PNG5 107 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 108 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/Project_Final_new/S/tool.cpp b/Project_Final_new/S/tool.cpp new file mode 100644 index 0000000..9f3b8d4 --- /dev/null +++ b/Project_Final_new/S/tool.cpp @@ -0,0 +1,22 @@ +#include "tool.h" + +char* str2char(string str) +{ + rsize_t num = str.length() + 1; + char* strc = new char[num]; + strcpy_s(strc, num, str.c_str()); + + return strc; +} + +string num2str(int num) +{ + stringstream ss; + string str_num; + + ss << num; + ss >> str_num; + + + return str_num; +} diff --git a/Project_Final_new/S/tool.h b/Project_Final_new/S/tool.h new file mode 100644 index 0000000..5d4e21b --- /dev/null +++ b/Project_Final_new/S/tool.h @@ -0,0 +1,9 @@ +#pragma once + +#include +#include +using namespace std; + +char* str2char(string str); + +string num2str(int num); \ No newline at end of file diff --git a/Project_Final_new/S/x64/Debug/S.log b/Project_Final_new/S/x64/Debug/S.log new file mode 100644 index 0000000..85440f8 --- /dev/null +++ b/Project_Final_new/S/x64/Debug/S.log @@ -0,0 +1,2 @@ + main.cpp + S.vcxproj -> E:\2019 编程语言学习\C\2019\C++课程学习\eatbean\S2\x64\Debug\S.exe diff --git a/Project_Final_new/S/x64/Debug/S.res b/Project_Final_new/S/x64/Debug/S.res new file mode 100644 index 0000000..045cf1b Binary files /dev/null and b/Project_Final_new/S/x64/Debug/S.res differ diff --git a/Project_Final_new/S/x64/Debug/S.tlog/CL.command.1.tlog b/Project_Final_new/S/x64/Debug/S.tlog/CL.command.1.tlog new file mode 100644 index 0000000..17da162 Binary files /dev/null and b/Project_Final_new/S/x64/Debug/S.tlog/CL.command.1.tlog differ diff --git a/Project_Final_new/S/x64/Debug/S.tlog/CL.read.1.tlog b/Project_Final_new/S/x64/Debug/S.tlog/CL.read.1.tlog new file mode 100644 index 0000000..88fe6fd Binary files /dev/null and b/Project_Final_new/S/x64/Debug/S.tlog/CL.read.1.tlog differ diff --git a/Project_Final_new/S/x64/Debug/S.tlog/CL.write.1.tlog b/Project_Final_new/S/x64/Debug/S.tlog/CL.write.1.tlog new file mode 100644 index 0000000..2a2a05e Binary files /dev/null and b/Project_Final_new/S/x64/Debug/S.tlog/CL.write.1.tlog differ diff --git a/Project_Final_new/S/x64/Debug/S.tlog/S.lastbuildstate b/Project_Final_new/S/x64/Debug/S.tlog/S.lastbuildstate new file mode 100644 index 0000000..5fbf47f --- /dev/null +++ b/Project_Final_new/S/x64/Debug/S.tlog/S.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0 +Debug|x64|E:\2019 编程语言学习\C\2019\C++课程学习\eatbean\S2\| diff --git a/Project_Final_new/S/x64/Debug/S.tlog/link.command.1.tlog b/Project_Final_new/S/x64/Debug/S.tlog/link.command.1.tlog new file mode 100644 index 0000000..7d9bb4b Binary files /dev/null and b/Project_Final_new/S/x64/Debug/S.tlog/link.command.1.tlog differ diff --git a/Project_Final_new/S/x64/Debug/S.tlog/link.read.1.tlog b/Project_Final_new/S/x64/Debug/S.tlog/link.read.1.tlog new file mode 100644 index 0000000..a3de001 Binary files /dev/null and b/Project_Final_new/S/x64/Debug/S.tlog/link.read.1.tlog differ diff --git a/Project_Final_new/S/x64/Debug/S.tlog/link.write.1.tlog b/Project_Final_new/S/x64/Debug/S.tlog/link.write.1.tlog new file mode 100644 index 0000000..04d8910 Binary files /dev/null and b/Project_Final_new/S/x64/Debug/S.tlog/link.write.1.tlog differ diff --git a/Project_Final_new/S/x64/Debug/S.tlog/rc.command.1.tlog b/Project_Final_new/S/x64/Debug/S.tlog/rc.command.1.tlog new file mode 100644 index 0000000..5c2d9fa Binary files /dev/null and b/Project_Final_new/S/x64/Debug/S.tlog/rc.command.1.tlog differ diff --git a/Project_Final_new/S/x64/Debug/S.tlog/rc.read.1.tlog b/Project_Final_new/S/x64/Debug/S.tlog/rc.read.1.tlog new file mode 100644 index 0000000..6875011 Binary files /dev/null and b/Project_Final_new/S/x64/Debug/S.tlog/rc.read.1.tlog differ diff --git a/Project_Final_new/S/x64/Debug/S.tlog/rc.write.1.tlog b/Project_Final_new/S/x64/Debug/S.tlog/rc.write.1.tlog new file mode 100644 index 0000000..476d4ff Binary files /dev/null and b/Project_Final_new/S/x64/Debug/S.tlog/rc.write.1.tlog differ diff --git a/Project_Final_new/S/x64/Debug/game.obj b/Project_Final_new/S/x64/Debug/game.obj new file mode 100644 index 0000000..dd2e288 Binary files /dev/null and b/Project_Final_new/S/x64/Debug/game.obj differ diff --git a/Project_Final_new/S/x64/Debug/main.obj b/Project_Final_new/S/x64/Debug/main.obj new file mode 100644 index 0000000..fb8faa4 Binary files /dev/null and b/Project_Final_new/S/x64/Debug/main.obj differ diff --git a/Project_Final_new/S/x64/Debug/map.obj b/Project_Final_new/S/x64/Debug/map.obj new file mode 100644 index 0000000..bf7c078 Binary files /dev/null and b/Project_Final_new/S/x64/Debug/map.obj differ diff --git a/Project_Final_new/S/x64/Debug/monster.obj b/Project_Final_new/S/x64/Debug/monster.obj new file mode 100644 index 0000000..6dfde03 Binary files /dev/null and b/Project_Final_new/S/x64/Debug/monster.obj differ diff --git a/Project_Final_new/S/x64/Debug/mover.obj b/Project_Final_new/S/x64/Debug/mover.obj new file mode 100644 index 0000000..c1f58b9 Binary files /dev/null and b/Project_Final_new/S/x64/Debug/mover.obj differ diff --git a/Project_Final_new/S/x64/Debug/player.obj b/Project_Final_new/S/x64/Debug/player.obj new file mode 100644 index 0000000..ded0818 Binary files /dev/null and b/Project_Final_new/S/x64/Debug/player.obj differ diff --git a/Project_Final_new/S/x64/Debug/tool.obj b/Project_Final_new/S/x64/Debug/tool.obj new file mode 100644 index 0000000..52f06bc Binary files /dev/null and b/Project_Final_new/S/x64/Debug/tool.obj differ diff --git a/Project_Final_new/S/x64/Debug/vc142.idb b/Project_Final_new/S/x64/Debug/vc142.idb new file mode 100644 index 0000000..a05eedc Binary files /dev/null and b/Project_Final_new/S/x64/Debug/vc142.idb differ diff --git a/Project_Final_new/S/x64/Debug/vc142.pdb b/Project_Final_new/S/x64/Debug/vc142.pdb new file mode 100644 index 0000000..370147a Binary files /dev/null and b/Project_Final_new/S/x64/Debug/vc142.pdb differ diff --git a/Project_Final_new/x64/Debug/S.exe b/Project_Final_new/x64/Debug/S.exe new file mode 100644 index 0000000..7cbe290 Binary files /dev/null and b/Project_Final_new/x64/Debug/S.exe differ diff --git a/Project_Final_new/x64/Debug/S.ilk b/Project_Final_new/x64/Debug/S.ilk new file mode 100644 index 0000000..3f3c02f Binary files /dev/null and b/Project_Final_new/x64/Debug/S.ilk differ diff --git a/Project_Final_new/x64/Debug/S.pdb b/Project_Final_new/x64/Debug/S.pdb new file mode 100644 index 0000000..580de64 Binary files /dev/null and b/Project_Final_new/x64/Debug/S.pdb differ