Coder Social home page Coder Social logo

jeopardy's Introduction

Jeopardy

Description

  • Implementation of well known Jeopardy! quiz show in C++ with Qt.

Features

  • up to 9 players
  • sound
  • colors
  • names
  • choose own key to answer (Press key on game field to check functionality)
  • right click context menu includes
    • random generator to pick random user (Press "r" on game field for same functionality)
    • load/save game state
    • player name and points editor
    • early round ending option
    • round reset
  • automated game state backup after each answer
    • backups can be found in gameStates/backups/
    • backups ordered by round and unix timestamp
  • formatted text, sound, images and videos as answer
    • see answers/README or wiki for further instructions
    • images and videos will be resized if too big
    • sound and videos will stop after 30 seconds (normal answer time)
    • Press Shift to restart sound or video
  • double jeopardy questions
    • see answers/README or wiki for further instructions
  • maybe more...

Todo

  • better score system
  • smoother design
  • ...little here and there

Software used

  • gcc 4.7.0
  • Qt 4.8.1
  • phonon

Install

Linux:

  • Install qt4 SDK and libphonon-dev
  • qmake (or qmake-qt4)
  • make

Windows:

Play

  • Edit answers/roundnumber.jrf
    • see answers/README or wiki for further instructions
  • Choose round to play
  • Enter names, keys and colors of players
  • Select question

Screenshots

Main:

Player:

Colored game field:

Bugs? Feature requests? Have some Beer?

Don't hesitate to contact me!

jeopardy's People

Contributors

bluec0re avatar chlange avatar derivator avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

jeopardy's Issues

Round file template system

Invent or find a new and self-explanatory template system for the round files.

I'm quite happy with the current one however it could get more coherent.

[Usability] Empty Player-Names

When setting the players for a new round and accidentally leaving a players name empty, the setup just quits completely without any warning. Maybe it would be better to give a little visual hint that the name is compulsory. (maybe put a red border around the input field if nothing was entered or something...)

Unnecessary memory usage by me (especially at the sound section)

Using pmap -x pgrep jeopardy``

Executing jeopardy

       total kB   48032

Selecting round one WITHOUT sound, 5 categories and 3 players

      total kB   51056

Answered one question WITHOUT sound

      total kB   52848

Selecting round one WITH sound, 5 categories and 3 players

      total kB   98144

Answered one question WITH sound

      total kB  113368

Compilation on Linux Mint / Xubuntu

Building jeopardy on Linux Mint 13 or Xubuntu 12.04 dies with the following errors (tested with e2892e6):

$ make
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_PHONON_LIB -DQT_MULTIMEDIA_LIB -DQT_XMLPATTERNS_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtMultimedia -I/usr/include/phonon -I/usr/include/qt4 -I/usr/include/qt4/QtTest -I/usr/include/qt4/phonon_compat -I. -I. -o moc_podium.o moc_podium.cpp
moc_podium.cpp:2:1: Fehler: »QT_BEGIN_MOC_NAMESPACE« bezeichnet keinen Typ
moc_podium.cpp:23:7: Fehler: »QMetaObject« bezeichnet keinen Typ
moc_podium.cpp:32:7: Fehler: »QMetaObject« bezeichnet keinen Typ
moc_podium.cpp:37:7: Fehler: »Podium« wurde nicht deklariert
moc_podium.cpp: In Funktion »void* qt_metacast(const char*)«:
moc_podium.cpp:40:51: Fehler: »strcmp« wurde in diesem Gültigkeitsbereich nicht definiert
moc_podium.cpp:41:47: Fehler: expected type-specifier before »Podium«
moc_podium.cpp:41:47: Fehler: expected »>« before »Podium«
moc_podium.cpp:41:47: Fehler: expected »(« before »Podium«
moc_podium.cpp:41:47: Fehler: »Podium« wurde in diesem Gültigkeitsbereich nicht definiert
moc_podium.cpp:41:54: Fehler: expected primary-expression before »>« token
moc_podium.cpp:41:56: Fehler: ungültige Verwendung von »this« in Nicht-Element-Funktion
moc_podium.cpp:41:62: Fehler: expected »)« before »;« token
moc_podium.cpp:42:12: Fehler: »QDialog« wurde nicht deklariert
moc_podium.cpp: Im globalen Gültigkeitsbereich:
moc_podium.cpp:45:5: Fehler: »Podium« wurde nicht deklariert
moc_podium.cpp:45:25: Fehler: »QMetaObject« wurde nicht deklariert
moc_podium.cpp:45:47: Fehler: expected primary-expression before »int«
moc_podium.cpp:45:56: Fehler: expected primary-expression before »void«
moc_podium.cpp:45:65: Fehler: Ausdrucksliste als zusammengesetzten Ausdruck in Initialisierung behandelt [-fpermissive]
moc_podium.cpp:46:1: Fehler: expected »,« or »;« before »{« token
moc_podium.cpp:52:1: Fehler: »QT_END_MOC_NAMESPACE« bezeichnet keinen Typ
moc_podium.cpp: In Funktion »void* qt_metacast(const char*)«:
moc_podium.cpp:43:1: Warnung: Kontrollfluss erreicht Ende von Nicht-void-Funktion [-Wreturn-type]
make: *** [moc_podium.o] Fehler 1

Btw I flattred your project.

No such file or directory: #include <phonon/phonon>

Concering the includes in answer.h & jeopardy.h:

Under Archlinux (with Gnome 3), /usr/lib/phonon/phonon does not exist. I looked into that file under Ubuntu 11.10 (installing qtcreator, phonon and libphonon-dev) and saw that it just contains includes for the other phonon header files. Afaik you only need to include phonon/mediaobject.h, which works fine under Ubuntu as well as Archlinux?

You also might want tp add a notice to your readme that phonon (and under Ubuntu also libphonon-dev) must be installed, since it's not installed with qtcreator automatically.

Compiler-Error in Player constructor

In player.cpp (line 31):

    Player::Player() :
            name(NULL), points(NULL), id(NULL), key(-1)
    {

    }

I get an error while compiling:

player.cpp:32: Error:call of overloaded ‘QString(NULL)’ is ambiguous.

Since name is a QString, name("NULL") or name() seem to work.

(version info: g++ (GCC) 4.6.2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.