void Viewer::startsubTask1(){ //qWarning("Start subtask %d",(task_pos/3)+1); if (task_pos+3<=task_files.size()){ rankings[0]=0; rankings[1]=1; rankings[2]=2; addTerrain(task_files[task_pos+0]); addTerrain(task_files[task_pos+1]); addTerrain(task_files[task_pos+2]); curTerr = 0; //updateGL(); emit updateTasklabel(QString::number((task_pos/3)+1)+"/"+QString::number(task_files.size()/3)); emit rankingChanged(); } else{ qWarning("Task 1 ended"); task_status = 1; task_id = TASK0; emit updateIDlabel("TASK "+QString::number(task_id)); emit updateTasklabel(QString::number(curTerr+1)+"/"+QString::number(terrains.size())); emit taskIsNot1(true); emit taskIsNot0(true); startTask2("task2_files.txt"); } }
void Viewer::startTask2(QVector<QString> tlist){ if (tlist.size()==0) return; QMessageBox msgBox; msgBox.setText("Task 2 is about to begin\n You will find information about this task on the bottom left area of the screen"); msgBox.exec(); task_files = tlist; task_id = TASK2; task_status = 1; task_pos = 0; addTerrain(task_files.front()); emit updateTasklabel(QString::number(task_pos+1)+"/"+QString::number(task_files.size())); emit updateIDlabel("TASK "+QString::number(task_id)); emit taskIsNot1(true); emit taskIsNot0(true); emit infoChanged(task2_info); }
bool SimpleMageTowerlvl2::init() { if (!Sprite::init()) { return false; } setTowerType(MAGE_2); setLevel(2); addTerrain(); initTower(2); setListener(); setScope(180.0f); setUpdateMoney(240); setBuildMoney(260); isUpdateMenuShown = false; schedule(schedule_selector(SimpleMageTowerlvl2::shoot), 2.0f); SoundManager::playMageTower2Ready(); return true; }
bool ArchMageTower::init() { if (!Sprite::init()) { return false; } setTowerType(ARCHMAGE); DelayBullet[0] = NULL; DelayBullet[1] = NULL; DelayBullet[2] = NULL; setLevel(4); addTerrain(); initTower(4); setListener(); setScope(220.0f); setBuildMoney(730); isUpdateMenuShown = false; SoundManager::playArchmageReady(); schedule(schedule_selector(ArchMageTower::Attack), 2.0f); schedule(schedule_selector(ArchMageTower::AtTwister), 7.0f); return true; }
/* QString Viewer::updateTlabel(){ //if (task_id == TASK0) return QString::number(curTerr)+"/"+QString::number(terrains.size()); } */ bool Viewer::moveNext(){ //qWarning("next %d!n",task_id); switch(task_id){ case TASK0: { if (curTerr<terrains.size()-1){ curTerr+=1; updateGL(); emit updateTasklabel(QString::number(curTerr+1)+"/"+QString::number(terrains.size())); return true; } return false; } case TASK1: { endsubTask1(); //qWarning("task ended!n"); startsubTask1(); updateGL(); return true; } case TASK2: { if (terrains.size()>0){ DeleteTerrain(curTerr); curTerr -= 1; } if (task_pos+1<task_files.size()){ task_pos+=1; addTerrain(task_files[task_pos]); emit updateTasklabel(QString::number(task_pos+1)+"/"+QString::number(task_files.size())); } else{ qWarning("Task 2 ended"); DeleteAll(); task_status = 1; task_id = TASK0; emit updateIDlabel("TASK "+QString::number(task_id)); emit updateTasklabel(QString::number(curTerr+1)+"/"+QString::number(terrains.size())); emit taskIsNot0(false); emit infoChanged(task0_info); QMessageBox msgBox; msgBox.setText("Thank you for participating to this experiment!\n Let me know that you are done."); msgBox.exec(); } updateGL(); return false; } } return false; }