END_TEST START_TEST (test_conversion_options_constructor) { ConversionOption option1("key", "test", ""); fail_unless(option1.getValue() == "test"); fail_unless(option1.getType() == CNV_TYPE_STRING); ConversionOption option2("key", 1.1, ""); fail_unless(option2.getDoubleValue() == 1.1); fail_unless(option2.getType() == CNV_TYPE_DOUBLE); ConversionOption option3("key", 1.1f, ""); fail_unless(option3.getFloatValue() == 1.1f); fail_unless(option3.getType() == CNV_TYPE_SINGLE); ConversionOption option4("key", 10, ""); fail_unless(option4.getIntValue() == 10); fail_unless(option4.getType() == CNV_TYPE_INT); ConversionOption option5("key", false, ""); fail_unless(option5.getBoolValue() == false); fail_unless(option5.getType() == CNV_TYPE_BOOL); }
bool gol::RendererSFML::menu() { m_seedChoice = 0; float fontSize = 20.f; sf::Vector2f textPosition = sf::Vector2f(20.f, 20.f); sf::Text title("CONWAY'S GAME OF LIFE", m_golbalFont, fontSize + 30.f); title.setColor(sf::Color::Green); title.setPosition(sf::Vector2f(textPosition.x, textPosition.y)); sf::Text options("SELECT YOUR CHOICE :-", m_golbalFont, fontSize + 10.f); options.setColor(sf::Color::Red); options.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 70.f)); sf::Text option1("1. Blinker Seed", m_golbalFont, fontSize); option1.setColor(sf::Color::White); option1.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 120.f)); sf::Text option2("2. Toad Seed", m_golbalFont, fontSize); option2.setColor(sf::Color::White); option2.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 145.f)); sf::Text option3("3. Beacon Seed", m_golbalFont, fontSize); option3.setColor(sf::Color::White); option3.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 170.f)); sf::Text option4("4. Pulsar Seed", m_golbalFont, fontSize); option4.setColor(sf::Color::White); option4.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 195.f)); sf::Text option5("5. Glider Seed", m_golbalFont, fontSize); option5.setColor(sf::Color::White); option5.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 220.f)); sf::Text option6("6. Lightweight spaceship (LWSS) Seed", m_golbalFont, fontSize); option6.setColor(sf::Color::White); option6.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 245.f)); sf::Text option7("7. Gosper Glider Gun Seed", m_golbalFont, fontSize); option7.setColor(sf::Color::White); option7.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 270.f)); sf::Text option8("8. R-pentomino Seed", m_golbalFont, fontSize); option8.setColor(sf::Color::White); option8.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 295.f)); sf::Text option9("9. Diehard Seed", m_golbalFont, fontSize); option9.setColor(sf::Color::White); option9.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 325.f)); sf::Text option10("10. Acorn Seed", m_golbalFont, fontSize); option10.setColor(sf::Color::White); option10.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 350.f)); sf::Text option11("11. SPECIFY YOUR OWN SEED", m_golbalFont, fontSize); option11.setColor(sf::Color::White); option11.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 375.f)); sf::Text option12("12. EXIT", m_golbalFont, fontSize); option12.setColor(sf::Color::White); option12.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 400.f)); sf::Text choiceLabel("YOUR CHOICE : ", m_golbalFont, fontSize); choiceLabel.setColor(sf::Color::White); choiceLabel.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 455.f)); sf::Text choiceText("", m_golbalFont, fontSize); choiceText.setColor(sf::Color::Cyan); choiceText.setPosition(sf::Vector2f(textPosition.x + 170.f, textPosition.y + 455.f)); sf::String choiceString; sf::Text userSeedLabel("ENTER THE SEED FILE NAME : ", m_golbalFont, fontSize); userSeedLabel.setColor(sf::Color::Green); userSeedLabel.setPosition(sf::Vector2f(textPosition.x, textPosition.y + 500.f)); sf::Text userSeedText("", m_golbalFont, fontSize); userSeedText.setColor(sf::Color::Cyan); userSeedText.setPosition(sf::Vector2f(textPosition.x + 320.f, textPosition.y + 500.f)); sf::String userSeedString; std::string customSeedFile; bool isInMainMenu = true; while(m_window.isOpen()) { sf::Event event; while(m_window.pollEvent(event)) { if(event.type == sf::Event::Closed) { m_window.close(); return false; } if(event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Return) { if(m_seedChoice != 0) { if(m_seedChoice == 12) return false; else if(m_seedChoice == 11) isInMainMenu = false; else if(m_seedChoice < 11) return true; } } if(event.type == sf::Event::TextEntered && isInMainMenu) { if(event.text.unicode >= 48 && event.text.unicode <= 57) choiceString += (char)event.text.unicode; else if(event.text.unicode == 8 && choiceString.getSize() > 0) choiceString.erase(choiceString.getSize() - 1, choiceString.getSize()); choiceText.setString(choiceString); std::string str = choiceString.toAnsiString(); m_seedChoice = std::atoi(str.c_str()); } if(m_seedChoice == 11 && !isInMainMenu) { if(event.type == sf::Event::TextEntered) { if((event.text.unicode >= 32 && event.text.unicode <= 57) || (event.text.unicode >= 64 && event.text.unicode <= 126)) userSeedString += (char)event.text.unicode; else if(event.text.unicode == 8 && userSeedString.getSize() > 0) userSeedString.erase(userSeedString.getSize() - 1, userSeedString.getSize()); userSeedText.setString(userSeedString); } if(event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Return && !userSeedString.isEmpty()) { customSeedFile = userSeedString.toAnsiString(); setSeedFileName(customSeedFile); return true; } } } m_window.clear(sf::Color::Black); m_window.draw(title); m_window.draw(options); m_window.draw(option1); m_window.draw(option2); m_window.draw(option3); m_window.draw(option4); m_window.draw(option5); m_window.draw(option6); m_window.draw(option7); m_window.draw(option8); m_window.draw(option9); m_window.draw(option10); m_window.draw(option11); m_window.draw(option12); m_window.draw(choiceLabel); m_window.draw(choiceText); if(!isInMainMenu) { m_window.draw(userSeedLabel); m_window.draw(userSeedText); } m_window.display(); } }