Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include "110ct.h"
- using namespace std;
- int main()
- {
- //config
- int const scoreCon = 10;
- int const bonusCon = 5;
- int const penaltyCon = -3;
- int const dicePenalty = -1;
- int const BonusTime = 5;
- int const specialBonus = 12;
- //do not edit after here
- int score = 0;
- int bonus = 0;
- int penalty = 0;
- int answer;
- int finalScore;
- Random roll; // roll for dice
- int dice;
- string welldone = "Well Done!! Correct Answer";
- string fail = "Sorry Wrong Answer";
- string bonusCongrats = "Congrats 1 Bonus Point";
- string bonusScore = " Your Bonus Score is: ";
- string scoreScore = "Your Score is: ";
- string penaltyScore = " Your Penalty Score is: ";
- string QS = "Question Skipped, Special Bonus added";
- string ROLL = "0) Roll Dice! ";
- double time;
- Stopwatch s; // stores stopwatch ongoing time
- ColourController cl; // colour controllers
- CursorController crs;
- cl.setForeground(Red);
- crs.setPosition(2,5);
- cout << "Welcome to the quiz. The faster you do a task, the bigger the Bonus! " << endl;
- crs.setPosition(20,10);
- cout << "Press Enter to start!" << endl;
- qin.get();
- q1Start:
- crs.clearAll();
- //Quiz starts!
- crs.setPosition(32,5);
- cout << "What is 5 + 5?" << endl; // Question 1
- crs.setPosition(17,7);
- cout << ROLL <<"1) 10 " << "2) 20 " << "3) 30 " << "4) 40 " << endl; // Choices
- s.start(); // start timer
- crs.setPosition(37,9);
- cin >> answer;
- time = s.stop(); //stop timer
- switch(answer){
- case 0:
- roll.setLimits(0,5);
- dice = roll.get();
- switch(dice){
- case 5:
- cout << QS ;
- score = score + specialBonus;
- break;
- default:
- penalty = penalty + dicePenalty;
- crs.setPosition(32,9);
- cout << fail << endl;
- qin.get();
- goto q1Start;
- }
- case 1:
- score = score + scoreCon;
- crs.setPosition(28,9);
- cout << welldone << endl;
- if (time <= BonusTime ){
- bonus = bonus + bonusCon;
- crs.setPosition(30,10);
- cout << bonusCongrats << endl;
- }
- break;
- case 2:
- case 3:
- case 4:
- penalty = penalty + penaltyCon;
- crs.setPosition(32,9);
- cout << fail << endl;
- break;
- default: // Line that causes to loop though infinity
- cout << fail << endl;
- qin.get();
- goto q1Start;
- }
- s.reset(); // reset timer to 0
- crs.setPosition(5,15);
- cout << scoreScore << score << bonusScore << bonus << penaltyScore << penalty << endl;
- qin.get();
- q2Start:
- crs.clearAll();
- crs.setPosition(32,5);
- cout << "What is 5 * 200?" << endl; // Question 2
- crs.setPosition(17,7);
- cout << ROLL <<"1) 10 " << "2) 500 " << "3) 1000 " << "4) 100 " << endl; // Choices
- s.start(); // start timer
- crs.setPosition(37,9);
- cin >> answer;
- time = s.stop(); //stop timer
- switch(answer){
- case 0:
- roll.setLimits(0,5);
- dice = roll.get();
- switch(dice){
- case 5:
- cout << QS ;
- score = score + specialBonus;
- break;
- default:
- penalty = penalty + dicePenalty;
- crs.setPosition(32,9);
- cout << fail << endl;
- qin.get();
- goto q2Start;
- }
- case 3:
- score = score + scoreCon;
- crs.setPosition(28,9);
- cout << welldone << endl;
- if (time <= BonusTime ){
- bonus = bonus + bonusCon;
- crs.setPosition(30,10);
- cout << bonusCongrats << endl;
- }
- break;
- case 1:
- case 2:
- case 4:
- penalty = penalty + penaltyCon;
- crs.setPosition(32,9);
- cout << fail << endl;
- break;
- }
- s.reset(); // reset timer to 0
- crs.setPosition(5,15);
- cout << scoreScore << score << bonusScore << bonus << penaltyScore << penalty << endl;
- qin.get();
- q3Start:
- crs.clearAll();
- crs.setPosition(32,5);
- cout << "What is 100 / 50?" << endl; // Question 3
- crs.setPosition(17,7);
- cout << ROLL <<"1)10 " << "2)50 " << "3) 20 " << "4) 2 " << endl; // Choices
- s.start(); // start timer
- crs.setPosition(37,9);
- cin >> answer;
- time = s.stop(); //stop timer
- switch(answer){
- case 0:
- roll.setLimits(0,5);
- dice = roll.get();
- switch(dice){
- case 5:
- cout << QS ;
- score = score + specialBonus;
- break;
- default:
- penalty = penalty + dicePenalty;
- crs.setPosition(32,9);
- cout << fail << endl;
- qin.get();
- goto q3Start;
- }
- case 4:
- score = score + scoreCon;
- crs.setPosition(28,9);
- cout << welldone << endl;
- if (time <= BonusTime ){
- bonus = bonus + bonusCon;
- crs.setPosition(30,10);
- cout << bonusCongrats << endl;
- }
- break;
- case 1:
- case 2:
- case 3:
- penalty = penalty + penaltyCon;
- crs.setPosition(32,9);
- cout << fail << endl;
- break;
- }
- s.reset(); // reset timer to 0
- crs.setPosition(5,15);
- cout << scoreScore << score << bonusScore << bonus << penaltyScore << penalty << endl;
- qin.get();
- q4Start:
- crs.clearAll();
- crs.setPosition(32,5);
- cout << "What is 999 / 333?" << endl; // Question 4
- crs.setPosition(17,7);
- cout << ROLL <<"1)333 " << "2)33 " << "3) 3 " << "4) 12 " << endl; // Choices
- s.start(); // start timer
- crs.setPosition(37,9);
- cin >> answer;
- time = s.stop(); //stop timer
- switch(answer){
- case 0:
- roll.setLimits(0,5);
- dice = roll.get();
- switch(dice){
- case 5:
- cout << QS ;
- score = score + specialBonus;
- break;
- default:
- penalty = penalty + dicePenalty;
- crs.setPosition(32,9);
- cout << fail << endl;
- qin.get();
- goto q4Start;
- }
- case 3:
- score = score + scoreCon;
- crs.setPosition(28,9);
- cout << welldone << endl;
- if (time <= BonusTime ){
- bonus = bonus + bonusCon;
- crs.setPosition(30,10);
- cout << bonusCongrats << endl;
- }
- break;
- case 1:
- case 2:
- case 4:
- penalty = penalty + penaltyCon;
- crs.setPosition(32,9);
- cout << fail << endl;
- break;
- }
- s.reset(); // reset timer to 0
- crs.setPosition(5,15);
- cout << scoreScore << score << bonusScore << bonus << penaltyScore << penalty << endl;
- qin.get();
- crs.clearAll();
- finalScore = score + bonus + penalty;
- crs.setPosition(20,5);
- cout << " Final Score is :" << finalScore << endl;
- return(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement