From 54d7a020028d687a01f2fbdaf72718579df51f29 Mon Sep 17 00:00:00 2001 From: bridgeL <47290820+bridgeL@users.noreply.github.com> Date: Fri, 18 Oct 2019 14:16:57 +0800 Subject: [PATCH] first commit --- Project4/Project4.sln | 31 +++++ Project4/Project4/APP.cpp | 9 ++ Project4/Project4/Project4.vcxproj | 148 +++++++++++++++++++++ Project4/Project4/Project4.vcxproj.filters | 69 ++++++++++ Project4/Project4/Project4.vcxproj.user | 4 + Project4/Project4/bean.cpp | 5 + Project4/Project4/bean.h | 10 ++ Project4/Project4/define.h | 22 +++ Project4/Project4/game.cpp | 60 +++++++++ Project4/Project4/game.h | 61 +++++++++ Project4/Project4/map.cpp | 26 ++++ Project4/Project4/map.h | 27 ++++ Project4/Project4/monster.h | 9 ++ Project4/Project4/mover.cpp | 34 +++++ Project4/Project4/mover.h | 34 +++++ Project4/Project4/player.cpp | 17 +++ Project4/Project4/player.h | 16 +++ Project4/Project4/tool.cpp | 36 +++++ Project4/Project4/tool.h | 31 +++++ Project4/Project4/wall.h | 8 ++ 20 files changed, 657 insertions(+) create mode 100644 Project4/Project4.sln create mode 100644 Project4/Project4/APP.cpp create mode 100644 Project4/Project4/Project4.vcxproj create mode 100644 Project4/Project4/Project4.vcxproj.filters create mode 100644 Project4/Project4/Project4.vcxproj.user create mode 100644 Project4/Project4/bean.cpp create mode 100644 Project4/Project4/bean.h create mode 100644 Project4/Project4/define.h create mode 100644 Project4/Project4/game.cpp create mode 100644 Project4/Project4/game.h create mode 100644 Project4/Project4/map.cpp create mode 100644 Project4/Project4/map.h create mode 100644 Project4/Project4/monster.h create mode 100644 Project4/Project4/mover.cpp create mode 100644 Project4/Project4/mover.h create mode 100644 Project4/Project4/player.cpp create mode 100644 Project4/Project4/player.h create mode 100644 Project4/Project4/tool.cpp create mode 100644 Project4/Project4/tool.h create mode 100644 Project4/Project4/wall.h diff --git a/Project4/Project4.sln b/Project4/Project4.sln new file mode 100644 index 0000000..f242698 --- /dev/null +++ b/Project4/Project4.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29318.209 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project4", "Project4\Project4.vcxproj", "{88B6082D-DD58-4BA5-B4C0-82CA75B9A262}" +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 + {88B6082D-DD58-4BA5-B4C0-82CA75B9A262}.Debug|x64.ActiveCfg = Debug|x64 + {88B6082D-DD58-4BA5-B4C0-82CA75B9A262}.Debug|x64.Build.0 = Debug|x64 + {88B6082D-DD58-4BA5-B4C0-82CA75B9A262}.Debug|x86.ActiveCfg = Debug|Win32 + {88B6082D-DD58-4BA5-B4C0-82CA75B9A262}.Debug|x86.Build.0 = Debug|Win32 + {88B6082D-DD58-4BA5-B4C0-82CA75B9A262}.Release|x64.ActiveCfg = Release|x64 + {88B6082D-DD58-4BA5-B4C0-82CA75B9A262}.Release|x64.Build.0 = Release|x64 + {88B6082D-DD58-4BA5-B4C0-82CA75B9A262}.Release|x86.ActiveCfg = Release|Win32 + {88B6082D-DD58-4BA5-B4C0-82CA75B9A262}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {0B99F3F3-805C-4132-BE71-BAB45C040DDE} + EndGlobalSection +EndGlobal diff --git a/Project4/Project4/APP.cpp b/Project4/Project4/APP.cpp new file mode 100644 index 0000000..bc079b9 --- /dev/null +++ b/Project4/Project4/APP.cpp @@ -0,0 +1,9 @@ +#include "game.h" + +int main() +{ + Game game; + game.Load(); + + return 0; +} \ No newline at end of file diff --git a/Project4/Project4/Project4.vcxproj b/Project4/Project4/Project4.vcxproj new file mode 100644 index 0000000..2286647 --- /dev/null +++ b/Project4/Project4/Project4.vcxproj @@ -0,0 +1,148 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + {88B6082D-DD58-4BA5-B4C0-82CA75B9A262} + Project4 + 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/Project4/Project4/Project4.vcxproj.filters b/Project4/Project4/Project4.vcxproj.filters new file mode 100644 index 0000000..ec3d216 --- /dev/null +++ b/Project4/Project4/Project4.vcxproj.filters @@ -0,0 +1,69 @@ + + + + + {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/Project4/Project4/Project4.vcxproj.user b/Project4/Project4/Project4.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/Project4/Project4/Project4.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Project4/Project4/bean.cpp b/Project4/Project4/bean.cpp new file mode 100644 index 0000000..bcc8590 --- /dev/null +++ b/Project4/Project4/bean.cpp @@ -0,0 +1,5 @@ +#include "bean.h" + +void Bean::ClearBean(int x, int y) +{ +} diff --git a/Project4/Project4/bean.h b/Project4/Project4/bean.h new file mode 100644 index 0000000..cc2cd02 --- /dev/null +++ b/Project4/Project4/bean.h @@ -0,0 +1,10 @@ +#pragma once + +#include "map.h" + +class Bean: public Map +{ +public: + // (xy)ʰȡĶ + void ClearBean(int x, int y); +}; \ No newline at end of file diff --git a/Project4/Project4/define.h b/Project4/Project4/define.h new file mode 100644 index 0000000..eb881d6 --- /dev/null +++ b/Project4/Project4/define.h @@ -0,0 +1,22 @@ +#pragma once + +#define MOVER_WIDTH 50 +#define MOVER_HEIGHT 50 + +#define DIR_NONE 0 +#define DIR_UP 1 +#define DIR_DOWN 2 +#define DIR_LEFT 3 +#define DIR_RIGHT 4 + +// ʵʿΪ 28*50 ߶Ϊ 30*50 +#define MAP_WIDTH 28 +#define MAP_HEIGHT 30 + +// ϷĿ +#define GAME_WIDTH 1400 +#define GAME_HEIGHT 1800 + +// չʾ +#define SCORE_X 10 +#define SCORE_Y 1600 diff --git a/Project4/Project4/game.cpp b/Project4/Project4/game.cpp new file mode 100644 index 0000000..adb1ab8 --- /dev/null +++ b/Project4/Project4/game.cpp @@ -0,0 +1,60 @@ +#include "game.h" + +Game::Game() +{ +} + +void Game::Load() +{ +} + +void Game::Loop() +{ +} + +char Game::GetKey() +{ + return 0; +} + +void Game::Begin() +{ +} + +void Game::End() +{ +} + +bool Game::PlayerMove(int dir) +{ + return false; +} + +void Game::PlayerGetBean() +{ +} + +void Game::PlayerGetGoldBean() +{ +} + +bool Game::PlayerMeetMonster() +{ + return false; +} + +void Game::MonsterMove() +{ +} + +void Game::MonsterChase() +{ +} + +void Game::MonsterEscape() +{ +} + +void Game::MonsterPhoenix() +{ +} diff --git a/Project4/Project4/game.h b/Project4/Project4/game.h new file mode 100644 index 0000000..45a9b6b --- /dev/null +++ b/Project4/Project4/game.h @@ -0,0 +1,61 @@ +#pragma once + +// ϵͳ +#include +// Ŀ +#include "define.h" +#include "tool.h" +#include "wall.h" +#include "bean.h" +#include "player.h" +#include "monster.h" + +class Game +{ +private: + Wall wall; + Bean bean, goldBean; + Player p; + Monster m[4]; + +public: + Game(); + + void Load(); + + // Ϸѭ + void Loop(); + + // ȡ + char GetKey(); + + // Ϸʼ˵ + void Begin(); + void End(); + + // p, wall жƶǷǽʵҵƶ + // ƶʧܣײǽ falseΪtrue + bool PlayerMove(int dir); + + // p, beanжƶǷܳԵӣʵҳԶ + void PlayerGetBean(); + + // p, goldBeanжƶǷܳԵӣʵҳԽ + void PlayerGetGoldBean(); + + // p, m[4] жǷݹ״̬ʵҳԹ, + // Եң falseΪtrue + bool PlayerMeetMonster(); + + // p, m[4], wall ʵֹƶ + void MonsterMove(); + + // ƶַʽ + // ׷ + void MonsterChase(); + // ӱ + void MonsterEscape(); + // + void MonsterPhoenix(); + +}; \ No newline at end of file diff --git a/Project4/Project4/map.cpp b/Project4/Project4/map.cpp new file mode 100644 index 0000000..7f4b417 --- /dev/null +++ b/Project4/Project4/map.cpp @@ -0,0 +1,26 @@ +#include "map.h" + +Map::Map() +{ +} + +void Map::SetFrontImg(IMAGE img) +{ +} + +void Map::SetGroundImg(IMAGE img) +{ +} + +void Map::SetMap(int* _map) +{ +} + +bool Map::IsMapTrueArea(int x, int y) +{ + return false; +} + +void Map::DrawAllArea() +{ +} diff --git a/Project4/Project4/map.h b/Project4/Project4/map.h new file mode 100644 index 0000000..f20b7c6 --- /dev/null +++ b/Project4/Project4/map.h @@ -0,0 +1,27 @@ +#pragma once + +// ϵͳ +#include +// Ŀ +#include "define.h" + +class Map +{ +protected: + IMAGE front, ground; // ǰ(true)Ԫͼ(false)Ԫͼ + bool map[MAP_WIDTH][MAP_HEIGHT]; + +public: + Map(); + + void SetFrontImg(IMAGE img); + void SetGroundImg(IMAGE img); + void SetMap(int* _map); + + // жһ߹ڣxyǷmapΪtrue + bool IsMapTrueArea(int x, int y); + + // е + void DrawAllArea(); + +}; \ No newline at end of file diff --git a/Project4/Project4/monster.h b/Project4/Project4/monster.h new file mode 100644 index 0000000..6232954 --- /dev/null +++ b/Project4/Project4/monster.h @@ -0,0 +1,9 @@ +#pragma once + +#include "mover.h" + +class Monster :public Mover +{ + + +}; \ No newline at end of file diff --git a/Project4/Project4/mover.cpp b/Project4/Project4/mover.cpp new file mode 100644 index 0000000..d781eda --- /dev/null +++ b/Project4/Project4/mover.cpp @@ -0,0 +1,34 @@ +#include "mover.h" + +Mover::Mover() +{ +} + +void Mover::SetImg(IMAGE _img) +{ +} + +void Mover::SetXY(int _x, int _y) +{ +} + +void Mover::SetSpeed(int _speed) +{ +} + +void Mover::Move(int dir) +{ +} + + +void Mover::NextMove(int dir, int& nx, int& ny) +{ +} + +void Mover::Draw() +{ +} + +void Mover::DrawClear() +{ +} diff --git a/Project4/Project4/mover.h b/Project4/Project4/mover.h new file mode 100644 index 0000000..2525abb --- /dev/null +++ b/Project4/Project4/mover.h @@ -0,0 +1,34 @@ +#pragma once + +// ϵͳ +#include +// Ŀ +#include "define.h" +#include "wall.h" + +class Mover +{ +protected : + IMAGE img; // ͼ + int x, y; // С + int speed; // ƶٶ + +public : + Mover(); + + void SetImg(IMAGE _img); + void SetXY(int _x, int _y); + void SetSpeed(int _speed); + + // dirƶǸdirımover꣬ûпײǽ⣬ + // Ҫײǽgameƶ + // ԼӰҲgameƶ + void Move(int dir); + + // dirƶһε + void NextMove(int dir,int& nx, int& ny); + + void Draw(); // ڵǰ껭Լͼ + void DrawClear(); // ڵǰԼͼ + +}; \ No newline at end of file diff --git a/Project4/Project4/player.cpp b/Project4/Project4/player.cpp new file mode 100644 index 0000000..9e41fdd --- /dev/null +++ b/Project4/Project4/player.cpp @@ -0,0 +1,17 @@ +#include "player.h" + +void Player::GetBean() +{ +} + +void Player::GetGoldBean() +{ +} + +void Player::GetMonster() +{ +} + +void Player::DrawScore() +{ +} diff --git a/Project4/Project4/player.h b/Project4/Project4/player.h new file mode 100644 index 0000000..4e45164 --- /dev/null +++ b/Project4/Project4/player.h @@ -0,0 +1,16 @@ +#pragma once + +#include "mover.h" + +class Player : public Mover +{ +private : + int score; + +public : + void GetBean(); + void GetGoldBean(); + void GetMonster(); + + void DrawScore(); +}; \ No newline at end of file diff --git a/Project4/Project4/tool.cpp b/Project4/Project4/tool.cpp new file mode 100644 index 0000000..346d939 --- /dev/null +++ b/Project4/Project4/tool.cpp @@ -0,0 +1,36 @@ +#include "tool.h" + +Wall Tool::ImportWall(int num) +{ + return Wall(); +} + +Bean Tool::ImportBean(int num) +{ + return Bean(); +} + +Player Tool::ImportPlayer(int num) +{ + return Player(); +} + +Monster Tool::ImportMonster(int num) +{ + return Monster(); +} + +string Tool::num2str(int num) +{ + return string(); +} + +int Tool::str2num(string str) +{ + return 0; +} + +char* Tool::str2char(string str) +{ + return nullptr; +} diff --git a/Project4/Project4/tool.h b/Project4/Project4/tool.h new file mode 100644 index 0000000..4c92d20 --- /dev/null +++ b/Project4/Project4/tool.h @@ -0,0 +1,31 @@ +#pragma once + +// ϵͳ +#include +#include +#include +#include +#include + +using namespace std; + +// Ŀ +#include "define.h" +#include "wall.h" +#include "bean.h" +#include "player.h" +#include "monster.h" + +class Tool +{ +public: + Wall ImportWall(int num); + Bean ImportBean(int num); + Player ImportPlayer(int num); + Monster ImportMonster(int num); + + string num2str(int num); + int str2num(string str); + char* str2char(string str); + +}; \ No newline at end of file diff --git a/Project4/Project4/wall.h b/Project4/Project4/wall.h new file mode 100644 index 0000000..efcb036 --- /dev/null +++ b/Project4/Project4/wall.h @@ -0,0 +1,8 @@ +#pragma once + +#include "map.h" + +class Wall: public Map +{ + +}; \ No newline at end of file