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