From 7db759c40d79d1bf6204fcf82a52242ff1464250 Mon Sep 17 00:00:00 2001 From: Margasoiu-Luca Date: Fri, 20 Mar 2020 13:23:40 +0000 Subject: [PATCH] Luca's contribution --- .DS_Store | Bin 0 -> 6148 bytes Luca Margasoiu's Contribution/.DS_Store | Bin 0 -> 8196 bytes .../A*algorithm/.DS_Store | Bin 0 -> 6148 bytes .../A*algorithm.xcodeproj/project.pbxproj | 253 +++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 18475 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 5 + .../xcschemes/A*algorithm.xcscheme | 91 +++ .../xcschemes/xcschememanagement.plist | 22 + .../A*algorithm/A*algorithm/main.cpp | 232 ++++++++ .../DPSSearch/.DS_Store | Bin 0 -> 6148 bytes .../DPSSearch/main.cpp | 114 ++++ Luca Margasoiu's Contribution/Main/.DS_Store | Bin 0 -> 6148 bytes .../Main/BattleUI.txt | 114 ++++ .../Hello World.xcodeproj/project.pbxproj | 260 +++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 32812 bytes .../xcdebugger/Expressions.xcexplist | 104 ++++ .../xcdebugger/Breakpoints_v2.xcbkptlist | 5 + .../xcschemes/Hello World.xcscheme | 92 +++ .../xcschemes/xcschememanagement.plist | 22 + .../Main/Main/.DS_Store | Bin 0 -> 6148 bytes .../Main/Main/classHeader.h | 0 .../Main/Main/functions.cpp | 2 + .../Main/Main/main.cpp | 537 ++++++++++++++++++ .../Main/Main/screen.h | 77 +++ .../Main/mapfile.txt | 9 + 27 files changed, 1953 insertions(+) create mode 100644 .DS_Store create mode 100644 Luca Margasoiu's Contribution/.DS_Store create mode 100644 Luca Margasoiu's Contribution/A*algorithm/.DS_Store create mode 100644 Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/project.pbxproj create mode 100644 Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/project.xcworkspace/xcuserdata/user.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/xcuserdata/user.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/A*algorithm.xcscheme create mode 100644 Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Luca Margasoiu's Contribution/A*algorithm/A*algorithm/main.cpp create mode 100644 Luca Margasoiu's Contribution/DPSSearch/.DS_Store create mode 100644 Luca Margasoiu's Contribution/DPSSearch/main.cpp create mode 100644 Luca Margasoiu's Contribution/Main/.DS_Store create mode 100644 Luca Margasoiu's Contribution/Main/BattleUI.txt create mode 100644 Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.pbxproj create mode 100644 Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.xcworkspace/xcuserdata/user.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.xcworkspace/xcuserdata/user.xcuserdatad/xcdebugger/Expressions.xcexplist create mode 100644 Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/xcuserdata/user.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/Hello World.xcscheme create mode 100644 Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Luca Margasoiu's Contribution/Main/Main/.DS_Store create mode 100644 Luca Margasoiu's Contribution/Main/Main/classHeader.h create mode 100644 Luca Margasoiu's Contribution/Main/Main/functions.cpp create mode 100644 Luca Margasoiu's Contribution/Main/Main/main.cpp create mode 100644 Luca Margasoiu's Contribution/Main/Main/screen.h create mode 100644 Luca Margasoiu's Contribution/Main/mapfile.txt diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..eb2786ef7ddef96cfa45c8e787ff7cb42893b59c GIT binary patch literal 6148 zcmeHKJx{|h5Pb(3idZ@_FnEIriGL8a0jUEE`2j#^RU(B(f^^Rh>L1@ZI_q86u^W{QM5B6Iz4JSNX~~uu^c5jw0Oa4(TpVei&MJyBV3?B zi95F4{@cf@X)9VujocE?-%acg86(!H(Jh*BpytWBf&VV!E3^)VMz>gTJ`+vnxX0*sR7gx@JGw@#-kgO<+8Bdqq)^F$3w>Gfd tv#F?GuN?~edp`jj=sj{`#%K@Pr(d41kEmI6-olCgBVdHMat3~Zfe*t~Iq?7h literal 0 HcmV?d00001 diff --git a/Luca Margasoiu's Contribution/.DS_Store b/Luca Margasoiu's Contribution/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5b7b7cd80bf6a986032437625835b8e96c7d22e2 GIT binary patch literal 8196 zcmeHM%Zd|06up&++MR$zR1CPVm!ky9a|U;r7=>931Y2ehM`L%oNg6s`q0^ZlA&|9S zpj+P`;1~E>iF@7o7rKhK9uqQo;4DNOQU!HSrRtt4>fBUUZU+EJrRU@T(g2`gWtd8$ zSy0$Gt8*nLd(I*fM7{_j2u#I^D=NJ;p5=R0#73UP$1CdlBQw$>LIBqa^ z#InSZKtTs0=s@JkL}n<2uZ}!}y8|f;R8}dV6qr|lB>hu{+ zPb8DcL^5?Q@xW}+z8P6juUoOg`}~vVxVCK9tf+O^zDub;XZyyh&^K??sO_UDq|eo=Oh}g={Wk z6gG;(j4{~U%w~*YVPiN<{m`__S4&$v_d3HT&tJTJ_4>`*51+VfK;+X4&Wq0z`x#qH zL_ILWz^6eIJs4ZZP}ML{Cb$@Y5E{^$kv&AOr&wd-G1`TU6DxTskCGRQxxXa&0x|t& z&TP7c~IBKYRC(`!1NPO`T(Sbz0LaX4zy5=9>8$#9;@+??G@h z_~Z_<*Rc{A{E6RG$bX)kQ+8=ExPcMRm-2s(`1_AcI^6oQL&gr_M2{IgIa3*>zzQj_ zCia?U`Twou@Bddw5w%sN!0IVL;#IR+!F?ZIoU;#C)LNfK*2{?fvfkS(oYX86FFVno_4@3OP z2{?g&Mj(vlH}e@ks_w17K2LjXWVvOLX + + + + diff --git a/Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/project.xcworkspace/xcuserdata/user.xcuserdatad/UserInterfaceState.xcuserstate b/Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/project.xcworkspace/xcuserdata/user.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..8b99d4fa8ac03e378d88403a446c1b016ca39e86 GIT binary patch literal 18475 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 n`v<%};P8MW1C9?IKXA@K$H2M5Egjy&_ + + diff --git a/Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/A*algorithm.xcscheme b/Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/A*algorithm.xcscheme new file mode 100644 index 0000000..7347817 --- /dev/null +++ b/Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/A*algorithm.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/xcschememanagement.plist b/Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..6c58f97 --- /dev/null +++ b/Luca Margasoiu's Contribution/A*algorithm/A*algorithm.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + A*algorithm.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + CE2989F2240AED040051DAED + + primary + + + + + diff --git a/Luca Margasoiu's Contribution/A*algorithm/A*algorithm/main.cpp b/Luca Margasoiu's Contribution/A*algorithm/A*algorithm/main.cpp new file mode 100644 index 0000000..df750a7 --- /dev/null +++ b/Luca Margasoiu's Contribution/A*algorithm/A*algorithm/main.cpp @@ -0,0 +1,232 @@ +#include +#include + +using namespace std; + + + + +class coord { +public: + + int x, y; + coord( int a = 0, int b = 0 ) { + x = a; y = b; + } + + bool operator==( const coord& o ) { + return o.x == x && o.y == y; + } + + coord operator +( const coord& o ) { + return coord( o.x + x, o.y + y ); } +}; + +class gameMap { +public: + char m[8][8]; + int width, height; + gameMap() { + width=8; + height=8; + char x[8][8] = { + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 1, 1, 1, 0}, + {0, 0, 1, 0, 0, 0, 1, 0}, + {0, 0, 1, 0, 0, 0, 1, 0}, + {0, 0, 1, 1, 1, 1, 1, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0} + }; + for( int r = 0; r < 8; r++ ) + for( int s = 0; s < 8; s++ ) + m[s][r] = x[r][s]; + } + + int get( int x, int y ){ + return m[x][y]; + } +}; + +class coorNod { +public: + + coord position, father; + int gap, value; + + //Overloading operator that compares Coord with coorNod + bool operator== (const coord& o ){ + return position == o; + } +}; + +class algorithm { +public: + + gameMap m; coord end, start; + coord neighbours[8]; + list open; + list closed; + + algorithm() { + neighbours[0] = coord( -1, -1 ); + neighbours[1] = coord( 1, -1 ); + neighbours[2] = coord( -1, 1 ); + neighbours[3] = coord( 1, 1 ); + neighbours[4] = coord( 0, -1 ); + neighbours[5] = coord( -1, 0 ); + neighbours[6] = coord( 0, 1 ); + neighbours[7] = coord( 1, 0 ); + } + + int gapCost( coord& p ){ + //Need better heuristic + int x = end.x - p.x, y = end.y - p.y; + return( x * x + y * y ); + } + + bool isGood( coord& p ) { + return ( p.x >-1 && p.y > -1 && p.x < m.width && p.y < m.height ); + } + + bool existcoord( coord& p, int value ) { + list::iterator i; + i = find( closed.begin(), closed.end(), p ); + if( i != closed.end() ) { + if( ( *i ).value + ( *i ).gap < value ) + return true; + else { closed.erase( i ); return false; + } + } + i = find( open.begin(), open.end(), p ); + if( i != open.end() ) { + if( ( *i ).value + ( *i ).gap < value ) return true; + else { open.erase( i ); return false; } + } + return false; + } + + bool checkN( coorNod& n ) { + int stepvalue, nc, gap; + coord neighbour; + + for( int x = 0; x < 8; x++ ) { + // one can make diagonals have different value + stepvalue = 1; + neighbour = n.position + neighbours[x]; + if( neighbour == end ) return true; + + if( isGood( neighbour ) && m.get( neighbour.x, neighbour.y ) != 1 ) { + nc = stepvalue + n.value; + gap = gapCost( neighbour ); + if( !existcoord( neighbour, nc + gap ) ) { + coorNod m; + m.value = nc; m.gap = gap; + m.position = neighbour; + m.father = n.position; + open.push_back( m ); + } + } + } + return false; + } + + bool search( coord& s, coord& e, gameMap& mp ) { + coorNod n; end = e; start = s; m = mp; + n.value = 0; n.position = s; n.father = 0; n.gap = gapCost( s ); + open.push_back( n ); + while( !open.empty() ) { + //open.sort(); + coorNod n = open.front(); + open.pop_front(); + closed.push_back( n ); + if( checkN( n ) ) return true; + } + return false; + } + + + + + int pathway( list& pathway ) { + pathway.push_front( end ); + int value = 1 + closed.back().value; + pathway.push_front( closed.back().position ); + coord father = closed.back().father; + + for( int y = -1; y < 9; y++ ) { + for( int x = -1; x < 9; x++ ) { + if( x < 0 || y < 0 || x > 7 || y > 7 || m.get( x, y ) == 1 ) + cout << char(77); + else { + if( find( pathway.begin(), pathway.end(), coord( x, y ) )!= pathway.end() ) + cout << "*"; + else cout << " "; + } + } + cout << "\n"; + } + + cout << "\n"; + + for( list::reverse_iterator i = closed.rbegin(); i != closed.rend(); i++ ) { + if( ( *i ).position == father && !( ( *i ).position == start ) ) { + pathway.push_front( ( *i ).position ); + father = ( *i ).father; + + for( int y = -1; y < 9; y++ ) { + for( int x = -1; x < 9; x++ ) { + if( x < 0 || y < 0 || x > 7 || y > 7 || m.get( x, y ) == 1 ) + cout << char(77); + else { + if( find( pathway.begin(), pathway.end(), coord( x, y ) )!= pathway.end() ) + cout << "*"; + else cout << " "; + } + } + cout << "\n"; + } + + cout << "\n"; + + } + + } + pathway.push_front( start ); + + return value; + } + +}; + +int main() { + gameMap m; + coord s, e( 7, 7); + algorithm as; + + if( as.search( s, e, m ) ) { + list pathway; + //This is where everything happens + int c = as.pathway( pathway ); + for( int y = -1; y < 9; y++ ) { + for( int x = -1; x < 9; x++ ) { + if( x < 0 || y < 0 || x > 7 || y > 7 || m.get( x, y ) == 1 ) + cout << char(77); + else { + if( find( pathway.begin(), pathway.end(), coord( x, y ) )!= pathway.end() ) + cout << "*"; + else cout << " "; + } + } + cout << "\n"; + } + + cout << "\npathway value " << c << ": "; + for( list::iterator i = pathway.begin(); i != pathway.end(); i++ ) { + cout<< "(" << ( *i ).x << ", " << ( *i ).y << ") "; + } + } + cout << "\n\n"; + return 0; +} diff --git a/Luca Margasoiu's Contribution/DPSSearch/.DS_Store b/Luca Margasoiu's Contribution/DPSSearch/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ad377c7132dafd119f422e4594e7c320cbf2339b GIT binary patch literal 6148 zcmeHK!AiqG5PhRPRJ`=)agUw^{~(l9=+%6H+Uh}wrbxX?KG1)P@6B#Yi@7QyGcfa} zyKgqhgYNDCu=)GrH82A(r3+2Th-r9q>ZFiQiRNoG*rLN5o|f&%LVs~c?|z0W)M#)= z-@kviUbWqdvy$eMemS@?lN>L2z%yQ1xyA;YWqZiCTk+{O45IT1JO0Ob1#ZYXtnji3 zp+G1Q3WNfozz-@)h-!Qd?bal&CY=DIMeCKap- z_8B=tvs_BdrB+%D%jFzTg;y2qGv;zwX+EqxdDpy{Kb`9*r^Bj@5krAc;8+3mzO +#include +#include + +using namespace std; + + + + +//TO DO: A star search algorithm. + + + +int height=9; +int width=9; + +char freenode = ' '; // "free" is reserved +char visited = '*'; + +class Coordinates{ +public: + int x; + int y; + + Coordinates(int x = 0, int y = 0){ + this->x = x; + this->y = y; + } + + +}; + +Coordinates startP(1, 0); +Coordinates endP(7, 8); + + +char Map[9][10] = +{ + "M MMMMMMM", + "M M M", + "M MMM M M", + "M M M M", + "M M M MMM", + "M M M M", + "M MMM M M", + "M M M", + "MMMMMMM M", +}; + + +void printAlgorithm(){ + for (int Y = 0; Y < height; Y++) + { + cout< 0 && (Map[Ycor][Xcor - 1] == freenode)) + if( Solve(Xcor - 1, Ycor)){ + return true; + } + if (Xcor < width && (Map[Ycor][Xcor + 1] == freenode)) + if(Solve(Xcor + 1, Ycor)){ + return true; + } + if (Ycor > 0 && (Map[Ycor - 1][Xcor] == freenode)){ + if(Solve(Xcor, Ycor - 1)) + return true; + } + + if (Ycor < height && (Map[Ycor + 1][Xcor] == freenode)){ + if(Solve(Xcor, Ycor + 1)) + return true; + } + + Map[Ycor][Xcor] = freenode; + + printAlgorithm(); + usleep(500000); + return false; +} + + + +int main(){ + if (Solve(endP.x, startP.y)){ + printAlgorithm(); + } + else{ + cout<<"Something went terribly wrong."; + } + + return 0; +} + + +//Code inspired from +//https://stackoverflow.com/questions/9191428/maze-solving-algorithm-in-c/9192067 + diff --git a/Luca Margasoiu's Contribution/Main/.DS_Store b/Luca Margasoiu's Contribution/Main/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e8de3a1fa23a5a5cf18e4a4ac97b8a3af02d863a GIT binary patch literal 6148 zcmeHKPjAyO6o1|dBrS&^m_Xu^<0e&f8yge1(hbBUhROn~5JM$d0t*XCl(_5ARHKSN{@k%1zxR7Q1( zh;dOyWK8v#KqlvKh*Lrt1E`-qQt`}wg$Ee zoZOQl6F5r^a$(CUqJSRIGG^ekLwq?J_M>mGem&$jLAPNa;g^t2ExA`jEt{^ELFssV~q@TjXFxNA^QOOmdrlI$RfQ!ep~3Z=@z09 zF$%BR5%JeB_wgdSt0Fpv7uG1z3gQYW{(~Lye5Q!TR`>Rx4cU3!JXO!}mzPFi&Znn; zu(9#dsncf+vs|fE$`$Ke`LVN^bRF*UPTp{{N3s?Afv5DQ%QyG+`$-ZFbk|!8gKpcp zu$aW$4dWmia$RqQv7dAsNhkL6b*GrG75aR$ZA~<@U>mMYHxAaqJoLgSUCGj)#3HyqC&M7?wr{YaM^etxJVL1tQ?k9h?Vg$kpS771F)D?pj?&!Cb zU0q?nz`~uFx_mITGE+AcCRfM&wlpVJFHqN-0nNZc2F8n~CC>kw_=b +#include +#include + +using namespace std; + + + + +//TO DO: A star search algorithm. + + + +int height=9; +int width=9; + +char freenode = ' '; // "free" is reserved +char visited = '*'; + +class Coordinates{ +public: + int x; + int y; + + Coordinates(int x = 0, int y = 0){ + this->x = x; + this->y = y; + } + + +}; + +Coordinates startP(1, 0); +Coordinates endP(7, 8); + + +char Map[9][10] = +{ + "M MMMMMMM", + "M M M", + "M MMM M M", + "M M M M", + "M M M MMM", + "M M M M", + "M MMM M M", + "M M M", + "MMMMMMM M", +}; + + +void printAlgorithm(){ + for (int Y = 0; Y < height; Y++) + { + cout< 0 && (Map[Ycor][Xcor - 1] == freenode)) + if( Solve(Xcor - 1, Ycor)){ + return true; + } + if (Xcor < width && (Map[Ycor][Xcor + 1] == freenode)) + if(Solve(Xcor + 1, Ycor)){ + return true; + } + if (Ycor > 0 && (Map[Ycor - 1][Xcor] == freenode)){ + if(Solve(Xcor, Ycor - 1)) + return true; + } + + if (Ycor < height && (Map[Ycor + 1][Xcor] == freenode)){ + if(Solve(Xcor, Ycor + 1)) + return true; + } + + Map[Ycor][Xcor] = freenode; + + printAlgorithm(); + usleep(500000); + return false; +} + + + +int main(){ + if (Solve(endP.x, startP.y)){ + printAlgorithm(); + } + else{ + cout<<"Something went terribly wrong."; + } + + return 0; +} + + +//Code inspired from +//https://stackoverflow.com/questions/9191428/maze-solving-algorithm-in-c/9192067 + diff --git a/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.pbxproj b/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.pbxproj new file mode 100644 index 0000000..74197bb --- /dev/null +++ b/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.pbxproj @@ -0,0 +1,260 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + CE43543E23FA3CC900279357 /* functions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CE43543D23FA3CC900279357 /* functions.cpp */; }; + CEEC622523E0FD9500741E86 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEEC622423E0FD9500741E86 /* main.cpp */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + CEEC621F23E0FD9500741E86 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + CE43543C23FA3B9500279357 /* classHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = classHeader.h; sourceTree = ""; }; + CE43543D23FA3CC900279357 /* functions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = functions.cpp; sourceTree = ""; }; + CEEC622123E0FD9500741E86 /* Hello World */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Hello World"; sourceTree = BUILT_PRODUCTS_DIR; }; + CEEC622423E0FD9500741E86 /* main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CEEC621E23E0FD9500741E86 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CEEC621823E0FD9500741E86 = { + isa = PBXGroup; + children = ( + CEEC622323E0FD9500741E86 /* Hello World */, + CEEC622223E0FD9500741E86 /* Products */, + ); + sourceTree = ""; + }; + CEEC622223E0FD9500741E86 /* Products */ = { + isa = PBXGroup; + children = ( + CEEC622123E0FD9500741E86 /* Hello World */, + ); + name = Products; + sourceTree = ""; + }; + CEEC622323E0FD9500741E86 /* Hello World */ = { + isa = PBXGroup; + children = ( + CEEC622423E0FD9500741E86 /* main.cpp */, + CE43543C23FA3B9500279357 /* classHeader.h */, + CE43543D23FA3CC900279357 /* functions.cpp */, + ); + path = "Hello World"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CEEC622023E0FD9500741E86 /* Hello World */ = { + isa = PBXNativeTarget; + buildConfigurationList = CEEC622823E0FD9500741E86 /* Build configuration list for PBXNativeTarget "Hello World" */; + buildPhases = ( + CEEC621D23E0FD9500741E86 /* Sources */, + CEEC621E23E0FD9500741E86 /* Frameworks */, + CEEC621F23E0FD9500741E86 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Hello World"; + productName = "Hello World"; + productReference = CEEC622123E0FD9500741E86 /* Hello World */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CEEC621923E0FD9500741E86 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0820; + ORGANIZATIONNAME = user; + TargetAttributes = { + CEEC622023E0FD9500741E86 = { + CreatedOnToolsVersion = 8.2; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = CEEC621C23E0FD9500741E86 /* Build configuration list for PBXProject "Hello World" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = CEEC621823E0FD9500741E86; + productRefGroup = CEEC622223E0FD9500741E86 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CEEC622023E0FD9500741E86 /* Hello World */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + CEEC621D23E0FD9500741E86 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CEEC622523E0FD9500741E86 /* main.cpp in Sources */, + CE43543E23FA3CC900279357 /* functions.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + CEEC622623E0FD9500741E86 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + CEEC622723E0FD9500741E86 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + }; + name = Release; + }; + CEEC622923E0FD9500741E86 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + CEEC622A23E0FD9500741E86 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CEEC621C23E0FD9500741E86 /* Build configuration list for PBXProject "Hello World" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CEEC622623E0FD9500741E86 /* Debug */, + CEEC622723E0FD9500741E86 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CEEC622823E0FD9500741E86 /* Build configuration list for PBXNativeTarget "Hello World" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CEEC622923E0FD9500741E86 /* Debug */, + CEEC622A23E0FD9500741E86 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = CEEC621923E0FD9500741E86 /* Project object */; +} diff --git a/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..3151b38 --- /dev/null +++ b/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.xcworkspace/xcuserdata/user.xcuserdatad/UserInterfaceState.xcuserstate b/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.xcworkspace/xcuserdata/user.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..32f59012ed983f8f3dc1adfb442c820e8e74ef43 GIT binary patch literal 32812 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 literal 0 HcmV?d00001 diff --git a/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.xcworkspace/xcuserdata/user.xcuserdatad/xcdebugger/Expressions.xcexplist b/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.xcworkspace/xcuserdata/user.xcuserdatad/xcdebugger/Expressions.xcexplist new file mode 100644 index 0000000..b232067 --- /dev/null +++ b/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/project.xcworkspace/xcuserdata/user.xcuserdatad/xcdebugger/Expressions.xcexplist @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/xcuserdata/user.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/xcuserdata/user.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..fe2b454 --- /dev/null +++ b/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/xcuserdata/user.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,5 @@ + + + diff --git a/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/Hello World.xcscheme b/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/Hello World.xcscheme new file mode 100644 index 0000000..ef816b8 --- /dev/null +++ b/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/Hello World.xcscheme @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/xcschememanagement.plist b/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..be9ae49 --- /dev/null +++ b/Luca Margasoiu's Contribution/Main/Hello World.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Hello World.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + CEEC622023E0FD9500741E86 + + primary + + + + + diff --git a/Luca Margasoiu's Contribution/Main/Main/.DS_Store b/Luca Margasoiu's Contribution/Main/Main/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..084daf757606ff1d90ded534a54869813c3d86eb GIT binary patch literal 6148 zcmeHK%SyvQ6g^Wbq=?X^%Pd_L{DV-U*sb{hwQ0pdY)WnS`3yhGf6{a3UP5E)Rz&X& zcg{TSna9bH$p8q`{o)E314!tCgAtP>Chg)q8(7ULF~mL!>`-Hi<*e#Od&O^5K;GR5 z6XYmxPjBB}UCyg|&Q{qP@AS)$Xv_iUC{f`NuY7K?WNyK9%YL3`Rfl=gV?JSzHTgTN zxL4NfVZzb|n=UilePJee;W#TYj>gA1z8%alVb7)PMLxngHnYQcS(lqD;0m|`|3d+u z*<#6=qNlEaE8q&W3dr{%r3+?;jbi+CFo{m*l=&38<3Un1X(c)On|LgDX|6P)oTme_$ zPbmg~M3Bnsv{Qv*} literal 0 HcmV?d00001 diff --git a/Luca Margasoiu's Contribution/Main/Main/classHeader.h b/Luca Margasoiu's Contribution/Main/Main/classHeader.h new file mode 100644 index 0000000..e69de29 diff --git a/Luca Margasoiu's Contribution/Main/Main/functions.cpp b/Luca Margasoiu's Contribution/Main/Main/functions.cpp new file mode 100644 index 0000000..7f51ced --- /dev/null +++ b/Luca Margasoiu's Contribution/Main/Main/functions.cpp @@ -0,0 +1,2 @@ +#include + diff --git a/Luca Margasoiu's Contribution/Main/Main/main.cpp b/Luca Margasoiu's Contribution/Main/Main/main.cpp new file mode 100644 index 0000000..d33a78c --- /dev/null +++ b/Luca Margasoiu's Contribution/Main/Main/main.cpp @@ -0,0 +1,537 @@ + +// +// main.cpp +// Hello World +// +// Created by user on 28/01/2020. +// Copyright © 2020 user. All rights reserved. +// + +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace std; + + +//Global variables, maps, arrays, game map and battle UI. +map usermap; +map, class Pocket_Monsters> enemyLocations; +vector PlayersPokemons; +char gameMap1[40][40]; +string battleUI[17]; +string UIcopy[17]; + + +//Function that changes the map + +char changeMap(int x1,int y1, int x2, int y2,char inc){ + char temp=gameMap1[x2][y2]; + gameMap1[x2][y2]=gameMap1[x1][y1]; + gameMap1[x1][y1]=(int)inc; + return temp; +} + +//Function that prints the map + +void printMap(int x=10){ + cout< bStats){ + initial=i; + type=t; + weakness=w; + attack[0]=attack[1]=bStats.begin()[0]; + health[0]=health[1]=bStats.begin()[1]; + defence[0]=defence[1]=bStats.begin()[2]; + dodgeChance[0]=dodgeChance[1]=bStats.begin()[3]; + isDowned=false; + } + //This function is called after a battle ends. If a pokemon has enough xp for lvl up it goes to assignValues + void isXpEnoughForLvlUp(bool k){ + this->xp+=10*(1+k); + if(this->xp>level*1.5){ + cout<<"Your pokemon has leveled up!"; + this->assignValues(this->level+1); + } + } + //This assigns values after battle + void assignValues(int lvl){ + this->level=lvl; + for(int i=1;icalculateAV(); + } + } + //This calculates Actual Values + void calculateAV(){ + this->attack[1]=(int)(this->attack[1]+.1*this->attack[0]); + this->health[1]=(int)(this->health[1]+.1*this->health[0]); + this->defence[1]=(int)(this->defence[1]+.1*this->defence[0]); + this->dodgeChance[1]=(int)(this->dodgeChance[1]+.1*this->dodgeChance[0]); + this->battleStats[0]=this->attack[1]; + this->battleStats[1]=this->health[1]; + this->battleStats[2]=this->defence[1]; + this->battleStats[3]=this->dodgeChance[1]; + } + + void reassignBattleStats(){ + this->battleStats[0]=this->attack[1]+this->attack[2]; + this->battleStats[1]=this->health[1]+this->health[2]; + this->battleStats[2]=this->defence[1]+this->defence[2]; + this->battleStats[3]=this->dodgeChance[1]+this->dodgeChance[2]; + } + //Oveloading the output operator + friend ostream &operator<<(ostream &output, Pocket_Monsters &temp); + + //Overloading the -= operator. Used to calculate damage between pokemons during the battle + Pocket_Monsters operator-=(Pocket_Monsters &x){ + Pocket_Monsters temp; + int random = ((int)rand())%10-5; // this int caclled random will get a number between -5 and 5. + int dodge = (int)rand()%100; + int damagedealt; + if(this->battleStats[3]>dodge) + damagedealt=0; + else + damagedealt = this->battleStats[1]-(x.battleStats[0]-x.battleStats[0]*this->battleStats[2]*pow(10,-3))+random + 20; + // formula that calcultes damage dealt + //Formula is really buggy + if(this->weakness==x.type) + damagedealt= damagedealt+damagedealt*.2; + this->battleStats[1]=this->battleStats[1]-damagedealt; + return *this; + } +}; + +ostream &operator<<(ostream &output, Pocket_Monsters &temp) +{ + output<<"This pokemon is of type "; + output<>in; + switch (1) { + case 1: + enemy-=ally; + break; + case 2: + //Nothing happens... + break; + case int(3): + return false; + break; + } + if(in==3){ + return false; + + } + } + else + ally-=enemy; + turnnumber++; + changeBattleUI(enemy,ally); + } +} + +class Block{ +private: + string color; + string type; + float eP; //Encounter Probability + +public: + char representation; //What character will be used to show this + bool isPassable; // If you can go through the block + bool canEnter; // if you can enter the block I. E. shop. So far not used + + //Constructors + Block(char rep, string clr, string typ, float P=0.0, bool passable=false, bool enter=false){ + representation=rep; + color=clr; + type=typ; + eP=P; + isPassable=passable; + canEnter=enter; + } + Block(){ + isPassable=NULL; + representation=NULL; + color.clear(); + type.clear(); + eP=NULL; + canEnter=NULL; + } + + friend ostream &operator<<(ostream &output, Block &temp); + + // function that chagnes block values. Used when + void changeValues(Block& x){ + Block temp(this->representation,this->color,this->type,this->eP,this->isPassable,this->canEnter); + this->representation=x.representation; + this->color=x.color; + this->type=x.type; + this->eP=x.eP; + this->isPassable=x.isPassable; + this->canEnter=x.canEnter; + + } + + void printValues(){ + cout<isPassable<color<representation<type<eP<positionX=x; + this->positionY=y; + } + + + void moveCharacter(char keyPress){ + pair coordInitial(this->positionX, this->positionY);// The initial coordinates of the player + pair coordMove;// The coordinates that the player wants to move into. Has a different value for each case of movement. + char var; + keyPress=tolower(keyPress); + if(keyPress=='w' or keyPress=='a' or keyPress=='s' or keyPress== 'd'){ + switch(keyPress){ + case 'w': + coordMove.first=this->positionX-1; + coordMove.second=this->positionY; + var = gameMap1[(this->positionX)-1][this->positionY]; + break; + + case 'a': + coordMove.first=this->positionX; + coordMove.second=this->positionY-1; + var = gameMap1[this->positionX][this->positionY-1]; + break; + + case 's': + coordMove.first=this->positionX+1; + coordMove.second=this->positionY; + var = gameMap1[this->positionX+1][this->positionY]; + break; + case 'd': + coordMove.first=this->positionX; + coordMove.second=this->positionY+1; + var = gameMap1[this->positionX][this->positionY+1]; + break; + } + if(var=='E'){ // If the tile we want to move into is an enemy + pair t; + t.first=coordMove.first; + t.second=coordMove.second; + auto search = enemyLocations.find(t); + if(search==enemyLocations.end()) + cout<<"There has occured an error"; + else{ + bool x=engageBattle(enemyLocations[t],PlayersPokemons[0]); + if(!x){ + cout<<"Battle is over! The enemy still stands!"; + return; + } + else{ + gameMap1[t.first][t.second]=' '; + var=' '; + cout<<"You won! The enemy has been defeated!"<Block::representation); + this->changeValues(usermap[var]); + this->changePosition(coordMove.first, coordMove.second); + } + + } +}; + + +int main(int num_args, char** arg_strings){ + + srand( static_cast(time(nullptr)));//FOUND ON THE INTERNET + + + Pocket_Monsters EarthMonster('E',"Earth","Fire",{10,110,25,10}); // Hefty pokemon that is able to withstand a beating and persevere through a big HP pool and Defence. + Pocket_Monsters FireMonster('F',"Fire","Water",{20,50,10,10}); // Hard hitting pokemon that is low on health but packs a punch. + Pocket_Monsters WaterMonster('W',"Water","Wind",{15,75,15,15}); // Jack of all trades pokemon that doesn't have one great skill but is a solid pick and very reliable. + Pocket_Monsters WindMonster('A',"Air","Earth",{15,50,10,20}); // Agile pokemon that strives to win the fight through it's ability to reach an insane dodge chance. + + cout< + string temp; + + ifstream in; + in.open("mapfile.txt"); + if(in.fail()){ + cout<<"Error Opening File"< + + + usermap['F']=Forest; + usermap['M']=Mountain; + usermap['G']=Grass; + usermap[' ']=Paveway; + usermap['C']=PlayerBlock; + usermap['E']=Enemy; + // cout< coord(4,24); + + enemyLocations[coord]=Monster1; + coord.first=6; + coord.second=0; + enemyLocations[coord]=Monster2; + + int nr; + cout<<"Welcome to the game!"<>nr; + Pocket_Monsters P1; + switch (nr) { + case 1: + P1= FireMonster; + P1.assignValues(1); + PlayersPokemons.push_back(P1); + break; + case 2: + P1= WaterMonster; + P1.assignValues(1); + PlayersPokemons.push_back(P1); + break; + case 3: + P1= WindMonster; + P1.assignValues(1); + PlayersPokemons.push_back(P1); + break; + case 4: + P1= EarthMonster; + P1.assignValues(1); + PlayersPokemons.push_back(P1); + break; + + } + + while(1){ + cout<>x; + if(x=='q'){ + for(int i=0;i +#include +#include + +// -------------------------------------------------------- +// delay( ) -- Allow the screen to be "paused" for the +// number of seconds determined by the programmer. Unlike +// the system("PAUSE");, no message is displayed on the +// screen. (5000 = 5 seconds, approximately) +// -------------------------------------------------------- +// Function for delay( ) +void delay(long seconds) +{ + clock_t time1 = clock(); // use clock time + clock_t time2 = time1 + seconds; + while(time1 < time2) + time1 = clock(); + return; +} + +// -------------------------------------------------------- +// gotoxy( , ) -- Move the cursor to any location on the +// screen. The upper left corner of the screen will be set +// to the coordinates (1,1) for easier counting of spaces. +// -------------------------------------------------------- +// Function for gotoxy( , ) +void gotoxy(int x, int y) +{ + HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); + COORD point; + point.X = x-1; + point.Y = y-1; + SetConsoleCursorPosition(hConsole, point); + return; +} + +// -------------------------------------------------------- +// getch( ) -- Waits for user to hit a key, returns +// this response, and goes on. You will not see the +// user's response on the screen (no echo). +// -------------------------------------------------------- +// Function for getch( ) +int getch(void) +{ + int response; + cout << flush; + response = _getch(); + HANDLE hConsole = GetStdHandle(STD_INPUT_HANDLE); + FlushConsoleInputBuffer(hConsole); + return response; +} + +// -------------------------------------------------------- +// getche( ) -- Waits for user to hit a key, returns +// this response, and goes on. You will see the user's +// response on the screen (echo). +// -------------------------------------------------------- +// Function for getche( ) +int getche(void) +{ + int response; + response = _getche(); + HANDLE hConsole = GetStdHandle(STD_INPUT_HANDLE); + FlushConsoleInputBuffer(hConsole); + return response; +} + diff --git a/Luca Margasoiu's Contribution/Main/mapfile.txt b/Luca Margasoiu's Contribution/Main/mapfile.txt new file mode 100644 index 0000000..67a2ab0 --- /dev/null +++ b/Luca Margasoiu's Contribution/Main/mapfile.txt @@ -0,0 +1,9 @@ +MMMMMMMMMMMMMMM MMM MM MMMMMMM +MM MM MMMMMMM MMMMMMMMM F + MMMMM MMMM F +G GGGGG G FFFF F FF FFFFFF +GGGG GGGG GGGGG E F + C FFFFFFF +E F +FFFFFFFFF F FFFFFF FF + FFFFFFFFFFF FFFFFFFF F