fork(1) download
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <iterator>
  5.  
  6. using namespace std;
  7.  
  8. const char* level1[23] =
  9. {
  10. "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  11. "X X",
  12. "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
  13. "X X K X D X X",
  14. "X XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXXXXXXXXXXXXXXX X X",
  15. "X X X X X XXXXX X X",
  16. "X X XXXXX X XXXXXXXXXXXXXX XXXXXXXX XXXXXXXXXXX X X",
  17. "X X X X D X X X X X XXXXX X",
  18. "X X XXXX X X XXXXXXXXXX X X X XXXX X X",
  19. "X X X X E X XXXXXXXXX XXXXXXXX X XXXXX X X",
  20. "X XXXXXXXXXXXXXXXX D X XXK X X X X KX X",
  21. "X X X X KX XXXXXX XXXXXX XXXXXXXX X X X XXXXXXDX",
  22. "X X X X X X X XXX X X X X D X X",
  23. "X X X X X X XXXXXXXXXXXXXXX XXXXXXXXXXXXXX X XXXXX X X",
  24. "X X X X X X X X X KX X X X",
  25. "X X X X X X X X XXXXXXXXXXX X XXXXXXXXXXX X XXXXX X",
  26. "X X X X X X X X X X KX X X X X X",
  27. "X X X X X X X X XX X X XXXXXXXXXXXXX X X",
  28. "X X X X X X X X X XXXXXXXX X X X X X X",
  29. "X X X X X X X X X X X X X X",
  30. "X X XXXXXXXXXXXXX X XXXXXXXX X X X XXXXXXXXXXXXXXXXXX X",
  31. "XS X X",
  32. "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  33. };
  34.  
  35. // Player structure
  36. struct playerinfo
  37. {
  38. int x; // X position
  39. int y; // Y position
  40. int keys; // Number of keys the player has
  41. };
  42.  
  43. // Current game info structure
  44. struct gameinfo
  45. {
  46. vector<string> board;
  47. int level; // The level of the maze
  48. playerinfo player; // Link to player data struct
  49.  
  50. int maxy() const { return board.size(); }
  51. int maxx() const { return board.empty() ? 0 : board[0].size(); }
  52. };
  53.  
  54. int main()
  55. {
  56. gameinfo game;
  57.  
  58. game.board = vector<string>( begin(level1), end(level1) );
  59.  
  60. cout << "Board is " << game.maxx() << "x" << game.maxy() << ": \n";
  61. for (auto &row : game.board)
  62. cout << row << "\n";
  63. }
  64.  
Success #stdin #stdout 0s 3476KB
stdin
Standard input is empty
stdout
Board is 65x23: 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X                                                               X
X  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX     X
X  X K                          X            D               X  X
X  XXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXX  XXXXXXXXXXXXXXXXXXXXX  X  X
X  X  X        X                  X                   XXXXX  X  X
X  X   XXXXX   X  XXXXXXXXXXXXXX  XXXXXXXX  XXXXXXXXXXX      X  X
X  X        X  X        D      X  X      X   X        X  XXXXX  X
X  X  XXXX  X  X  XXXXXXXXXX   X     X          X  XXXX      X  X
X        X        X   X  E X  XXXXXXXXX  XXXXXXXX  X  XXXXX  X  X
X  XXXXXXXXXXXXXXXX   D    X  XXK      X        X  X  X     KX  X
X  X     X     X KX   XXXXXX  XXXXXX  XXXXXXXX  X  X  X  XXXXXXDX
X  X  X  X  X  X  X           XXX  X            X  X  X  D   X  X
X  X  X  X  X  X  XXXXXXXXXXXXXXX  XXXXXXXXXXXXXX  X  XXXXX  X  X
X  X  X  X  X  X  X   X               X           KX  X      X  X
X  X  X  X  X  X  X   X  XXXXXXXXXXX  X  XXXXXXXXXXX  X  XXXXX  X
X  X  X  X  X  X  X   X  X     X  KX  X  X            X      X  X
X     X  X  X  X  X      X  X     XX  X  X     XXXXXXXXXXXXX X  X
X  X  X  X  X  X  X   X  X  XXXXXXXX  X  X      X     X      X  X
X  X  X     X     X   X  X         X  X  X   X     X         X  X
X  X  XXXXXXXXXXXXX   X  XXXXXXXX  X  X  X  XXXXXXXXXXXXXXXXXX  X
XS X                                                            X
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX