diff --git a/.gitignore b/.gitignore
index 3cc422f..3c026b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -246,3 +246,5 @@ ModelManifest.xml
# FAKE - F# Make
.fake/
+*.ttf
+*.txt
diff --git a/BattleGame/BattleGame.cpp b/BattleGame/BattleGame.cpp
index 4a3c628..ae33cfb 100644
--- a/BattleGame/BattleGame.cpp
+++ b/BattleGame/BattleGame.cpp
@@ -1,11 +1,22 @@
-// BattleGame.cpp : 定义控制台应用程序的入口点。
-//
+#include "MiniEngine/MiniEngine.h"
+using namespace MiniEngine;
-#include "stdafx.h"
+#include "global.h"
+#include "Game.h"
+char timebuff[128];
-int main()
+int AppMain()
{
- return 0;
+ sprintf(timebuff, "BattleGame BuildTime(%s %s)", __DATE__, __TIME__);
+ Window wnd(timebuff, 1024, 768);
+ Renderer rnd = wnd.getRenderer();
+ Font font("msyh.ttf", 18);
+ global.wnd = &wnd;
+ global.rnd = &rnd;
+ global.font = &font;
+ global.frame = new Frame;
+ GameMain();
+ return 0;
}
diff --git a/BattleGame/BattleGame.vcxproj b/BattleGame/BattleGame.vcxproj
index be6fa2c..f56224d 100644
--- a/BattleGame/BattleGame.vcxproj
+++ b/BattleGame/BattleGame.vcxproj
@@ -83,15 +83,18 @@
- Use
+ NotUsing
Level3
Disabled
- WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
true
+ D:\VisualStudio2015\BattleGame\BattleGame;%(AdditionalIncludeDirectories)
Console
true
+ SDL2.lib;SDL2main.lib;SDL2test.lib;SDL2_ttf.lib;SDL2_image.lib;SDL2_mixer.lib;%(AdditionalDependencies)
+ D:\VisualStudio2015\BattleGame\BattleGame\SDL2lib;%(AdditionalLibraryDirectories)
@@ -145,22 +148,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
Create
Create
Create
Create
+
diff --git a/BattleGame/BattleGame.vcxproj.filters b/BattleGame/BattleGame.vcxproj.filters
index 6bce990..0a38a31 100644
--- a/BattleGame/BattleGame.vcxproj.filters
+++ b/BattleGame/BattleGame.vcxproj.filters
@@ -30,6 +30,27 @@
澶存枃浠
+
+ 澶存枃浠
+
+
+ 澶存枃浠
+
+
+ 澶存枃浠
+
+
+ 澶存枃浠
+
+
+ 澶存枃浠
+
+
+ 澶存枃浠
+
+
+ 澶存枃浠
+
@@ -47,5 +68,23 @@
婧愭枃浠
+
+ 婧愭枃浠
+
+
+ 婧愭枃浠
+
+
+ 婧愭枃浠
+
+
+ 婧愭枃浠
+
+
+ 婧愭枃浠
+
+
+ 婧愭枃浠
+
\ No newline at end of file
diff --git a/BattleGame/Button.cpp b/BattleGame/Button.cpp
new file mode 100644
index 0000000..02cde37
--- /dev/null
+++ b/BattleGame/Button.cpp
@@ -0,0 +1,133 @@
+#include "Button.h"
+using namespace MiniEngine;
+#include
+using namespace std;
+
+ButtonBase::ButtonBase()
+{
+ _status=0;
+}
+
+void ButtonBase::onMouseOver(Looper&, Event&)
+{
+
+}
+
+void ButtonBase::onMouseDown(Looper&, Event&)
+{
+
+}
+
+void ButtonBase::onMouseUp(Looper&, Event&)
+{
+
+}
+
+void ButtonBase::onMouseOut(Looper&, Event&)
+{
+
+}
+
+
+//virtual
+void ButtonBase::draw()
+{
+
+}
+
+//virtual override
+void StaticButtonBase::draw()
+{
+ global.rnd->copyTo(text,pos);
+}
+
+LooperAdapter::LooperAdapter(Looper& lp)
+{
+ lp.updater=[&]()
+ {
+ global.rnd->clear();
+ for_each(_update_vec.begin(),_update_vec.end(),[](const function& func)
+ {
+ func();
+ });
+ global.rnd->update();
+ };
+ _plooper=&lp;
+}
+
+void LooperAdapter::addUpdater(const std::function& updateFunc)
+{
+ _update_vec.push_back(updateFunc);
+}
+
+Looper * LooperAdapter::getLooperPtr() const
+{
+ return _plooper;
+}
+
+ButtonAdapter::ButtonAdapter(LooperAdapter & looperAdapter)
+{
+ _plpa = &looperAdapter;
+}
+
+void ButtonAdapter::addButton(ButtonBase* pButton)
+{
+ Looper* pLooper=_plpa->getLooperPtr();
+ pLooper->add(SDL_MOUSEMOTION,function([=](Looper& lp,Event& ev)->int
+ {
+ if(pButton->_status==1) /// mouseOver -> ...
+ {
+ if(!Point(ev.motion.x,ev.motion.y).inRect(pButton->pos)) /// mouseOver -> mouseOut
+ {
+ pButton->onMouseOut(lp,ev);
+ pButton->_status =0;
+
+ return 1;
+ }
+ }
+ else if(pButton->_status ==0) /// Normal -> ...
+ {
+ if(Point(ev.motion.x,ev.motion.y).inRect(pButton->pos)) /// Normal -> mouseOver
+ {
+ pButton->onMouseOver(lp,ev);
+ pButton->_status =1;
+
+ return 1;
+ }
+ }
+
+ return 0;
+ }));
+ pLooper->add(SDL_MOUSEBUTTONDOWN, function([=](Looper& lp,Event& ev)->int
+ {
+ if(pButton->_status ==1) /// mouseOver
+ {
+ if(Point(ev.button.x,ev.button.y).inRect(pButton->pos)) /// mouseOver -> mouseDown
+ {
+ pButton->onMouseDown(lp,ev);
+ pButton->_status =2;
+
+ return 1;
+ }
+ }
+
+ return 0;
+ }));
+
+ pLooper->add(SDL_MOUSEBUTTONUP,function([=](Looper& lp,Event& ev)->int
+ {
+ if(pButton->_status ==2) /// mouseDown
+ {
+ if(Point(ev.button.x,ev.button.y).inRect(pButton->pos)) /// mouseDown -> mouseOver
+ {
+ pButton->onMouseUp(lp,ev);
+ pButton->_status =1;
+
+ return 1;
+ }
+ }
+
+ return 0;
+ }));
+ _plpa->addUpdater([=](){pButton->draw();});
+}
diff --git a/BattleGame/Button.h b/BattleGame/Button.h
new file mode 100644
index 0000000..51cb6c4
--- /dev/null
+++ b/BattleGame/Button.h
@@ -0,0 +1,42 @@
+#include "global.h"
+#include "MiniEngine/MiniEngine_Event.h"
+
+class ButtonBase
+{
+public:
+ ButtonBase();
+ virtual void onMouseOver(Looper&,Event&);
+ virtual void onMouseDown(Looper&,Event&);
+ virtual void onMouseUp(Looper&,Event&);
+ virtual void onMouseOut(Looper&,Event&);
+ virtual void draw();
+ MiniEngine::Rect pos;
+ int _status;/// 0 Normal 1 MouseOver 2 MouseDown
+};
+
+class StaticButtonBase : public ButtonBase
+{
+public:
+ MiniEngine::Texture text;
+ virtual void draw() override;
+};
+
+class LooperAdapter
+{
+public:
+ LooperAdapter(Looper& lp);
+ void addUpdater(const std::function& updateFunc);
+ Looper* getLooperPtr() const;
+private:
+ std::vector> _update_vec;
+ Looper* _plooper;
+};
+
+class ButtonAdapter
+{
+public:
+ ButtonAdapter(LooperAdapter&);
+ void addButton(ButtonBase* pButton);
+private:
+ LooperAdapter* _plpa;
+};
diff --git a/BattleGame/Env.h b/BattleGame/Env.h
new file mode 100644
index 0000000..56d548e
--- /dev/null
+++ b/BattleGame/Env.h
@@ -0,0 +1,13 @@
+#pragma once
+#include "MiniEngine/MiniEngine.h"
+#include "Scene.h"
+
+struct Env
+{
+ MiniEngine::Window* wnd;
+ MiniEngine::Renderer* rnd;
+ MiniEngine::Font* font;
+ Frame* frame;
+ MiniEngine::StringEngine* strEngine;
+};
+
diff --git a/BattleGame/Game.cpp b/BattleGame/Game.cpp
new file mode 100644
index 0000000..5cc66a3
--- /dev/null
+++ b/BattleGame/Game.cpp
@@ -0,0 +1,41 @@
+#include "Game.h"
+using namespace MiniEngine;
+
+#include "MapEditor.h"
+#include "UnitInit.h"
+#include "global.h"
+
+#include
+#include
+#include
+#include
+
+void InitStringEngine()
+{
+ StringEngine* _str_engine=new StringEngine("Strings.xml","zh_CN");
+ if(_str_engine==nullptr||(!_str_engine->ready()))
+ {
+ printf("[Error] String Engine is not ready. \n");
+ abort();
+ }
+ global.strEngine = _str_engine;
+}
+
+void QuitStringEngine()
+{
+ delete global.strEngine;
+ global.strEngine = nullptr;
+}
+
+
+
+void GameMain()
+{
+ /// Reset random number generator
+ srand(time(NULL));
+
+ InitStringEngine();
+ InitUnitData();
+
+ global.frame->run(new MapEditorScene);
+}
diff --git a/BattleGame/Game.h b/BattleGame/Game.h
new file mode 100644
index 0000000..e4f7a97
--- /dev/null
+++ b/BattleGame/Game.h
@@ -0,0 +1,3 @@
+#pragma once
+#include "MiniEngine/MiniEngine.h"
+void GameMain();
diff --git a/BattleGame/MapEditor.cpp b/BattleGame/MapEditor.cpp
new file mode 100644
index 0000000..cc19ead
--- /dev/null
+++ b/BattleGame/MapEditor.cpp
@@ -0,0 +1,39 @@
+#include "MapEditor.h"
+#include "Button.h"
+using namespace MiniEngine;
+using namespace std;
+
+struct SizePack
+{
+ int line,col;
+};
+
+//virtual
+void MapEditorScene::start(void* ptr)
+{
+ SizePack* ppack=(SizePack*)global.frame->run(new MapEditorMapSizeConfigureScene,new SizePack);
+}
+
+class MapEditorMapSizeConfigureSceneReturnButton : public StaticButtonBase
+{
+public:
+
+};
+
+//virtual
+void MapEditorMapSizeConfigureScene::start(void* ptr)
+{
+ Rect winSize=global.wnd->getSize();
+
+ Texture text_a1 = global.font->renderUTF8(*(global.rnd),global.strEngine->getString("INPUT_SIZE"), RGBA(255, 255, 255, 255));
+ Texture text_a2 = global.font->renderUTF8(*(global.rnd),global.strEngine->getString("BACK"), RGBA(255, 255, 255, 255));
+ Texture text_a3 = global.font->renderUTF8(*(global.rnd),global.strEngine->getString("CREATE_MAP"), RGBA(255, 255, 255, 255));
+ Texture text_b1 = global.font->renderUTF8(*(global.rnd),global.strEngine->getString("W:"), RGBA(255, 255, 255, 255));
+ Texture text_b2 = global.font->renderUTF8(*(global.rnd),global.strEngine->getString("H:"), RGBA(255, 255, 255, 255));
+ Texture text_c1 = global.font->renderUTF8(*(global.rnd),global.strEngine->getString("999"), RGBA(255, 255, 255, 255));
+
+ Looper lp;
+ LooperAdapter lpa(lp);
+ ButtonAdapter btna(lpa);
+
+}
diff --git a/BattleGame/MapEditor.h b/BattleGame/MapEditor.h
new file mode 100644
index 0000000..a43e550
--- /dev/null
+++ b/BattleGame/MapEditor.h
@@ -0,0 +1,14 @@
+#pragma once
+#include "Scene.h"
+
+class MapEditorScene : public Scene
+{
+public:
+ virtual void start(void* ptr) override;
+};
+
+class MapEditorMapSizeConfigureScene : public Scene
+{
+public:
+ virtual void start(void* ptr) override;
+};
diff --git a/BattleGame/MiniEngine b/BattleGame/MiniEngine
index 7c22fb5..26beb30 160000
--- a/BattleGame/MiniEngine
+++ b/BattleGame/MiniEngine
@@ -1 +1 @@
-Subproject commit 7c22fb544d626811866293346c9d48ca132583e6
+Subproject commit 26beb30f77323299abd126faf1ca32127c1d0254
diff --git a/BattleGame/Scene.cpp b/BattleGame/Scene.cpp
new file mode 100644
index 0000000..e18ef24
--- /dev/null
+++ b/BattleGame/Scene.cpp
@@ -0,0 +1,49 @@
+#include "Scene.h"
+using namespace std;
+
+/// Default Implement
+//virtual
+void Scene::start(void*)
+{
+ printf("[Warning] Empty Scene %p\n",this);
+}
+
+void Frame::push(Scene* pScene,void* ptr)
+{
+ _stk.push(make_pair(pScene,ptr));
+}
+
+void Frame::show()
+{
+ if(!_stk.empty())
+ {
+ std::pair pr=_stk.top();
+ pr.first->start(pr.second);
+ }
+}
+
+void* Frame::pop()
+{
+ if(!_stk.empty())
+ {
+ std::pair pr=_stk.top();
+ _stk.pop();
+ return pr.second;
+ }
+ else
+ {
+ return nullptr;
+ }
+}
+
+bool Frame::empty()
+{
+ return _stk.empty();
+}
+
+void* Frame::run(Scene* pScene,void* ptr)
+{
+ push(pScene,ptr);
+ show();
+ return pop();
+}
diff --git a/BattleGame/Scene.h b/BattleGame/Scene.h
new file mode 100644
index 0000000..81b1735
--- /dev/null
+++ b/BattleGame/Scene.h
@@ -0,0 +1,24 @@
+#pragma once
+#include "MiniEngine/MiniEngine.h"
+#include "MiniEngine/MiniEngine_Event.h"
+#include
+#include
+
+class Scene
+{
+public:
+ virtual void start(void*);
+ virtual ~Scene()=default;
+};
+
+class Frame
+{
+public:
+ void push(Scene*,void* ptr=nullptr);
+ void show();
+ void* pop();
+ bool empty();
+ void* run(Scene*,void* ptr=nullptr);
+private:
+ std::stack> _stk;
+};
diff --git a/BattleGame/Strings.xml b/BattleGame/Strings.xml
new file mode 100644
index 0000000..7fd565e
--- /dev/null
+++ b/BattleGame/Strings.xml
@@ -0,0 +1,8 @@
+锘
+杈撳叆灏哄
+杩斿洖
+鍒涘缓鍦板浘
+淇濆瓨
+淇濆瓨鍦板浘
+閫鍑虹紪杈戝櫒
+
\ No newline at end of file
diff --git a/BattleGame/UnitInit.cpp b/BattleGame/UnitInit.cpp
new file mode 100644
index 0000000..400f7fe
--- /dev/null
+++ b/BattleGame/UnitInit.cpp
@@ -0,0 +1,98 @@
+#include "UnitInit.h"
+using namespace MiniEngine;
+using namespace std;
+
+inline UnitType _ReadUnitType(FILE* fp)
+{
+ UnitType x;
+ char buff[128];
+ fscanf(fp, "%s", buff);
+ if (strcmp(buff, "LAND") == 0)
+ {
+ x.loadtype = 0;
+ }
+ else if (strcmp(buff, "SEA") == 0)
+ {
+ x.loadtype = 1;
+ }
+ else if (strcmp(buff, "FLY") == 0)
+ {
+ x.loadtype = 2;
+ }
+ else
+ {
+ x.loadtype = -1;
+ }
+ fscanf(fp, "%s", buff);
+ x.TypeIDStr = buff;
+ fscanf(fp, "%s", buff);
+ x.TypeName = buff;
+ fscanf(fp, "%d", &x.sample.hpmax);
+ fscanf(fp, "%d", &x.sample.vrange);
+
+ fscanf(fp, "%d", &x.sample.tarland);
+ fscanf(fp, "%d", &x.sample.attland);
+ fscanf(fp, "%d", &x.sample.arangeland);
+ fscanf(fp, "%d", &x.sample.erangeland);
+ fscanf(fp, "%lf", &x.sample.decendland);
+
+ fscanf(fp, "%d", &x.sample.tarsea);
+ fscanf(fp, "%d", &x.sample.attsea);
+ fscanf(fp, "%d", &x.sample.arangesea);
+ fscanf(fp, "%d", &x.sample.erangesea);
+ fscanf(fp, "%lf", &x.sample.decendsea);
+
+ fscanf(fp, "%d", &x.sample.tarsky);
+ fscanf(fp, "%d", &x.sample.attsky);
+ fscanf(fp, "%d", &x.sample.arangesky);
+ fscanf(fp, "%d", &x.sample.erangesky);
+ fscanf(fp, "%lf", &x.sample.decendsky);
+
+ fscanf(fp, "%d", &x.sample.canland);
+ fscanf(fp, "%d", &x.sample.stepland);
+ fscanf(fp, "%d", &x.sample.cansea);
+ fscanf(fp, "%d", &x.sample.stepsea);
+ fscanf(fp, "%d", &x.sample.cansky);
+ fscanf(fp, "%d", &x.sample.stepsky);
+
+ fscanf(fp, "%d", &x.sample.cooltime);
+ fscanf(fp, "%d", &x.sample.containmax);
+
+ return x;
+}
+
+inline void _LoadUnitTexture(UnitType& x)
+{
+ char buff[128];
+ memset(buff,0,128);
+ sprintf(buff, "res/%s.png", x.TypeIDStr.c_str());
+ x.pic = global.rnd->loadTexture(buff);
+ x.text_typename = global.font->renderUTF8(*(global.rnd),x.TypeName,RGBA(255,255,255,255));
+}
+
+/// Count of Unit Types
+const int _internal_unittype_counter = 25;
+UnitType _internal_unittype[_internal_unittype_counter];
+
+void InitUnitData()
+{
+ FILE* fp;
+ fp = fopen("gamedata.txt", "r");
+ for (int i = 0; i<_internal_unittype_counter; i++)
+ {
+ UnitType x = _ReadUnitType(fp);
+ _LoadUnitTexture(x);
+
+ x.sample.typetag = i;
+
+ x.sample.hp = x.sample.hpmax;
+ x.sample.lv = 1;
+ x.sample.exp = 0;
+ x.sample.containing = 0;
+ x.sample.box = nullptr;
+
+ /// undefined: id,x,y,onland,insea,insky,lastcool
+ _internal_unittype[i] = x;
+ }
+ fclose(fp);
+}
diff --git a/BattleGame/UnitInit.h b/BattleGame/UnitInit.h
new file mode 100644
index 0000000..bc5e57e
--- /dev/null
+++ b/BattleGame/UnitInit.h
@@ -0,0 +1,55 @@
+#pragma once
+#include "MiniEngine/MiniEngine.h"
+#include
+#include "global.h"
+
+typedef int UnitID;
+
+struct Unit
+{
+ int hpmax;
+ int vrange;
+
+ int tarland, tarsea, tarsky;///bool
+ int attland, attsea, attsky;
+ int arangeland, arangesea, arangesky;
+ int erangeland, erangesea, erangesky;
+ double decendland, decendsea, decendsky;
+
+ int canland, cansea, cansky;/// bool
+ int stepland, stepsea, stepsky;
+
+ int cooltime;
+ int containmax;
+
+ /// Cannot be defined until load
+ int typetag;
+
+ /// Dynamic Data
+ UnitID id;
+ int line, col;
+ int onland, insea, insky;///bool
+ int lastcool;
+
+ int hp;
+ int lv, exp;
+ int containing;
+ int* box;
+
+ int party;
+
+ std::string name;
+};
+
+struct UnitType
+{
+ std::string TypeIDStr;
+ std::string TypeName;
+ int loadtype;///0 Land 1 Sea 2 Sky -1 Unknown
+ Unit sample;
+ MiniEngine::Texture pic;
+ MiniEngine::Texture text_typename;
+};
+
+
+void InitUnitData();
diff --git a/BattleGame/global.cpp b/BattleGame/global.cpp
new file mode 100644
index 0000000..66e9b80
--- /dev/null
+++ b/BattleGame/global.cpp
@@ -0,0 +1,15 @@
+#include "global.h"
+
+Env global;
+
+MiniEngine::Texture text_land;/// Land
+MiniEngine::Texture text_sea;/// Sea
+MiniEngine::Texture text_mountain;/// Mountain
+MiniEngine::Texture text_black;/// Black
+MiniEngine::Texture text_dark;/// Dark
+
+MiniEngine::Texture textstr_exp;/// EXP
+MiniEngine::Texture textstr_hp;/// HP
+MiniEngine::Texture textstr_enemy;/// Enemy
+MiniEngine::Texture textstr_player;/// Player
+MiniEngine::Texture textstr_cooling;/// Cooling
diff --git a/BattleGame/global.h b/BattleGame/global.h
new file mode 100644
index 0000000..29fb1d5
--- /dev/null
+++ b/BattleGame/global.h
@@ -0,0 +1,17 @@
+#pragma once
+#include "Env.h"
+
+extern Env global;
+
+extern MiniEngine::Texture text_land;/// Land
+extern MiniEngine::Texture text_sea;/// Sea
+extern MiniEngine::Texture text_mountain;/// Mountain
+extern MiniEngine::Texture text_black;/// Black
+extern MiniEngine::Texture text_dark;/// Dark
+
+extern MiniEngine::Texture textstr_exp;/// EXP
+extern MiniEngine::Texture textstr_hp;/// HP
+extern MiniEngine::Texture textstr_enemy;/// Enemy
+extern MiniEngine::Texture textstr_player;/// Player
+extern MiniEngine::Texture textstr_cooling;/// Cooling
+
diff --git a/BattleGame/res/MAP_LAND.png b/BattleGame/res/MAP_LAND.png
new file mode 100644
index 0000000..b960077
Binary files /dev/null and b/BattleGame/res/MAP_LAND.png differ
diff --git a/BattleGame/res/MAP_MOUNTAIN.png b/BattleGame/res/MAP_MOUNTAIN.png
new file mode 100644
index 0000000..fc360a1
Binary files /dev/null and b/BattleGame/res/MAP_MOUNTAIN.png differ
diff --git a/BattleGame/res/MAP_SEA.png b/BattleGame/res/MAP_SEA.png
new file mode 100644
index 0000000..c6e0f7a
Binary files /dev/null and b/BattleGame/res/MAP_SEA.png differ
diff --git a/BattleGame/res/UNIT_AIRCARRIER.png b/BattleGame/res/UNIT_AIRCARRIER.png
new file mode 100644
index 0000000..49cd588
Binary files /dev/null and b/BattleGame/res/UNIT_AIRCARRIER.png differ
diff --git a/BattleGame/res/UNIT_AMTANK.png b/BattleGame/res/UNIT_AMTANK.png
new file mode 100644
index 0000000..46503ff
Binary files /dev/null and b/BattleGame/res/UNIT_AMTANK.png differ
diff --git a/BattleGame/res/UNIT_APC.png b/BattleGame/res/UNIT_APC.png
new file mode 100644
index 0000000..73b8c49
Binary files /dev/null and b/BattleGame/res/UNIT_APC.png differ
diff --git a/BattleGame/res/UNIT_ARMORCAR.png b/BattleGame/res/UNIT_ARMORCAR.png
new file mode 100644
index 0000000..98d2c07
Binary files /dev/null and b/BattleGame/res/UNIT_ARMORCAR.png differ
diff --git a/BattleGame/res/UNIT_ASHIP.png b/BattleGame/res/UNIT_ASHIP.png
new file mode 100644
index 0000000..cf7b9d1
Binary files /dev/null and b/BattleGame/res/UNIT_ASHIP.png differ
diff --git a/BattleGame/res/UNIT_BB.png b/BattleGame/res/UNIT_BB.png
new file mode 100644
index 0000000..27e4b73
Binary files /dev/null and b/BattleGame/res/UNIT_BB.png differ
diff --git a/BattleGame/res/UNIT_BIGLST.png b/BattleGame/res/UNIT_BIGLST.png
new file mode 100644
index 0000000..304e196
Binary files /dev/null and b/BattleGame/res/UNIT_BIGLST.png differ
diff --git a/BattleGame/res/UNIT_BIGSOLIDER.png b/BattleGame/res/UNIT_BIGSOLIDER.png
new file mode 100644
index 0000000..905483f
Binary files /dev/null and b/BattleGame/res/UNIT_BIGSOLIDER.png differ
diff --git a/BattleGame/res/UNIT_BOMBER.png b/BattleGame/res/UNIT_BOMBER.png
new file mode 100644
index 0000000..49ea78d
Binary files /dev/null and b/BattleGame/res/UNIT_BOMBER.png differ
diff --git a/BattleGame/res/UNIT_CA.png b/BattleGame/res/UNIT_CA.png
new file mode 100644
index 0000000..3e5c790
Binary files /dev/null and b/BattleGame/res/UNIT_CA.png differ
diff --git a/BattleGame/res/UNIT_CL.png b/BattleGame/res/UNIT_CL.png
new file mode 100644
index 0000000..51a7839
Binary files /dev/null and b/BattleGame/res/UNIT_CL.png differ
diff --git a/BattleGame/res/UNIT_CV.png b/BattleGame/res/UNIT_CV.png
new file mode 100644
index 0000000..47d19ae
Binary files /dev/null and b/BattleGame/res/UNIT_CV.png differ
diff --git a/BattleGame/res/UNIT_CVE.png b/BattleGame/res/UNIT_CVE.png
new file mode 100644
index 0000000..9a14a38
Binary files /dev/null and b/BattleGame/res/UNIT_CVE.png differ
diff --git a/BattleGame/res/UNIT_DD.png b/BattleGame/res/UNIT_DD.png
new file mode 100644
index 0000000..e24b6e6
Binary files /dev/null and b/BattleGame/res/UNIT_DD.png differ
diff --git a/BattleGame/res/UNIT_FIGHTER.png b/BattleGame/res/UNIT_FIGHTER.png
new file mode 100644
index 0000000..976d285
Binary files /dev/null and b/BattleGame/res/UNIT_FIGHTER.png differ
diff --git a/BattleGame/res/UNIT_FLAK.png b/BattleGame/res/UNIT_FLAK.png
new file mode 100644
index 0000000..c09dd59
Binary files /dev/null and b/BattleGame/res/UNIT_FLAK.png differ
diff --git a/BattleGame/res/UNIT_FLAKCAR.png b/BattleGame/res/UNIT_FLAKCAR.png
new file mode 100644
index 0000000..25617eb
Binary files /dev/null and b/BattleGame/res/UNIT_FLAKCAR.png differ
diff --git a/BattleGame/res/UNIT_HEAVYARMORCAR.png b/BattleGame/res/UNIT_HEAVYARMORCAR.png
new file mode 100644
index 0000000..e9510dc
Binary files /dev/null and b/BattleGame/res/UNIT_HEAVYARMORCAR.png differ
diff --git a/BattleGame/res/UNIT_HEAVYTANK.png b/BattleGame/res/UNIT_HEAVYTANK.png
new file mode 100644
index 0000000..0758662
Binary files /dev/null and b/BattleGame/res/UNIT_HEAVYTANK.png differ
diff --git a/BattleGame/res/UNIT_HELI.png b/BattleGame/res/UNIT_HELI.png
new file mode 100644
index 0000000..4ae56eb
Binary files /dev/null and b/BattleGame/res/UNIT_HELI.png differ
diff --git a/BattleGame/res/UNIT_LST.png b/BattleGame/res/UNIT_LST.png
new file mode 100644
index 0000000..a3b8907
Binary files /dev/null and b/BattleGame/res/UNIT_LST.png differ
diff --git a/BattleGame/res/UNIT_MEDIUMTANK.png b/BattleGame/res/UNIT_MEDIUMTANK.png
new file mode 100644
index 0000000..065818f
Binary files /dev/null and b/BattleGame/res/UNIT_MEDIUMTANK.png differ
diff --git a/BattleGame/res/UNIT_RECON.png b/BattleGame/res/UNIT_RECON.png
new file mode 100644
index 0000000..260c5f3
Binary files /dev/null and b/BattleGame/res/UNIT_RECON.png differ
diff --git a/BattleGame/res/UNIT_SOLIDER.png b/BattleGame/res/UNIT_SOLIDER.png
new file mode 100644
index 0000000..aee3ef3
Binary files /dev/null and b/BattleGame/res/UNIT_SOLIDER.png differ
diff --git a/BattleGame/res/UNIT_TANK.png b/BattleGame/res/UNIT_TANK.png
new file mode 100644
index 0000000..bdac6f3
Binary files /dev/null and b/BattleGame/res/UNIT_TANK.png differ