Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 5, 2018, 11:43:36 AM (5 years ago)
Author:
thomkell
Message:

final

Location:
code/branches/TixyTaxyTorxy_HS18/src/modules/TixyTaxyTorxy
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • code/branches/TixyTaxyTorxy_HS18/src/modules/TixyTaxyTorxy/TixyTaxyTorxy.cc

    r12086 r12149  
    8383#include "core/CoreIncludes.h"
    8484#include "Highscore.h"
     85#include <iostream>
     86#include "TixyTaxyTorxyField.h"
     87using namespace std;
    8588
    8689namespace orxonox
    8790{
     91
    8892    RegisterUnloadableClass(TixyTaxyTorxy);
     93
     94
    8995
    9096   
     
    103109        this->waveSize_ = 0;
    104110        offset_ = Vector3(0,0,10);
     111
    105112    }
    106113
    107114TixyTaxyTorxy::~TixyTaxyTorxy()
    108115    {
     116
     117
    109118        if (this->isInitialized())
    110119        {
     
    186195    void TixyTaxyTorxy::addTower(int x,int y)
    187196    {
     197        int mini;
     198         
    188199        TixyTaxyTorxyCoordinate* coord = new TixyTaxyTorxyCoordinate(x,y);
    189200        x = coord->GetX();
    190201        y = coord->GetY();
    191 
     202        mini = coord->Getmini();
     203
     204        orxout() <<"addTower("<<x<<", "<<y<<") "<<mini<<"" <<endl;
    192205        int cost = center_->getTowerCost(1);
    193206
    194         if (fields_[x][y]->isFree() == true && getCredit() >= cost)
     207        if (fields_[x][y]->isFree())
    195208        {
    196209            payCredit(cost);
    197210            fields_[x][y]->createTower(1);
    198211        }
    199     }
     212   
     213    bool player1=player2=0;
     214    int A1,B1,C1,D1,E1,F1,G1,H1,I1;
     215    int A2,B2,C2,D2,E2,F2,G2,H2,I2;
     216    A1=B1=C1=D1=E1=F1=G1=H1=I1=0;
     217    A2=B2=C2=D2=E2=F2=G2=H2=I2=0;
     218
     219
     220
     221    if (checkMinigame(0,10) == 1) A1=1;
     222    if (checkMinigame(4,10) == 1) B1=2;
     223    if (checkMinigame(8,10) == 1) C1=4;
     224    if (checkMinigame(0,6) == 1) D1=8;
     225    if (checkMinigame(4,6) == 1) E1=16;
     226    if (checkMinigame(8,6) == 1) F1=32;
     227    if (checkMinigame(0,2) == 1) G1=64;
     228    if (checkMinigame(4,2) == 1) H1=128;
     229    if (checkMinigame(8,2) == 1) I1=256;
     230
     231    if (checkMinigame(0,10) == 2) A2=1;
     232    if (checkMinigame(4,10) == 2) B2=2;
     233    if (checkMinigame(8,10) == 2) C2=4;
     234    if (checkMinigame(0,6) == 2) D2=8;
     235    if (checkMinigame(4,6) == 2) E2=16;
     236    if (checkMinigame(8,6) == 2) F2=32;
     237    if (checkMinigame(0,2) == 2) G2=64;
     238    if (checkMinigame(4,2) == 2) H2=128;
     239    if (checkMinigame(8,2) == 2) I2=256;
     240
     241    orxout()<<"A1: "<<A1<<"B1: "<<B1<<endl;
     242
     243    if(A1+B1+C1 == 7 || D1+E1+F1 == 56 || G1+H1+I1 == 448 || A1+D1+G1 == 73 || B1+E1+H1 == 146 || C1+F1+I1 == 294 || A1+E1+I1 == 273 || C1+E1+G1 == 84){
     244
     245        player1=1;
     246        orxout()<<"player1 has won" << endl;
     247    }
     248
     249     if(A2+B2+C2 == 7 || D2+E2+F2 == 56 || G2+H2+I2 == 448 || A2+D2+G2 == 73 || B2+E2+H2 == 146 || C2+F2+I2 == 294 || A2+E2+I2 == 273 || C2+E2+G2 == 84){
     250
     251        player2=1;
     252        orxout()<<"player1 has won" << endl;
     253    }
     254    }
     255
     256    int TixyTaxyTorxy::checkMinigame(int x, int y){
     257        if (checkRow(x,y)==1 || checkColumn(x,y)==1 || checkDiagLtR(x,y)==1 ||checkDiagRtL(x,y)==1) return 1;
     258        else if (checkRow(x,y)==2 || checkColumn(x,y)==2 || checkDiagLtR(x,y)==2 || checkDiagRtL (x,y)==2) return 2;
     259        return 0;
     260         } 
     261
     262    int TixyTaxyTorxy::checkRow(int x, int y){
     263        for(int i=0; i<2; i++){
     264
     265            if(fields_[x+i][y]-> isTower1() && fields_[x+i][y-1]-> isTower1() && fields_[x+i][y-2]-> isTower1()){
     266                return 1;
     267
     268            }else if(fields_[x+i][y]-> isTower2() && fields_[x+i][y-1]-> isTower2() && fields_[x+i][y-2]-> isTower2()){
     269                return 2;}   
     270        }
     271        return 0;
     272
     273    }
     274    int TixyTaxyTorxy::checkColumn(int x, int y){
     275        for(int i=0; i<2; i++){
     276
     277            if(fields_[x][y-i]-> isTower1() && fields_[x+1][y-i]-> isTower1() && fields_[x+2][y-i]-> isTower1()){
     278                return 1;
     279
     280            }else if (fields_[x][y-i]-> isTower2() && fields_[x+1][y-i]-> isTower2() && fields_[x+2][y-i]-> isTower2()){
     281            return 2;            }
     282        }
     283            return 0;
     284       
     285       
     286    }
     287    //Cheeck the diagonal achsis from top left to bottom right
     288    int TixyTaxyTorxy::checkDiagLtR(int x, int y){
     289
     290        if (fields_[x][y]-> isTower1() && fields_[x+1][y-1]-> isTower1() && fields_[x+2][y-2]-> isTower1()){
     291            return 1;
     292        }
     293        else if (fields_[x][y]-> isTower2() && fields_[x+1][y-1]-> isTower2() && fields_[x+2][y-2]-> isTower2()){
     294            return 2;
     295        }
     296        return 0;
     297       
     298    }
     299    //Cheeck the diagonal achsis from top right to bottom left
     300    int TixyTaxyTorxy::checkDiagRtL (int x, int y){
     301
     302        if(fields_[x+2][y]-> isTower1() && fields_[x+1][y-1]-> isTower1() && fields_[x][y-2]-> isTower1()){
     303            return 1;
     304        }
     305        else if(fields_[x+2][y]-> isTower2() && fields_[x+1][y-1]-> isTower2() && fields_[x][y-2]-> isTower2()){
     306            return 2;
     307        }
     308       
     309        else return 0;
     310        }
     311
     312    bool TixyTaxyTorxy::getPlayer1Value(){
     313    return player1;
     314}
     315    bool TixyTaxyTorxy::getPlayer2Value(){
     316    return player2;
     317}
     318   
     319
     320
     321
     322
     323
    200324
    201325    /*adds Tower at Position (x,y) and reduces credit and adds the point to the towermatrix. template ("towerturret")
     
    253377        std::string fields = center_->getFields();
    254378        int pos = 0;
    255         for (int j = 15; j >= 0; --j)
    256         {
    257             for (int i = 0; i < 16; ++i)
     379        for (int j = 10; j >= 0; --j)
     380        {
     381            for (int i = 0; i < 11; ++i)
    258382            {
    259383                coord.Set(i,j);
  • code/branches/TixyTaxyTorxy_HS18/src/modules/TixyTaxyTorxy/TixyTaxyTorxy.h

    r12064 r12149  
    7272        void addTower(int x, int y);
    7373        void upgradeTower(int x, int y);
     74        int checkRow(int x, int y);
     75        int checkColumn(int x, int y);
     76        int checkMinigame(int x, int y);
     77        int checkDiagLtR(int x, int y);
     78        int checkDiagRtL(int x, int y);
     79        bool getPlayer2Value();
     80        bool getPlayer1Value();
    7481       
    7582        TixyTaxyTorxySelecter* selecter;       
     
    8693        int waveNumber_;
    8794        int lifes_;
    88         TixyTaxyTorxyField* fields_[16][16];
     95        bool player1;
     96        bool player2;
     97        TixyTaxyTorxyField* fields_[11][11];
    8998        std::vector<orxonox::WeakPtr<TixyTaxyTorxyField>> waypoints_;
    9099        Vector3 endpoint_;
  • code/branches/TixyTaxyTorxy_HS18/src/modules/TixyTaxyTorxy/TixyTaxyTorxyCenterpoint.cc

    r12064 r12149  
    5656        RegisterObject(TixyTaxyTorxyCenterpoint);
    5757
    58         this->width_ = 15;
    59         this->height_ = 15;
     58        this->width_ = 10;
     59        this->height_ = 10;
    6060
    6161        //this->setCollisionType(Static);
  • code/branches/TixyTaxyTorxy_HS18/src/modules/TixyTaxyTorxy/TixyTaxyTorxyCoordinate.cc

    r12064 r12149  
    2020    {       
    2121        Set(x,y);
     22
    2223    }
    2324
     
    2829            _x = 0;
    2930        }
    30         else if (x > 15)
     31        else if (x > 10)
    3132        {
    32             _x = 15;
     33            _x = 10;
    3334        }
    3435        else
     
    4142            _y = 0;
    4243        }
    43         else if (y > 15)
     44        else if (y > 10)
    4445        {
    45             _y = 15;
     46            _y = 10;
    4647        }
    4748        else
     
    4950            _y = y;
    5051        }
     52
     53        //Defniert die Positionen der einzelnen Minigames
     54
     55        if( _x <= 2 && _y >= 8 ) _mini = 1;
     56
     57        if( _x>= 4 &&_x <= 6 && _y >= 8 ) _mini = 2;
     58
     59        if( _x>= 8 && _y >= 8 ) _mini = 3;
     60
     61        if( _x <= 2 && _y >= 4 && _y<=6 ) _mini = 4;
     62
     63        if(_x>=4 &&_x <= 6 &&  _y>=4 &&_y <= 6 ) _mini = 5;
     64
     65        if( _x >=8 && _y >= 4 && _y<=6 ) _mini = 6;
     66
     67        if( _x <= 2 && _y <=2 ) _mini = 7;
     68
     69        if( _x >=4 &&_x <= 6 && _y <=2 ) _mini = 8;
     70
     71        if( _x >= 8 && _y <=2 ) _mini = 9; 
    5172    }
    5273
     
    6081        return _y;
    6182    }
    62 
     83    int TixyTaxyTorxyCoordinate::Getmini()
     84    {       
     85        return _mini;
     86    }
    6387
    6488    Vector3 TixyTaxyTorxyCoordinate::get3dcoordinate()
  • code/branches/TixyTaxyTorxy_HS18/src/modules/TixyTaxyTorxy/TixyTaxyTorxyCoordinate.h

    r12064 r12149  
    2121            virtual int GetX();
    2222            virtual int GetY();
     23            virtual int Getmini();
    2324            virtual Vector3 get3dcoordinate();
    2425
     
    2627            int _x;
    2728            int _y;
     29            int _mini;
    2830    };
    2931
  • code/branches/TixyTaxyTorxy_HS18/src/modules/TixyTaxyTorxy/TixyTaxyTorxyField.cc

    r12086 r12149  
    3838#include "core/XMLPort.h"
    3939#include "TixyTaxyTorxy.h"
     40#include <iostream>
     41
     42using namespace std;
    4043
    4144namespace orxonox
     
    8588        center_ = center;
    8689    }
    87 
    8890    // void TixyTaxyTorxyField::upgrade()
    8991    // {
     
    184186    }
    185187
     188
    186189    int TixyTaxyTorxyField::getAngle()
    187190    {
     
    256259    void TixyTaxyTorxyField::createTower(int upgrade)
    257260    {       
    258         counter++;
     261       
    259262        if (tower_ == nullptr)
    260263        {
     264            counter++;
    261265            if(counter%2==0){
    262266            modelGround_->setMeshSource("TD_T1.mesh");
    263267            tower_ = new TixyTaxyTorxyTower(center_->getContext());
    264268            attach(tower_);
     269            type_ = TixyTaxyTorxyFieldType::TOWER1;
    265270
    266271            }else{
     
    268273            tower_ = new TixyTaxyTorxyTower(center_->getContext());
    269274            attach(tower_);
    270         }
    271 
    272 
    273             // type_ = TixyTaxyTorxyFieldType::TOWER;
    274             // setUpgrade(upgrade);
    275             // if (upgrade_ > 0 && modelObject_ != nullptr)
    276             // {
    277             //     modelObject_->setMeshSource("TD_T2.mesh");                   
    278             //     tower_->addTemplate(center_->getTower1Template());
    279             //     switch (counter%2 +1)
    280             //     {
    281             //         case 1:
    282             //             modelObject_->setMeshSource("TD_T1.mesh");                   
    283             //             tower_->addTemplate(center_->getTower1Template());
    284             //             break;
    285             //         case 2:
    286             //             modelObject_->setMeshSource("TD_T2.mesh");
    287             //             tower_->addTemplate(center_->getTower2Template());
    288             //             break;
    289             //         case 3:
    290             //             modelObject_->setMeshSource("TD_T3.mesh");
    291             //             tower_->addTemplate(center_->getTower3Template());
    292             //             break;
    293             //         case 4:
    294             //             modelObject_->setMeshSource("TD_T4.mesh");
    295             //             tower_->addTemplate(center_->getTower4Template());
    296             //             break;
    297             //         case 5:
    298             //             modelObject_->setMeshSource("TD_T5.mesh");
    299             //             tower_->addTemplate(center_->getTower5Template());
    300             //             break;
    301             //     }
    302             // }
     275            type_ = TixyTaxyTorxyFieldType::TOWER2; 
     276        }
     277
    303278        }                           
    304279    }
  • code/branches/TixyTaxyTorxy_HS18/src/modules/TixyTaxyTorxy/TixyTaxyTorxyField.h

    r12086 r12149  
    4848        END,
    4949        OBSTACLE,
     50        TOWER1,
     51        TOWER2,
    5052        TOWER
    5153    };
     
    6668            const bool isFree() const
    6769                { return type_==TixyTaxyTorxyFieldType::FREE; }
     70            const bool isTower1() const
     71                { return type_==TixyTaxyTorxyFieldType::TOWER1; }   
     72            const bool isTower2() const
     73                { return type_==TixyTaxyTorxyFieldType::TOWER2; }
    6874            virtual void create(char object, char param);
    6975            virtual void setCenterpoint(TixyTaxyTorxyCenterpoint* center);
     
    8187            virtual void createObstacle(int orientation);
    8288            virtual void createTower(int upgrade);
    83             virtual int getAngle();           
     89            virtual int getAngle();         
    8490        private:
     91
    8592            virtual void setAngle(int newAngle);           
    8693            virtual void destroyTower();
  • code/branches/TixyTaxyTorxy_HS18/src/modules/TixyTaxyTorxy/TixyTaxyTorxyHUDController.cc

    r12064 r12149  
    3131#include "core/XMLPort.h"
    3232#include "util/Convert.h"
     33#include "TixyTaxyTorxy.h"
    3334
    3435namespace orxonox
  • code/branches/TixyTaxyTorxy_HS18/src/modules/TixyTaxyTorxy/TixyTaxyTorxySelecter.cc

    r12064 r12149  
    5353        boostPressed_ = false;
    5454        buildTower_ = false;
    55         setSelectedPosition(0,0);     
     55        setSelectedPosition(5,5);     
    5656    }
    5757
Note: See TracChangeset for help on using the changeset viewer.