Beispiel #1
0
        void generateHardQuestion()
    {
    //printf("%f",getSimilarity("abcdef","aabcdegf"));


    usednum=0;
    questions++;
    UpdateQuestionText();
    //printf("Question %d\n",questions);
    //printf("Score: %d\n",score);
    resetOptions();
    //Chose correct word
    int word=getRandomQuestion();
    answer=Words[word].english[0];
    question=Words[word].latin[0];

    //Chose alternative(wrong) options
    int position=getRandomNumber(6);
    int i;
    for(i=0;i<6;i++)
    {
    if(i==position)//Place correct answer at random location
    {
    createOption(answer,false);
    }
    else
    {
    createSimilarWord(question);
    }
    }
    createOption(question,true);

    }
Beispiel #2
0
 void generateMediumQuestion()
 {
 int altWord;
 usednum=0;
 questions++;
 UpdateQuestionText();
 printf("Question %d\n",questions);
 resetOptions();
 //Chose correct word
 int word=getRandomQuestion();
 answer=Words[word].english[getRandomNumber(Words[word].numenglish-1)];
 question=Words[word].latin[getRandomNumber(Words[word].numlatin-1)];
 int position=getRandomNumber(6);
 int i;
 for(i=0;i<6;i++)
 {
 if(i==position)
 {
 createOption(answer,false);
 }
 else
 {
 altWord=getRandomWordIndex();
 createOption(Words[altWord].english[getRandomNumber(Words[altWord].numenglish-1)],false);
 }
 }
 createOption(question,true);
 }
Beispiel #3
0
 void generateEasyQuestion()
 {
 usednum=0;
 questions++;
 UpdateQuestionText();
 printf("Question %d\n",questions);
 printf("Score: %d\n",score);
 resetOptions();
 //Chose correct word
 int word=getRandomQuestion();
 answer=Words[word].english[0];
 question=Words[word].latin[0];
 int position=getRandomNumber(6);
 int i;
 for(i=0;i<6;i++)
 {
 if(i==position)
 {
 createOption(answer,false);
 }
 else
 {
 createOption(Words[getRandomWordIndex()].english[0],false);
 }
 }
 createOption(question,true);
 }
MenuState::MenuState(GameEngine& engine, sf::RenderWindow& window, bool b_replacing) : GameState(engine, window, b_replacing){

	createOption(tNewGame, 0, "New game");
	createOption(tLoadGame, 1, "Load game");
	createOption(tOptions, 2, "Options");
	createOption(tCredits, 3, "Credits");
	createOption(tExit, 4, "Exit");
}
Beispiel #5
0
Option::Ptr Group::addOption(std::string id, std::string label, fs::path icon) {
	if (m_modes.find(id) != m_modes.end()) {
		m_log->error("Option already exists");
		return Option::Ptr();
	}
	auto mode = createOption(id, label, icon);
	m_modes[id] = mode;
	m_enabledStates[id] = true;
	m_visibleStates[id] = true;
	return mode;
}
Beispiel #6
0
    void displayMainMenu()
    {
    resetOptions();
    createOption("Quit",false);
    createOption("-",false);
      createOption("Hard",false);
       createOption("Medium",false);
        createOption("Easy",false);
         createOption("-",false);
        createOption("Latin Game!",true);

    }
Beispiel #7
0
void Menu::setup_options(){
  start_option = createOption(msNULL);
  start_option->init("Press Start", 20, 0, 300);
  start_option->align(
    Sprite::HCENTER
  );
  setIndicatorPos(start_option);
  start_option->press_func[bSTART] = [&](){state = msVS;};

  vs_option = createOption(msVS);
  vs_option->init("2P Versus", 20, 0, 300);
  vs_option->align(
    Sprite::HCENTER
  );
  vs_option->press_func[bDOWN] = [&](){state = msOPTIONS;};
  vs_option->press_func[bUP] = [&](){state = msQUIT;};
  vs_option->press_func[bLK] = [&](){exit_code = gsSELECT;};

  options_option = createOption(msOPTIONS);
  options_option->init("Options", 20, 0, 325);
  options_option->align(
    Sprite::HCENTER
  );
  options_option->press_func[bDOWN] = [&](){state = msQUIT;};
  options_option->press_func[bUP] = [&](){state = msVS;};
  options_option->press_func[bLK] = [&](){exit_code = gsOPTIONS;};

  quit_option = createOption(msQUIT);
  quit_option->init("Quit", 20, 0, 350);
  quit_option->align(
    Sprite::HCENTER
  );
  quit_option->press_func[bDOWN] = [&](){state = msVS;};
  quit_option->press_func[bUP] = [&](){state = msOPTIONS;};
  quit_option->press_func[bLK] = [&](){exit_code = gsQUIT;};
}
Beispiel #8
0
 void showScore()
 {
 questionnum=0;
 resetOptions();
 createOption("Return to menu",false);
 createOption("-",false);
 createOption("100",true);
 createOption("Out of a possible:",false);
 char scorestore[6];
 char* scorestr=(char*)scorestore;
 scorestr=displayscore(score);
 createOption(scorestr,true);
 createOption("You scored:",false);
 createOption("Finished!",false);
 }
Beispiel #9
0
 void createSimilarWord(char* comparison)
    {
    int curindex=0;
    int number_loops=0;
    float threshold=0.9;
    bool found=false;
    while(!found)
    {
    curindex=getRandomWordIndex();
    number_loops++;
        if(number_loops>100)//decrease threshold amount every 100 attempts
        {
        threshold-=0.1;
        number_loops=0;
        }

    //printf("new word\n"); //check to see if the word is similar enough
    int i;
    for(i=0;i<Words[curindex].numlatin;i++)
    {
    float similarity=getSimilarity(Words[curindex].latin[i],comparison);
    //printf("%f similarity, %f threshold\n",similarity, threshold);
    if(similarity>threshold)
    {
    found=true;
    break;
    }
    }



    if(found)
    {
    createOption(Words[curindex].english[getRandomNumber(Words[curindex].numenglish)],false);//create the word as an option
    found=true;
    }
    else
    {
    usednum--;//That word is not used;
    }
    }
    }
Beispiel #10
0
ColorProfile::ColorProfile(std::string name) {
	//TODO all strings should be const static std::string
	if (name == NIGHT) {
		BackgroundColorOption = createOption(name, "Background", 0, 0, 0);
		myColorOptions["background"] = BackgroundColorOption;
		RegularTextColorOption = createOption(name, "Text", 192,192,192);
		myColorOptions["internal"] = createOption(name, "Hyperlink", 60, 142, 224);
		myColorOptions["external"] = createOption(name, "ExternalHyperlink", 60, 142, 224);
		myColorOptions["book"] = createOption(name, "BookHyperlink", 60, 142, 224);
		myColorOptions[ZLTextStyle::SELECTION_BACKGROUND] = createOption(name, "SelectionBackground", 82, 131, 194);
		myColorOptions[ZLTextStyle::HIGHLIGHTED_TEXT] = createOption(name, "SelectedText",  255, 255, 220);
		myColorOptions[ZLTextStyle::TREE_LINES] = createOption(name, "TreeLines", 127, 127, 127);
	} else {
		BackgroundColorOption = createOption(name, "Background", 255, 255, 255);
		myColorOptions["background"] = BackgroundColorOption;
		RegularTextColorOption = createOption(name, "Text", 0,0,0);
		myColorOptions["internal"] = createOption(name, "Hyperlink", 33, 96, 180);
		myColorOptions["external"] = createOption(name, "ExternalHyperlink", 33, 96, 180);
		myColorOptions["book"] = createOption(name, "BookHyperlink", 23, 68, 128);
		myColorOptions[ZLTextStyle::SELECTION_BACKGROUND] = createOption(name, "SelectionBackground", 82, 131, 194);
		myColorOptions[ZLTextStyle::HIGHLIGHTED_TEXT] = createOption(name, "SelectedText",  60, 139, 255);
		myColorOptions[ZLTextStyle::TREE_LINES] = createOption(name, "TreeLines", 127, 127, 127);
	}
}
Beispiel #11
0
void addOption(optionTable* ot, char* name, optionType optiontype, char* p, unsigned int n, char* description)
{
    option* o= createOption(name, optiontype, p, n, description);
    o->next= ot->optionList;
    ot->optionList= o;
}
Beispiel #12
0
bool OutputOptions::createOption(const QString& optionName, const QString& optionType, const QString& allowValues,
				 const QString& defaultValue, const QString& description)
{
	return createOption(optionName, optionString2Type(optionType), allowValues, defaultValue, description);

}
Beispiel #13
0
bool OutputOptions::createDefaultOptions()
{
	m_list.clear();
	m_type.clear();
	m_default.clear();
	m_allow.clear();
	createOption("ColumnStyle", Boolean, "", "false", "");
	createOption("SymbolicNag", Boolean, "", "false", "");
	createOption("TextWidth", Integer, "0:200", "80", "");
	createOption("VariationIndentLevel", Integer, "1:200", "4", "");
	createOption("VariationIndentSize", Integer, "1:10", "3", "");
    createOption("CommentIndent", String, "Always|OnlyMainline|Never", "Never", "");

	createOption("MainLineMoveColor", Color, "", "black", "");
	createOption("VariationColor", Color, "", "blue", "");
	createOption("CommentColor", Color, "", "green", "");
	createOption("NagColor", Color, "", "red", "");
	createOption("HeaderColor", Color, "", "blue", "");
	createOption("ShowHeader", Boolean, "", "true", "");
	return true;
}
Beispiel #14
0
DrMain* Foomatic2Loader::modifyDriver( DrMain *driver ) const
{
	if ( !m_foodata.isEmpty() )
	{
		QValueList<DrBase*> optList;
		DrGroup *grp = NULL;

		QVariant V = m_foodata.find( "VAR" ).data();
		if ( !V.isNull() && V.type() == QVariant::Map )
		{
			QVariant v = V.mapFind( "args" ).data();
			if ( !v.isNull() && v.type() == QVariant::List )
			{
				QValueList<QVariant>::ConstIterator it = v.listBegin();
				for ( ; it!=v.listEnd(); ++it )
				{
					if ( ( *it ).type() != QVariant::Map )
						continue;
					DrBase *opt = createOption( ( *it ).toMap() );
					if ( opt )
						optList.append( opt );
					else
						kdWarning( 500 ) << "Failed to create option: " << ( *it ).toMap()[ "name" ].toString() << endl;
				}
			}
			else
			{
				v = V.mapFind( "args_byname" ).data();
				if ( !v.isNull() && v.type() == QVariant::Map )
				{
					QMap<QString,QVariant>::ConstIterator it = v.mapBegin();
					for ( ; it!=v.mapEnd(); ++it )
					{
						if ( ( *it ).type() != QVariant::Map )
							continue;
						DrBase *opt = createOption( ( *it ).toMap() );
						if ( opt )
							optList.append( opt );
						else
							kdWarning( 500 ) << "Failed to create option: " << ( *it ).toMap()[ "name" ].toString() << endl;
					}
				}
			}
		}

		for ( QValueList<DrBase*>::ConstIterator it=optList.begin(); it!=optList.end(); ++it )
		{
			DrBase *opt = ( *it );
			if ( opt )
			{
				switch ( opt->type() )
				{
					case DrBase::List:
					case DrBase::Boolean:
						delete opt;
						break;
					default:
						{
							if ( !grp )
							{
								grp = new DrGroup;
								grp->set( "text", i18n( "Adjustments" ) );
								driver->addGroup( grp );
							}
							DrBase *oldOpt = driver->findOption( opt->name() );
							if ( oldOpt && oldOpt->type() == DrBase::List )
							{
								QPtrListIterator<DrBase> it( *( static_cast<DrListOption*>( oldOpt )->choices() ) );
								QString fixedvals;
								for ( ; it.current(); ++it )
								{
									fixedvals.append( it.current()->name() );
									if ( !it.atLast() )
										fixedvals.append( "|" );
								}
								opt->set( "fixedvals", fixedvals );
							}
							driver->removeOptionGlobally( opt->name() );
							grp->addOption( opt );
							break;
						}
				}
			}
		}
	}
	return driver;
}
Beispiel #15
0
DrMain* Foomatic2Loader::buildDriver() const
{
	if ( m_foodata.isEmpty() )
		return NULL;

	QVariant v = m_foodata.find( "VAR" ).data();
	if ( !v.isNull() && v.type() == QVariant::Map )
	{
		DrMain *driver = new DrMain;
		QMap<QString,DrGroup*> groups;
		driver->set( "manufacturer", v.mapFind( "make" ).data().toString() );
		driver->set( "model", v.mapFind( "model" ).data().toString() );
		driver->set( "matic_printer", v.mapFind( "id" ).data().toString() );
		driver->set( "matic_driver", v.mapFind( "driver" ).data().toString() );
		driver->set( "text", QString( "%1 %2 (%3)" ).arg( driver->get( "manufacturer" ) ).arg( driver->get( "model" ) ).arg( driver->get( "matic_driver" ) ) );
		if ( m_foodata.contains( "POSTPIPE" ) )
			driver->set( "postpipe", m_foodata.find( "POSTPIPE" ).data().toString() );
		v = v.mapFind( "args" ).data();
		if ( !v.isNull() && v.type() == QVariant::List )
		{
			QValueList<QVariant>::ConstIterator it = v.listBegin();
			for ( ; it!=v.listEnd(); ++it )
			{
				if ( ( *it ).type() != QVariant::Map )
					continue;
				DrBase *opt = createOption( ( *it ).toMap() );
				if ( opt )
				{
					QString group = DrGroup::groupForOption( opt->name() );
					DrGroup *grp = NULL;
					if ( !groups.contains( group ) )
					{
						grp = new DrGroup;
						grp->set( "text", group );
						driver->addGroup( grp );
						groups.insert( group, grp );
					}
					else
						grp = groups[ group ];
					grp->addOption( opt );
					if ( opt->name() == "PageSize" )
					{
						// try to add the corresponding page sizes
						QVariant choices = ( *it ).mapFind( "vals_byname" ).data();
						QRegExp re( "(\\d+) +(\\d+)" );
						if ( choices.type() == QVariant::Map )
						{
							QMap<QString,QVariant>::ConstIterator it = choices.mapBegin();
							for ( ; it!=choices.mapEnd(); ++it )
							{
								QString driverval = ( *it ).mapFind( "driverval" ).data().toString();
								if ( re.exactMatch( driverval ) )
								{
									driver->addPageSize( new DrPageSize( it.key(), re.cap( 1 ).toInt(), re.cap( 2 ).toInt(), 36, 24, 36, 24 ) );
								}
							}
						}
					}
				}
				else
					kdWarning( 500 ) << "Failed to create option: " << ( *it ).toMap()[ "name" ].toString() << endl;
			}
		}
		return driver;
	}
	return NULL;
}