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