Esempio n. 1
0
int main (int argc, char** argv) {

    int N;	//mber of rounds
    int score1 = 0,score2 = 0;
    int result = 0;
    int i;

    Player* player1;
    Player* player2;
    Ball* ball;
    Spell* spell;

    if(argc==1) {
        srand (time(NULL));
        N = -1;
    }

    if(argc==2) {
        srand (time(NULL));
        N = atoi(argv[1]);
    }

    if(argc==3) {
        srand (atoi(argv[2]));
        N = atoi(argv[1]);
    }

    for (i=0; i=N-1; i++) {

        int random = rand()%4;

        if(random==0) player1= new Chasers;
        else if(random==1) player1= new Beaters;
        else if(random==2) player1= new Keepers;
        else player1= new Seekers;

        random=rand()%4;
        if(random==0) player2= new Chasers;
        else if(random==1) player2= new Beaters;
        else if(random==2) player2= new Keepers;
        else player2= new Seekers;

        random=rand()%4;
        if(random==0) spell= new InvalidSpells;
        else if(random==1) spell= new PenaltySpells;
        else if(random==2) spell= new BonusSpells;
        else spell= new JamSpells;

        random=rand()%3;
        if(random==0) ball= new Quaffle;
        else if(random==1) ball= new Bludger;
        else ball= new GoldenSnitch;

        if(result==1) {
            player1->add_spell(-2);
        }

        if(result==2) {
            player2->add_spell(-2);
        }

        result = 0;

        random=rand()%2;

        if(random==0) spell->witchcraft(player1);
        else spell->witchcraft(player2);
        result= ball->battle(&score1,&score2,player1,player2);

        delete player1;
        delete player2;
        delete spell;
        delete ball;

        cout<<result<<endl;
        if(result==3) break;

    }

    cout<<" Team1 "<<score1<<" ,"<<" Team2 "<<score2<<endl;

    return 0;

}