void Game::initGame() { //create teams and register them to heap m_arbiter -> resetFSM(); m_teams[TeamEnum::LEFT] = createTeam(TeamEnum::LEFT, true); m_teams[TeamEnum::RIGHT] = createTeam(TeamEnum::RIGHT, false); m_arbiter -> registerTeamsToHeap(); m_flags.m_singleFlags.f_performNextTurnStep = true; m_stateFn = &Game::performArbiterCycle; }
int DBimpl::storeTeamsByProject (const QList<Team*>& teams, const int& projectID){ if (projectID > 0) { int tempInt; QSqlQuery query; QVariantList studentIDList; QVariantList teamIDList; query.prepare(DatabaseQueries::storeTeamsByProject); for (int i = 0; i< teams.count();i++) { tempInt = createTeam(projectID,teams.at(i)->getResultDisplay()); if (tempInt > 0) { for (int j = 0; j < teams.at(i)->getTeamMembers().count();j++) { studentIDList << teams.at(i)->getTeamMembers().at(j); teamIDList << tempInt ; } } else return 0; } query.bindValue(":studentID",studentIDList); query.bindValue(":teamID",teamIDList); if(!query.execBatch()) { qDebug() << query.lastError(); qDebug() << query.lastQuery(); return 0; } else return query.lastInsertId().toInt(); } else return 0; }
int main(){ int scores[20][4]; //not necessarily 20 here but whatever char x; int r=0,done=0,teama,teamb,ascore,bscore,arow,brow; struct Team teams[20]; /* printf("Enter game data: \n"); while(done==0){ scanf("%d %d %d %d\n",&scores[r][0],&scores[r][1],&scores[r][2],&scores[r][3]); if(scores[r][0]+scores[r][1]==0) done=1; r++; } printf("\nScore input:\n"); for(int i=0;i<r;i++){ for(int j=0;j<4;j++) printf("%d ",scores[i][j]); printf("\n"); }*/ while(done==0){ scanf("%d %d %d %d\n",&teama,&teamb,&ascore,&bscore); if(teama==0&&teamb==0){ done=1; } else{ if(teamExists(teams,teama)==-1){ teams[r]=createTeam(teama); r++; } if(teamExists(teams,teamb)==-1){ teams[r]=createTeam(teamb); r++; } arow=teamExists(teams,teama); brow=teamExists(teams,teamb); if(ascore>bscore){ teams[arow].wins++; teams[brow].losses++; } else if(ascore==bscore){ teams[arow].ties++; teams[brow].ties++; } else if(ascore<bscore){ teams[arow].losses++; teams[brow].wins++; } } } /* // int teams[20][4]; int team_lastrow=0,inlist,curr_row=0,ascore,bscore,tname; for(int i=0;i<r;i++){ inlist=0; tname=scores[i][0]; ascore=scores[i][2]; bscore=scores[i][3]; for(int j=0;j<20;j++){ // for(int k=0;k<2;k++){ *ignore these if(teams[j][0]==tname){ inlist=1; curr_row=j; // } } } if(inlist==0){ teams[team_lastrow][0]=ascore; curr_row=team_lastrow; team_lastrow++; } if(ascore>bscore) teams[curr_row][1]++; else if(ascore==bscore) teams[curr_row][3]++; else teams[curr_row][2]++; // curr_row++; }*/ printf("\nRankings:\n"); for(int i=0;i<r;i++){ printf("%d. %d %d %d %d\n",i,teams[i].id,teams[i].wins,teams[i].losses,teams[i].ties); } }