Advertisement
Guest User

Untitled

a guest
May 25th, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 9.94 KB | None | 0 0
  1. //-----------------------------------------------------------------
  2. // Game File
  3. // C++ Source - Game_Frizzle_Fraz_01.cpp - version v2_16 jan 2015
  4. // Copyright DAE Programming Team
  5. // http://www.digitalartsandentertainment.be/
  6. //-----------------------------------------------------------------
  7. #include "stdafx.h"     // this include must be the first include line of every cpp file (due to using precompiled header)
  8.    
  9. //-----------------------------------------------------------------
  10. // Include Files
  11. //-----------------------------------------------------------------
  12. #include "Game_Frizzle_Fraz_01.h"
  13. #include "Character.h"
  14. #include "Elevator.h"
  15. #include "Elevator2.h"
  16. #include "Icicle.h"
  17. #include "Christals.h"
  18. #include "EndGate.h"
  19. #include "RotatingBlock.h"
  20. #include "IceCube.h"
  21. #include "Camera.h"
  22.  
  23. //-----------------------------------------------------------------
  24. // Defines
  25. //-----------------------------------------------------------------
  26. #define GAME_ENGINE (GameEngine::GetSingleton())
  27.  
  28. //-----------------------------------------------------------------
  29. // Game_Frizzle_Fraz_01 methods                                                                            
  30. //-----------------------------------------------------------------
  31.  
  32. Game_Frizzle_Fraz_01::Game_Frizzle_Fraz_01()
  33. {
  34.     // nothing to create
  35. }
  36.  
  37. Game_Frizzle_Fraz_01::~Game_Frizzle_Fraz_01()                                                                                      
  38. {
  39.     // nothing to destroy
  40. }
  41.  
  42. void Game_Frizzle_Fraz_01::GameInitialize(GameSettings &gameSettings)
  43. {
  44.     gameSettings.SetWindowTitle(String("Game_Frizzle_Fraz_01 - De Groote, Camille - 1DAE8"));
  45.     gameSettings.SetWindowWidth(m_Width);
  46.     gameSettings.SetWindowHeight(m_Height);
  47.     gameSettings.EnableConsole(true);
  48.     gameSettings.EnableAntiAliasing(false);
  49. }
  50.  
  51. void Game_Frizzle_Fraz_01::GameStart()
  52. {
  53.  
  54.     // Menu
  55.     m_MenuPtr = new Menu();
  56.  
  57.  
  58.     // Background
  59.     m_BmpBackgroundPtr = new Bitmap(String("./Bitmaps/Level.jpg"));
  60.     m_ActLvlPtr = new PhysicsActor(DOUBLE2(0, 0), 0, BodyType::STATIC);
  61.     m_ActLvlPtr->AddSVGShape(String("./Bitmaps/Level_Black_And_White.svg"), 0, 0.2);
  62.  
  63.     //Coins
  64.     m_CoinsListPtr = new CoinsList();
  65.  
  66.     m_CoinsPtr = new Coins(DOUBLE2(680, 570));
  67.     m_CoinsListPtr->Add(m_CoinsPtr);
  68.  
  69.     m_CoinsPtr = new Coins(DOUBLE2(680, 620));
  70.     m_CoinsListPtr->Add(m_CoinsPtr);
  71.  
  72.     m_CoinsPtr = new Coins(DOUBLE2(720, 540));
  73.     m_CoinsListPtr->Add(m_CoinsPtr);
  74.  
  75.     m_CoinsPtr = new Coins(DOUBLE2(1350, 425));
  76.     m_CoinsListPtr->Add(m_CoinsPtr);
  77.  
  78.     m_CoinsPtr = new Coins(DOUBLE2(1400, 425));
  79.     m_CoinsListPtr->Add(m_CoinsPtr);
  80.  
  81.     m_CoinsPtr = new Coins(DOUBLE2(2000, 500));
  82.     m_CoinsListPtr->Add(m_CoinsPtr);
  83.  
  84.     m_CoinsPtr = new Coins(DOUBLE2(2000, 400));
  85.     m_CoinsListPtr->Add(m_CoinsPtr);
  86.  
  87.     m_CoinsPtr = new Coins(DOUBLE2(2000, 300));
  88.     m_CoinsListPtr->Add(m_CoinsPtr);
  89.  
  90.     m_CoinsPtr = new Coins(DOUBLE2(2100, 250));
  91.     m_CoinsListPtr->Add(m_CoinsPtr);
  92.  
  93.     m_CoinsPtr = new Coins(DOUBLE2(4200, 250 + 50));
  94.     m_CoinsListPtr->Add(m_CoinsPtr);
  95.  
  96.     m_CoinsPtr = new Coins(DOUBLE2(3970, 150 + 50));
  97.     m_CoinsListPtr->Add(m_CoinsPtr);
  98.  
  99.     // Hearts
  100.     m_HeartListPtr = new HeartList();
  101.  
  102.     m_HeartPtr = new Heart(DOUBLE2(3780, 100+ 30));
  103.     m_HeartListPtr->Add(m_HeartPtr);
  104.  
  105.     // Character
  106.     m_CharacterPtr = new Character(DOUBLE2(50,50),m_HeartListPtr, m_CoinsListPtr);
  107.  
  108.     // Elevator
  109.     m_ElevatorPtr = new Elevator(DOUBLE2(2000,600), 310);
  110.     m_Elevator2Ptr = new Elevator2(DOUBLE2(2515, 120), 600, DOUBLE2(2300, 360), m_CharacterPtr->GetActor());
  111.     m_Elevator21Ptr = new Elevator2(DOUBLE2(6150, 200), 550, DOUBLE2(6000, 470), m_CharacterPtr->GetActor());
  112.     m_Elevator22Ptr = new Elevator2(DOUBLE2(4200, 250), 200, DOUBLE2(4450, 605), m_CharacterPtr->GetActor());
  113.     m_Elevator23Ptr = new Elevator2(DOUBLE2(3970, 150), 230, DOUBLE2(4450, 605), m_CharacterPtr->GetActor());
  114.     m_Elevator24Ptr = new Elevator2(DOUBLE2(3780, 100), 190, DOUBLE2(4450, 605), m_CharacterPtr->GetActor());
  115.  
  116.     // Icicle
  117.     m_IciclePtr = new Icicle(DOUBLE2(2240, 135), DOUBLE2(2245, 305), DOUBLE2(2245, 355), m_CharacterPtr->GetActor());
  118.     m_Icicle2Ptr = new Icicle(DOUBLE2(2200, 135), DOUBLE2(2195, 305), DOUBLE2(2195, 355), m_CharacterPtr->GetActor());
  119.  
  120.     // Cristals
  121.     m_Christal1Ptr = new Christal(DOUBLE2(470, 700));
  122.     m_Christal2Ptr = new Christal(DOUBLE2(1150, 730));
  123.     m_Christal3Ptr = new Christal(DOUBLE2(1293, 730));
  124.     m_Christal4Ptr = new Christal(DOUBLE2(1437, 730));
  125.     m_Christal5Ptr = new Christal(DOUBLE2(1580, 730));
  126.     m_Christal6Ptr = new Christal(DOUBLE2(2940, 718));
  127.     m_Christal7Ptr = new Christal(DOUBLE2(3090, 718));
  128.     m_Christal8Ptr = new Christal(DOUBLE2(3240, 718));
  129.  
  130.     // EndGate
  131.     m_EndGatePtr = new EndGate();
  132.  
  133.     // RotatingBlock
  134.     m_RotatingBlockPtr = new RotatingBlock(DOUBLE2(3000, 600));
  135.     m_RotatingBlockPtr2 = new RotatingBlock(DOUBLE2(3200, 550));
  136.     m_RotatingBlockPtr3 = new RotatingBlock(DOUBLE2(4750, 540));
  137.  
  138.     // IceCubes
  139.     m_IceCubePtr = new IceCube(DOUBLE2(250, 525));
  140.     m_IceCube2Ptr = new IceCube(DOUBLE2(400, 525));
  141.    
  142.     // Blop
  143.     m_BlopPtr = new Blop(DOUBLE2(5790, 675), m_CharacterPtr);
  144.     m_Blop2Ptr = new Blop(DOUBLE2(5470, 380), m_CharacterPtr);
  145.  
  146.     // Camera
  147.     m_CameraPtr = new Camera(m_CharacterPtr);
  148.  
  149.     //HUD
  150.     m_HUDHeartPtr = new HUD(m_CharacterPtr, m_IceCubePtr, DOUBLE2(10, 10), 3, DOUBLE2(150, 10), DOUBLE2(270, 10));
  151.  
  152.  
  153.  
  154. }
  155.  
  156. void Game_Frizzle_Fraz_01::GameEnd()
  157. {
  158.     m_CoinsListPtr->RemoveAll();
  159.  
  160.     m_HeartListPtr->RemoveAll();
  161.    
  162.     delete m_BmpBackgroundPtr;
  163.     m_BmpBackgroundPtr = nullptr;
  164.  
  165.     delete m_ActLvlPtr;
  166.     m_ActLvlPtr = nullptr;
  167.  
  168.     delete m_CharacterPtr;
  169.     m_CharacterPtr = nullptr;
  170.  
  171.     delete m_ElevatorPtr;
  172.     m_ElevatorPtr = nullptr;
  173.  
  174.     delete m_Elevator2Ptr;
  175.     m_Elevator2Ptr = nullptr;
  176.  
  177.     delete m_Elevator21Ptr;
  178.     m_Elevator21Ptr = nullptr;
  179.  
  180.     delete m_Elevator22Ptr;
  181.     m_Elevator22Ptr = nullptr;
  182.  
  183.     delete m_Elevator23Ptr;
  184.     m_Elevator23Ptr = nullptr;
  185.  
  186.     delete m_Elevator24Ptr;
  187.     m_Elevator24Ptr = nullptr;
  188.  
  189.     delete m_IciclePtr;
  190.     m_IciclePtr = nullptr;
  191.  
  192.     delete m_Icicle2Ptr;
  193.     m_Icicle2Ptr = nullptr;
  194.  
  195.     //delete m_CoinsPtr;
  196.     //m_CoinsPtr = nullptr;
  197.  
  198.     delete m_Christal1Ptr;
  199.     m_Christal1Ptr = nullptr;
  200.  
  201.     delete m_Christal2Ptr;
  202.     m_Christal2Ptr = nullptr;
  203.  
  204.     delete m_Christal3Ptr;
  205.     m_Christal3Ptr = nullptr;
  206.  
  207.     delete m_Christal4Ptr;
  208.     m_Christal4Ptr = nullptr;
  209.  
  210.     delete m_Christal5Ptr;
  211.     m_Christal5Ptr = nullptr;
  212.  
  213.     delete m_Christal6Ptr;
  214.     m_Christal6Ptr = nullptr;
  215.  
  216.     delete m_Christal7Ptr;
  217.     m_Christal7Ptr = nullptr;
  218.  
  219.     delete m_Christal8Ptr;
  220.     m_Christal8Ptr = nullptr;
  221.  
  222.     delete m_EndGatePtr;
  223.     m_EndGatePtr = nullptr;
  224.  
  225.     delete m_RotatingBlockPtr;
  226.     m_RotatingBlockPtr = nullptr;
  227.  
  228.     delete m_RotatingBlockPtr2;
  229.     m_RotatingBlockPtr2 = nullptr;
  230.  
  231.     delete m_RotatingBlockPtr3;
  232.     m_RotatingBlockPtr3 = nullptr;
  233.  
  234.     delete m_IceCubePtr;
  235.     m_IceCubePtr = nullptr;
  236.  
  237.     delete m_IceCube2Ptr;
  238.     m_IceCube2Ptr = nullptr;
  239.  
  240.     delete m_CameraPtr;
  241.     m_CameraPtr = nullptr;
  242.  
  243.     delete m_HUDHeartPtr;
  244.     m_HUDHeartPtr = nullptr;
  245.  
  246.     delete m_BlopPtr;
  247.     m_BlopPtr = nullptr;
  248.  
  249.     delete m_Blop2Ptr;
  250.     m_Blop2Ptr = nullptr;
  251.  
  252.     delete m_MenuPtr;
  253.     m_MenuPtr = nullptr;
  254. }
  255.  
  256. void Game_Frizzle_Fraz_01::GameTick(double deltaTime)
  257. {
  258.     if (GAME_ENGINE->IsKeyboardKeyPressed('P'))
  259.     {
  260.         m_IsPhysicsOn = !m_IsPhysicsOn;
  261.         GAME_ENGINE->EnablePhysicsDebugRendering(m_IsPhysicsOn);
  262.     }
  263.  
  264.     //Menu
  265.     m_MenuPtr->Tick();
  266.  
  267.     if (m_MenuPtr->IsButtonPressed() == false)
  268.     {
  269.         // Character
  270.         m_CharacterPtr->Tick(deltaTime);
  271.  
  272.         // Elevator2
  273.         m_Elevator2Ptr->Tick(deltaTime);
  274.         m_Elevator21Ptr->Tick(deltaTime);
  275.         m_Elevator22Ptr->Tick(deltaTime);
  276.         m_Elevator23Ptr->Tick(deltaTime);
  277.         m_Elevator24Ptr->Tick(deltaTime);
  278.  
  279.         // Coins
  280.         m_CoinsListPtr->Tick(deltaTime);
  281.  
  282.  
  283.         // Camera
  284.         m_CameraPtr->Tick(deltaTime);
  285.  
  286.  
  287.         // IceCube
  288.         m_IceCubePtr->Tick(deltaTime);
  289.         m_IceCube2Ptr->Tick(deltaTime);
  290.  
  291.         // Icicles
  292.         if (m_IciclePtr->GetActor() != nullptr)
  293.         {
  294.             if (m_IciclePtr->IsHit(m_CharacterPtr->GetActor()) == true)
  295.             {
  296.                 m_IciclePtr->GetActor()->SetActive(true);
  297.                 m_IciclePtr->GetActor()->ApplyForce(DOUBLE2(0, 10000));
  298.                 m_IciclePtr->GetActor()->SetGravityScale(1);
  299.             }
  300.         }
  301.  
  302.         if (m_Icicle2Ptr->GetActor() != nullptr)
  303.         {
  304.             if (m_Icicle2Ptr->IsHit(m_CharacterPtr->GetActor()) == true)
  305.             {
  306.                 m_Icicle2Ptr->GetActor()->SetActive(true);
  307.                 m_Icicle2Ptr->GetActor()->ApplyForce(DOUBLE2(0, 10000));
  308.                 m_Icicle2Ptr->GetActor()->SetGravityScale(1);
  309.             }
  310.         }
  311.  
  312.         // RotationBlock
  313.         m_RotatingBlockPtr->Tick();
  314.         m_RotatingBlockPtr2->Tick();
  315.         m_RotatingBlockPtr3->Tick();
  316.  
  317.         // Blop
  318.         m_BlopPtr->Tick(deltaTime);
  319.         m_Blop2Ptr->Tick(deltaTime);
  320.     }
  321. }
  322.  
  323. void Game_Frizzle_Fraz_01::GamePaint(RECT rect)
  324. {
  325.  
  326.     if (m_MenuPtr->IsButtonPressed() == false)
  327.     {
  328.         // Camera
  329.         GAME_ENGINE->SetViewMatrix(m_CameraPtr->GetviewMaTrix());
  330.  
  331.         //Background
  332.         GAME_ENGINE->DrawBitmap(m_BmpBackgroundPtr);
  333.  
  334.         // Menu
  335.         m_MenuPtr->Paint();
  336.  
  337.         // EndGate
  338.         m_EndGatePtr->Paint();
  339.  
  340.         // Character
  341.         m_CharacterPtr->Paint();
  342.  
  343.         // Elevator
  344.         m_ElevatorPtr->Paint();
  345.         m_Elevator2Ptr->Paint();
  346.         m_Elevator21Ptr->Paint();
  347.         m_Elevator22Ptr->Paint();
  348.         m_Elevator23Ptr->Paint();
  349.         m_Elevator24Ptr->Paint();
  350.  
  351.         // Icicle
  352.         m_IciclePtr->Paint();
  353.         m_Icicle2Ptr->Paint();
  354.  
  355.         // Coins
  356.         m_CoinsListPtr->Paint();
  357.  
  358.         // Heart
  359.         m_HeartListPtr->Paint();
  360.  
  361.         // Christals
  362.         m_Christal1Ptr->Paint();
  363.         m_Christal2Ptr->Paint();
  364.         m_Christal3Ptr->Paint();
  365.         m_Christal4Ptr->Paint();
  366.         m_Christal5Ptr->Paint();
  367.         m_Christal6Ptr->Paint();
  368.         m_Christal7Ptr->Paint();
  369.         m_Christal8Ptr->Paint();
  370.  
  371.         // RotatingBlock
  372.         m_RotatingBlockPtr->Paint();
  373.         m_RotatingBlockPtr2->Paint();
  374.         m_RotatingBlockPtr3->Paint();
  375.  
  376.         if (m_EndGatePtr->IsHit(m_CharacterPtr->GetActor()) == true)
  377.         {
  378.             GAME_ENGINE->QuitGame();
  379.         }
  380.  
  381.         // IceCube
  382.         m_IceCubePtr->Paint();
  383.         m_IceCube2Ptr->Paint();
  384.  
  385.         // Blop
  386.         m_BlopPtr->Paint();
  387.         m_Blop2Ptr->Paint();
  388.  
  389.         // HUDHeart&Coins
  390.         MATRIX3X2 matIdentity;
  391.         matIdentity.SetAsIdentity();
  392.         GAME_ENGINE->SetViewMatrix(matIdentity);
  393.  
  394.         m_HUDHeartPtr->Paint();
  395.  
  396.         GAME_ENGINE->SetViewMatrix(m_CameraPtr->GetviewMaTrix());
  397.     }
  398.     else if (m_MenuPtr->IsButtonPressed()==true)
  399.     {
  400.         m_MenuPtr->Paint();
  401.     }
  402.  
  403.    
  404.  
  405. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement