update ColorCode plugin to the latest 0.6.1 version

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2403 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
defnax 2010-02-23 21:10:35 +00:00
parent 791f91981b
commit f56fcc40bf
41 changed files with 6043 additions and 567 deletions

View File

@ -34,8 +34,12 @@ HEADERS += about.h \
rowhint.h \
ccsolver.h \
background.h \
solrow.h
FORMS += about.ui
solutionrow.h \
graphicsbtn.h \
settings.h \
prefdialog.h
FORMS += about.ui \
prefdialog.ui
SOURCES += about.cpp \
colorcode.cpp \
colorpeg.cpp \
@ -45,14 +49,17 @@ SOURCES += about.cpp \
rowhint.cpp \
ccsolver.cpp \
background.cpp \
solrow.cpp
solutionrow.cpp \
graphicsbtn.cpp \
settings.cpp \
prefdialog.cpp
RESOURCES += resource.qrc
OTHER_FILES += docs/GPL.html
win32 {
RC_FILE = ColorCode.rc
}
win32:RC_FILE = ColorCode.rc
TRANSLATIONS += trans_de.ts \
trans_en.ts \
trans_cs.ts
trans_cs.ts \
trans_fr.ts \
trans_hu.ts
CODECFORTR = UTF-8
CODECFORSRC = UTF-8

View File

@ -4,8 +4,8 @@ qmake-qt4
make
# to install:
cp ColorCode /usr/bin/
cp colorcode /usr/bin/
# to uninstall:
rm /usr/bin/ColorCode
rm /usr/bin/colorcode

View File

@ -28,7 +28,7 @@ About::About(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f)
mAuthorText->setText("<b>" + tr("ColorCode") + "</b><br>" +
tr("A needful game to train your brain ;-)") +
tr("<br><br>Free MasterMind clone including a built in,<br>rather intelligent solver.") +
"<br><br>" + tr("Version") + ": 0.5.5<br>" + tr("Author") + ": Dirk Laebisch");
"<br><br>" + tr("Version") + ": 0.6.1<br>" + tr("Author") + ": Dirk Laebisch");
QString license_file = ":/docs/GPL.html";
if (QFile::exists(license_file))

View File

@ -24,6 +24,7 @@ using namespace std;
BackGround::BackGround(QObject*)
{
setCacheMode(QGraphicsItem::DeviceCoordinateCache);
setAcceptedMouseButtons(0);
QLinearGradient topgrad(0, 16, 0, 129);
topgrad.setColorAt(0.0, QColor(0xf8, 0xf8, 0xf8));

View File

@ -17,9 +17,14 @@
*/
#include "ccsolver.h"
#include <time.h>
using namespace std;
const int CCSolver::STRENGTH_LOW = 0;
const int CCSolver::STRENGTH_MEDIUM = 1;
const int CCSolver::STRENGTH_HIGH = 2;
const int CCSolver::mFGCnts[4][9][4] = {
{
{2, 0, 0, 0},
@ -440,7 +445,7 @@ string CCSolver::FirstGuess()
if (pegcnt != mPegCnt)
{
;
//
}
if (mPegCnt > 2 && diffcnt > 1)
@ -479,7 +484,7 @@ int CCSolver::Guess()
clock_t start, finish;
start = clock();
if (mGuessCnt == 0 && mRestartCnt == 0)
if (mLevel > STRENGTH_LOW && mGuessCnt == 0 && mRestartCnt == 0)
{
return Row2Ix(FirstGuess());
}
@ -487,14 +492,14 @@ int CCSolver::Guess()
mBusy = true;
int level = mLevel;
if (level == 2 && mPosCnt > 10000)
if (level == STRENGTH_HIGH && mPosCnt > 10000)
{
level = 1;
level = STRENGTH_MEDIUM;
}
int i, j;
if (level == 0)
if (level == STRENGTH_LOW)
{
for (i = 0; i < mAllCnt; ++i)
{
@ -504,7 +509,7 @@ int CCSolver::Guess()
}
}
}
else if (level == 1)
else if (level == STRENGTH_MEDIUM)
{
int m = mPosCnt >> 1;
for (i = 0; i < mAllCnt; ++i)
@ -616,7 +621,6 @@ int CCSolver::Row2Ix(const vector<int>* v)
{
return ix;
}
return -1;
}
@ -647,7 +651,6 @@ int CCSolver::Row2Ix(const string str)
{
return ix;
}
return -1;
}

View File

@ -27,6 +27,10 @@ using namespace std;
class CCSolver
{
public:
static const int STRENGTH_LOW;
static const int STRENGTH_MEDIUM;
static const int STRENGTH_HIGH;
CCSolver(ColorCode* cc);
~CCSolver();

View File

@ -1,3 +1,32 @@
* 0.6.1 released, February 16, 2010
* Translation
- Added french translation - thanks to Filippo Rusconi.
* 0.6.0 released, February 14, 2010
* Summary
- Second game mode (Computer vs. Human)
- Preferences dialog for persistent settings
- Additional settings options
* Preferences dialog
- To examine all available settings options, a preferences dialog has been introduced.
- The chosen preferences/settings are now persistent, so when starting the application,
the last used settings are applied.
* Settings options
- Game modes (Human vs Computer or Computer versus Human)
- To get a fair chance you may select a weaker solver strength level for your computer
opponent ;-)
- Let an impartial part :-) of your computer determine the corresponding hints for the
computer's guess. This option affects only Computer vs. Human games. If checked, you
only have to place your secret combination. Then the rest of the game runs automatically
until the end.
- To better watch your computer trying hard to break your code, you may
define a timeout between the guesses
- Select letters or numbers as text indicators and - if convenient - do
not use colors as indicators at all - but it's still ColorCode ;-)
* Layout/Design
- Some minor changes and new buttons for the second game mode.
* 0.5.5 released, October 31, 2009
* Summary
- Accessibility and usability improvements

File diff suppressed because it is too large Load Diff

View File

@ -38,13 +38,16 @@ class QGraphicsItem;
class QGraphicsTextItem;
class QGraphicsScene;
class QGraphicsView;
class PrefDialog;
class Settings;
class CCSolver;
class ColorPeg;
class PegRow;
class RowHint;
class Msg;
class BackGround;
class SolRow;
class SolutionRow;
class GraphicsBtn;
class ColorCode : public QMainWindow
{
@ -58,12 +61,20 @@ class ColorCode : public QMainWindow
static const int STATE_WON;
static const int STATE_LOST;
static const int STATE_GAVE_UP;
static const int STATE_ERROR;
static const int MODE_HVM;
static const int MODE_MVH;
static const int MAX_COLOR_CNT;
static const int LEVEL_SETTINGS[5][3];
int ROW_CNT;
int ROW_Y0;
Settings* mSettings;
public slots:
void PegPressSlot(ColorPeg *cp);
void PegSortSlot(ColorPeg* cp);
@ -73,6 +84,10 @@ class ColorCode : public QMainWindow
void ShowMsgSlot(QString msg);
void RemovePegSlot(ColorPeg* cp);
void DoneBtnPressSlot(GraphicsBtn* btn = NULL);
void ApplyPreferencesSlot();
protected :
void resizeEvent(QResizeEvent* e);
void contextMenuEvent(QContextMenuEvent* e);
@ -88,32 +103,45 @@ class ColorCode : public QMainWindow
void OnlineHelpSlot();
void AboutSlot();
void AboutQtSlot();
void OpenPreferencesSlot();
void ShowToolbarSlot();
void ShowMenubarSlot();
void ShowStatusbarSlot();
void ResetColorsOrderSlot();
void ShowLetterSlot();
void SetIndicators();
void SameColorSlot(bool checked);
void SetSameColor(bool checked);
void AutoCloseSlot();
void ForceLevelSlot();
void AutoHintsSlot();
void SetLevelSlot();
void SetGameModeSlot();
void RandRowSlot();
void PrevRowSlot();
void ClearRowSlot();
void mColorCntChangedSlot();
void ColorCntChangedSlot();
void PegCntChangedSlot();
void UpdateRowMenuSlot();
void GetGuessSlot();
void SetGuessSlot();
void SetHintsSlot();
void SetAutoHintsSlot();
void TestSlot();
private:
static const int mLevelSettings[5][3];
static const int LAYER_BG;
static const int LAYER_ROWS;
static const int LAYER_HINTS;
static const int LAYER_SOL;
static const int LAYER_MSG;
static const int LAYER_PEGS;
static const int LAYER_BTNS;
static const int LAYER_DRAG;
static int mGameMode;
static int mLevel;
static int mColorCnt;
static int mPegCnt;
@ -126,6 +154,9 @@ class ColorCode : public QMainWindow
int mGameState;
int mGameId;
int mGuessCnt;
int mGameCnt;
bool mHideColors;
int mSolverStrength;
std::vector<int> mSolution;
@ -136,12 +167,15 @@ class ColorCode : public QMainWindow
CCSolver* mSolver;
Msg* mMsg;
BackGround* mBg;
GraphicsBtn* mDoneBtn;
GraphicsBtn* mOkBtn;
PrefDialog* mPrefDialog;
PegRow* mCurRow;
std::vector<ColorPeg *> mAllPegs;
std::vector<ColorPeg *> mPegBuff;
SolRow* mSolRow;
SolutionRow* mSolutionRow;
PegRow* mPegRows[10];
RowHint* mHintBtns[10];
@ -149,38 +183,56 @@ class ColorCode : public QMainWindow
QRadialGradient mGradMap[10];
QRadialGradient mGradBuff[10];
ColorPeg* mPegBtns[10];
ColorPeg** mSolPegs;
QPoint mBtnPos[10];
QTimer* mHintsDelayTimer;
void InitTypesMap();
void InitSolution();
void InitActions();
void InitMenus();
void InitToolBars();
void CreatePrefDialog();
void ApplySettings();
bool NeedsRestart() const;
void TryNewGame();
void SetGameMode();
void SetPegCnt();
void SetColorCnt();
void ApplyGameMode();
void ApplyPegCnt();
void ApplyColorCnt();
void ApplySolverStrength();
void CheckLevel();
void CheckSameColorsSetting();
void SetState(const int s);
void ResetGame();
void NewGame();
void SetSolution();
void GetSolution();
void ShowSolution();
void NextRow();
void ResolveRow();
std::vector<int> RateSol2Guess(const std::vector<int> sol, const std::vector<int> guess);
void ResolveHints();
void ResolveGame();
bool GamesRunning();
void Scale();
ColorPeg* CreatePeg(int ix);
void RemovePeg(ColorPeg* cp);
QMenu* GameMenu;
QMenu* RowMenu;
QMenu* SettingsMenu;
QMenu* LevelMenu;
QMenu* HelpMenu;
QMenu* RowContextMenu;
QMenu* mMenuGame;
QMenu* mMenuRow;
QMenu* mMenuRowContext;
QMenu* mMenuSettings;
QMenu* mMenuModes;
QMenu* mMenuLevels;
QMenu* mMenuHelp;
QMenuBar* mMenuBar;
QToolBar* mGameToolbar;
QToolBar* mLevelToolbar;
@ -189,24 +241,31 @@ class ColorCode : public QMainWindow
QComboBox* mPegCntCmb;
QLabel* mStatusLabel;
QActionGroup* mLevelActions;
QAction* NewGameAction;
QAction* RestartGameAction;
QAction* GiveInAction;
QAction* ShowToolbarAction;
QAction* ShowMenubarAction;
QAction* ShowStatusbarAction;
QAction* SameColorAction;
QActionGroup* mActGroupLevels;
QActionGroup* mActGroupModes;
QAction* mActNewGame;
QAction* mActRestartGame;
QAction* mActGiveIn;
QAction* mActShowToolbar;
QAction* mActShowMenubar;
QAction* mActShowStatusbar;
QAction* mActSameColor;
QAction* mActResetColorsOrder;
QAction* mActShowLetter;
QAction* mActSameColorIcon;
QAction* AutoCloseAction;
QAction* AboutAction;
QAction* AboutQtAction;
QAction* ExitAction;
QAction* mActAutoClose;
QAction* mActAutoHints;
QAction* mActPreferences;
QAction* mActAbout;
QAction* mActAboutQt;
QAction* mActExit;
QAction* mActSetPegCnt;
QAction* mActModeHvM;
QAction* mActModeMvH;
QAction* mActLevelEasy;
QAction* mActLevelClassic;
QAction* mActLevelMedium;
@ -214,11 +273,12 @@ class ColorCode : public QMainWindow
QAction* mActLevelHard;
QAction* mLaunchHelpAction;
QAction* RandRowAction;
QAction* PrevRowAction;
QAction* ClearRowAction;
QAction* mActRandRow;
QAction* mActPrevRow;
QAction* mActClearRow;
QAction* mActGetGuess;
QAction* mActSetGuess;
QAction* mActSetHints;
};
#endif // COLORCODE_H

View File

@ -26,6 +26,7 @@ const QFont ColorPeg::mFont = ColorPeg::GetLetterFont();
const QBrush ColorPeg::mShadowBrush = ColorPeg::GetShadowBrush();
const QBrush ColorPeg::mOutlineBrush = ColorPeg::GetOutlineBrush();
const QBrush ColorPeg::mGlossyBrush = ColorPeg::GetGlossyBrush();
const QBrush ColorPeg::mNeutralBrush = ColorPeg::GetNeutralBrush();
QFont ColorPeg::GetLetterFont()
{
@ -35,6 +36,15 @@ QFont ColorPeg::GetLetterFont()
return lf;
}
QBrush ColorPeg::GetNeutralBrush()
{
QRadialGradient rgrad(20, 20, 40, 5, 5);
rgrad.setColorAt(0.0, QColor(0xff, 0xff, 0xff, 0xff));
rgrad.setColorAt(1.0, QColor(0x80, 0x80, 0x80, 0xff));
return QBrush(rgrad);
}
QBrush ColorPeg::GetShadowBrush()
{
QRadialGradient rgrad(22, 22, 22, 22, 22);
@ -68,7 +78,8 @@ ColorPeg::ColorPeg(QObject*)
mPegRow = NULL;
SetBtn(true);
mIsDragged = false;
mShowLetter = false;
mShowIndicator = false;
mHideColor = false;
mSort = 0;
mId = -1;
}
@ -150,11 +161,13 @@ void ColorPeg::SetEnabled(const bool b)
SetCursorShape();
}
void ColorPeg::ShowLetter(const bool b)
void ColorPeg::SetIndicator(const bool b, const int t, const bool c)
{
if (mShowLetter != b)
if (mShowIndicator != b || mIndicatorType != t || mHideColor != c)
{
mShowLetter = b;
mShowIndicator = b;
mIndicatorType = t;
mHideColor = c;
update(boundingRect());
}
}
@ -294,16 +307,34 @@ void ColorPeg::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*optio
painter->translate(QPointF(2, 2));
}
painter->setBrush(QBrush(*mPegType->grad));
painter->drawEllipse(GetColorRect());
if (!mHideColor)
{
painter->setBrush(QBrush(*mPegType->grad));
painter->drawEllipse(GetColorRect());
}
else
{
painter->setBrush(mNeutralBrush);
painter->drawEllipse(GetColorRect());
}
painter->setBrush(mGlossyBrush);
painter->drawEllipse(QRectF(5, 3, 24, 20));
if (mShowLetter)
if (mShowIndicator)
{
painter->setPen(QPen(QColor("#303133")));
painter->setRenderHint(QPainter::TextAntialiasing, true);
painter->setFont(mFont);
painter->drawText(QRectF(1.5, 2.0, 32.0, 32.0), Qt::AlignCenter, QString(mPegType->let));
QString ind;
if (mIndicatorType == Settings::INDICATOR_LETTER)
{
ind = QString(mPegType->let);
}
else
{
ind.setNum((mPegType->ix + 1));
}
painter->drawText(QRectF(1.5, 2.0, 32.0, 32.0), Qt::AlignCenter, ind);
}
}

View File

@ -28,6 +28,7 @@
#include "colorcode.h"
#include "pegrow.h"
#include "rowhint.h"
#include "settings.h"
class ColorPeg : public QObject, public QGraphicsItem
@ -50,7 +51,7 @@ public:
void SetType(const int t);
void SetEnabled(const bool b);
void ShowLetter(const bool b);
void SetIndicator(const bool b, const int t, const bool c);
void SetCursorShape( Qt::CursorShape shape = Qt::ArrowCursor, const bool force = false);
PegType* GetPegType();
int GetType() const;
@ -83,6 +84,8 @@ private:
static QBrush GetOutlineBrush();
static const QBrush mGlossyBrush;
static QBrush GetGlossyBrush();
static const QBrush mNeutralBrush;
static QBrush GetNeutralBrush();
QRectF GetColorRect() const;
QRectF outlineRect() const;
@ -96,7 +99,9 @@ private:
int mSort;
bool mIsBtn;
bool mIsDragged;
bool mShowLetter;
bool mShowIndicator;
int mIndicatorType;
bool mHideColor;
};

View File

@ -0,0 +1,151 @@
/* ColorCode, a free MasterMind clone with built in solver
* Copyright (C) 2009 Dirk Laebisch
* http://www.laebisch.com/
*
* ColorCode is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* ColorCode is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with ColorCode. If not, see <http://www.gnu.org/licenses/>.
*/
#include <QtGui>
#include <QFontMetrics>
#include "graphicsbtn.h"
using namespace std;
GraphicsBtn::GraphicsBtn()
{
mWidth = 152;
setCursor(Qt::PointingHandCursor);
setAcceptHoverEvents (true);
mLabel = "";
mLabelWidth = 0;
mYOffs = 0;
InitGraphics();
SetShapes();
mFillBrush = &mFillOutBrush;
mFrameBrush = &mFrameOutBrush;
mFont = QFont("Arial", 12, QFont::Bold, false);
mFont.setStyleHint(QFont::SansSerif);
mFont.setStyleStrategy(QFont::PreferAntialias);
}
void GraphicsBtn::SetWidth(int w)
{
mWidth = w;
SetShapes();
}
void GraphicsBtn::SetLabel(QString str)
{
mLabel = str;
}
void GraphicsBtn::ShowBtn(bool b)
{
if (b)
{
mFillBrush = &mFillOutBrush;
mFrameBrush = &mFrameOutBrush;
}
setVisible(b);
}
void GraphicsBtn::hoverEnterEvent(QGraphicsSceneHoverEvent* e)
{
mFillBrush = &mFillOverBrush;
QGraphicsItem::hoverEnterEvent(e);
}
void GraphicsBtn::hoverLeaveEvent(QGraphicsSceneHoverEvent* e)
{
mFillBrush = &mFillOutBrush;
QGraphicsItem::hoverLeaveEvent(e);
}
void GraphicsBtn::mousePressEvent(QGraphicsSceneMouseEvent*)
{
mFrameBrush = &mFrameOverBrush;
mYOffs = 1;
update(mRect);
}
void GraphicsBtn::mouseReleaseEvent(QGraphicsSceneMouseEvent* e)
{
mFrameBrush = &mFrameOutBrush;
mYOffs = 0;
if ( e->pos().x() >= 0
&& e->pos().x() <= boundingRect().width()
&& e->pos().y() >= 0
&& e->pos().y() <= boundingRect().height() )
{
emit BtnPressSignal(this);
}
update(mRect);
}
void GraphicsBtn::InitGraphics()
{
QLinearGradient fillgrad(0, 2, 0, 36);
fillgrad.setColorAt(0.0, QColor("#f7f8fa"));
fillgrad.setColorAt(0.5, QColor("#b9babc"));
mFillOutBrush = QBrush(fillgrad);
QLinearGradient fillovergrad(0, 2, 0, 36);
fillovergrad.setColorAt(0.0, QColor("#f7f8fa"));
fillovergrad.setColorAt(1.0, QColor("#b9babc"));
mFillOverBrush = QBrush(fillovergrad);
QLinearGradient framegrad(0, 0, 0, 40);
framegrad.setColorAt(1.0, QColor(0, 0, 0, 0xa0));
framegrad.setColorAt(0.0, QColor(0xff, 0xff, 0xff, 0xa0));
mFrameOutBrush = QBrush(framegrad);
QLinearGradient frameovergrad(0, 0, 0, 40);
frameovergrad.setColorAt(0.0, QColor(0, 0, 0, 0xa0));
frameovergrad.setColorAt(1.0, QColor(0xff, 0xff, 0xff, 0xa0));
mFrameOverBrush = QBrush(frameovergrad);
}
void GraphicsBtn::SetShapes()
{
mRect = QRectF(0, 0, mWidth, 38);
mRectFill = QRectF(1, 1, mWidth - 2, 36);
}
QRectF GraphicsBtn::boundingRect() const
{
const double margin = 0.5;
return mRect.adjusted(-margin, -margin, 2 * margin, 2 * margin);
}
void GraphicsBtn::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget* /* widget */)
{
painter->setPen(Qt::NoPen);
painter->setBrush(*mFrameBrush);
painter->drawRoundedRect(mRect, 20, 20);
painter->setBrush(*mFillBrush);
painter->drawRoundedRect(mRectFill, 18, 18);
if (mLabel != "")
{
painter->setRenderHint(QPainter::TextAntialiasing, true);
painter->setPen(QPen(QColor("#303133")));
painter->setFont(mFont);
painter->drawText(mRectFill.adjusted(0, mYOffs, 0, mYOffs), Qt::AlignCenter, mLabel);
}
}

View File

@ -0,0 +1,76 @@
/* ColorCode, a free MasterMind clone with built in solver
* Copyright (C) 2009 Dirk Laebisch
* http://www.laebisch.com/
*
* ColorCode is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* ColorCode is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with ColorCode. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef GRAPHICSBTN_H
#define GRAPHICSBTN_H
#include <QObject>
#include <QGraphicsItem>
#include <QColor>
#include <QPen>
#include <QFont>
#include <QRadialGradient>
#include <iostream>
class GraphicsBtn : public QObject, public QGraphicsItem
{
Q_OBJECT
public:
GraphicsBtn();
void SetWidth(int w);
void SetLabel(QString str);
void ShowBtn(bool b);
void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);
QRectF boundingRect() const;
signals:
void BtnPressSignal(GraphicsBtn* btn);
protected:
void hoverEnterEvent(QGraphicsSceneHoverEvent* e);
void hoverLeaveEvent(QGraphicsSceneHoverEvent* e);
void mousePressEvent(QGraphicsSceneMouseEvent* e);
void mouseReleaseEvent(QGraphicsSceneMouseEvent* e);
virtual void InitGraphics();
virtual void SetShapes();
QString mLabel;
int mWidth;
int mLabelWidth;
int mYOffs;
QRectF mRect;
QRectF mRectFill;
QRectF mIconRect;
QBrush mFillOutBrush;
QBrush mFillOverBrush;
QBrush* mFillBrush;
QBrush mFrameOutBrush;
QBrush mFrameOverBrush;
QBrush* mFrameBrush;
QFont mFont;
};
#endif // GRAPHICSBTN_H

View File

@ -0,0 +1,632 @@
/* XPM */
static char * colorcode32_xpm[] = {
"32 32 597 2",
" c None",
". c #727272",
"+ c #574E49",
"@ c #52575C",
"# c #54606B",
"$ c #616D78",
"% c #757779",
"& c #86807B",
"* c #8B8B8B",
"= c #929292",
"- c #939393",
"; c #8F8F8E",
"> c #6D6E71",
", c #4D4D53",
"' c #656155",
") c #746E5D",
"! c #7C776D",
"~ c #737478",
"{ c #6D6E74",
"] c #4A4542",
"^ c #1E4C60",
"/ c #27ACDC",
"( c #20BDF8",
"_ c #1AB6F9",
": c #17A8F4",
"< c #1B97EA",
"[ c #338BD0",
"} c #768897",
"| c #8D8A88",
"1 c #9A9A9A",
"2 c #999999",
"3 c #848484",
"4 c #2E2D2F",
"5 c #9C954A",
"6 c #F5EA6B",
"7 c #FFF467",
"8 c #FFF15D",
"9 c #FDE855",
"0 c #F2D954",
"a c #C8B567",
"b c #838182",
"c c #322C2A",
"d c #23A1C1",
"e c #28DEFF",
"f c #25CCF8",
"g c #22C2F5",
"h c #20B7F2",
"i c #1EACEF",
"j c #1C9FEB",
"k c #1992E7",
"l c #1183E7",
"m c #568ABA",
"n c #94918D",
"o c #A0A0A0",
"p c #838383",
"q c #363520",
"r c #F9F67F",
"s c #FEFA80",
"t c #FBF474",
"u c #FAF06C",
"v c #F8EB62",
"w c #F8E65B",
"x c #F6E053",
"y c #F7DB4A",
"z c #F1D148",
"A c #9B9584",
"B c #4A4441",
"C c #23A0C1",
"D c #29DEFE",
"E c #27D5FB",
"F c #26CEF8",
"G c #23C4F6",
"H c #21B9F3",
"I c #1EAFF0",
"J c #1CA3EC",
"K c #1A96E9",
"L c #1789E4",
"M c #0F77E2",
"N c #5E89B5",
"O c #9D9C9B",
"P c #A5A5A5",
"Q c #A2A2A1",
"R c #2E2C21",
"S c #FFFF88",
"T c #FDFA85",
"U c #FDF87E",
"V c #FCF476",
"W c #FAF16D",
"X c #F9ED65",
"Y c #F8E75E",
"Z c #F7E156",
"` c #F5DC4E",
" . c #F4D547",
".. c #F3CE3F",
"+. c #8E8C83",
"@. c #737272",
"#. c #1E4C61",
"$. c #26D1F9",
"%. c #25CBF8",
"&. c #22C3F5",
"*. c #1FAFF0",
"=. c #1A98E9",
"-. c #188BE6",
";. c #177EE1",
">. c #0D6CDE",
",. c #8C949A",
"'. c #ADADAD",
"). c #505158",
"!. c #CCC764",
"~. c #FDFA81",
"{. c #FDF980",
"]. c #FCF77A",
"^. c #F9ED64",
"/. c #F9E85E",
"(. c #F7E257",
"_. c #F5DD50",
":. c #F4D649",
"<. c #F3CF40",
"[. c #E0C055",
"}. c #72757E",
"|. c #564E49",
"1. c #26ACDB",
"2. c #26CDF8",
"3. c #24C6F7",
"4. c #22BFF5",
"5. c #20B7F3",
"6. c #1EADF0",
"7. c #1CA2ED",
"8. c #1A97E9",
"9. c #167EE1",
"0. c #146FDD",
"a. c #517FBA",
"b. c #AAA9A8",
"c. c #AEAEAE",
"d. c #4F4C3C",
"e. c #FFFF78",
"f. c #FCF678",
"g. c #FBF36F",
"h. c #FAEF6B",
"i. c #F9EB63",
"j. c #F6E256",
"k. c #F6DC4F",
"l. c #F4D749",
"m. c #F2CF42",
"n. c #F4C831",
"o. c #948F82",
"p. c #52565B",
"q. c #20BCF8",
"r. c #22BEF5",
"s. c #21BAF3",
"t. c #1FB2F1",
"u. c #1EA8EE",
"v. c #1BA0EB",
"w. c #1A95E8",
"x. c #1788E4",
"y. c #157CE1",
"z. c #1570DC",
"A. c #256FCF",
"B. c #ABA8A3",
"C. c #9B9B9C",
"D. c #978F51",
"E. c #FDF26C",
"F. c #FAF270",
"G. c #FBF270",
"H. c #FBF16D",
"I. c #FAF06B",
"J. c #F9E960",
"K. c #F8E55A",
"L. c #F6E054",
"M. c #F3CE40",
"N. c #F3C838",
"O. c #B4A06A",
"P. c #53606B",
"Q. c #1AB7F9",
"R. c #1FB1F1",
"S. c #1EACF0",
"T. c #1DA3ED",
"U. c #1A9AEA",
"V. c #1990E7",
"W. c #1786E4",
"X. c #1678DF",
"Y. c #146EDC",
"Z. c #1161D4",
"`. c #B2AEA7",
" + c #8F8F91",
".+ c #B3A95C",
"++ c #F9EC64",
"@+ c #F9EE67",
"#+ c #FAEF69",
"$+ c #FAEE67",
"%+ c #F9EC65",
"&+ c #F9EB61",
"*+ c #F8E65C",
"=+ c #F7E357",
"-+ c #F6DE51",
";+ c #F5DA4C",
">+ c #F4D446",
",+ c #F2CD40",
"'+ c #F1C639",
")+ c #C8AD60",
"!+ c #626E78",
"~+ c #1FADF0",
"{+ c #1EA9EE",
"]+ c #1B9CEB",
"^+ c #1A93E8",
"/+ c #188BE5",
"(+ c #167FE2",
"_+ c #1575DE",
":+ c #136ADB",
"<+ c #125FD1",
"[+ c #B5B0AA",
"}+ c #9C9C9D",
"|+ c #B7AC61",
"1+ c #F9E75C",
"2+ c #F8E95F",
"3+ c #F9E95F",
"4+ c #F8E85F",
"5+ c #F7DF52",
"6+ c #F5DB4D",
"7+ c #F3D143",
"8+ c #F2CB3D",
"9+ c #F1C537",
"0+ c #C0A65E",
"a+ c #1783E3",
"b+ c #167AE0",
"c+ c #146FDC",
"d+ c #1265D9",
"e+ c #2D6BC5",
"f+ c #B9B6B2",
"g+ c #B2B2B2",
"h+ c #A89B6A",
"i+ c #F9E353",
"j+ c #F7E457",
"k+ c #F7E459",
"l+ c #F7E458",
"m+ c #F7E254",
"n+ c #F6DF52",
"o+ c #F4D849",
"p+ c #F4D345",
"q+ c #F2CE40",
"r+ c #F1C73A",
"s+ c #F3C231",
"t+ c #A9996C",
"u+ c #857F7B",
"v+ c #338CD0",
"w+ c #1991E8",
"x+ c #1A94E8",
"y+ c #1782E3",
"z+ c #167CE1",
"A+ c #1573DD",
"B+ c #0F5ED8",
"C+ c #5B7CAD",
"D+ c #C7C7C7",
"E+ c #C8C8C8",
"F+ c #8C8A84",
"G+ c #FADE4A",
"H+ c #F6DE50",
"I+ c #F6DF51",
"J+ c #F6DE52",
"K+ c #F6DD4F",
"L+ c #F5D849",
"M+ c #F3D346",
"N+ c #F3D041",
"O+ c #F2CA3D",
"P+ c #F1C538",
"Q+ c #EFBB2D",
"R+ c #8D8C89",
"S+ c #8C8C8D",
"T+ c #758796",
"U+ c #1182E7",
"V+ c #136ADA",
"W+ c #1263D8",
"X+ c #1158CC",
"Y+ c #B2B1AE",
"Z+ c #C9C9C9",
"`+ c #A5A7AB",
" @ c #CEB865",
".@ c #F5D846",
"+@ c #F5D94B",
"@@ c #F4D84A",
"#@ c #F3D447",
"$@ c #F3D244",
"%@ c #F3CE41",
"&@ c #F1C638",
"*@ c #F1C133",
"=@ c #C1A457",
"-@ c #8B8B8D",
";@ c #5689BB",
">@ c #0F78E2",
",@ c #1574DE",
"'@ c #0753D3",
")@ c #8493A8",
"!@ c #CBCBCB",
"~@ c #CACACA",
"{@ c #989899",
"]@ c #EAC84D",
"^@ c #F3D142",
"/@ c #F3D243",
"(@ c #F3D042",
"_@ c #F2CF41",
":@ c #F2CC3F",
"<@ c #F2C93B",
"[@ c #F1C539",
"}@ c #F1C234",
"|@ c #DCB13D",
"1@ c #8E8E91",
"2@ c #95918D",
"3@ c #1365D9",
"4@ c #1058CB",
"5@ c #8493A7",
"6@ c #CCCCCC",
"7@ c #9C9B9B",
"8@ c #DEBF55",
"9@ c #F5CB36",
"0@ c #F1C83B",
"a@ c #F0C338",
"b@ c #F2BE2C",
"c@ c #D1AB49",
"d@ c #949393",
"e@ c #9D9C9A",
"f@ c #527FBA",
"g@ c #1161D5",
"h@ c #1260D1",
"i@ c #2D6AC4",
"j@ c #5B7BAC",
"k@ c #B3B1AE",
"l@ c #CDCDCD",
"m@ c #CECECE",
"n@ c #CCCCCB",
"o@ c #AAABB0",
"p@ c #AFA382",
"q@ c #D5B65B",
"r@ c #E9BE3E",
"s@ c #EEBF33",
"t@ c #E6BB3B",
"u@ c #CFAD54",
"v@ c #A79B7E",
"w@ c #9A9CA0",
"x@ c #B3AEA7",
"y@ c #B5B0AB",
"z@ c #B8B6B2",
"A@ c #B1B2B5",
"B@ c #A9ABB2",
"C@ c #A6A9B1",
"D@ c #A3A5AB",
"E@ c #A8A9AB",
"F@ c #9B9C9C",
"G@ c #8F9191",
"H@ c #9C9E9E",
"I@ c #C8C7C7",
"J@ c #B4B4B4",
"K@ c #8F8F8F",
"L@ c #ABABAB",
"M@ c #A2A1A1",
"N@ c #515B5C",
"O@ c #4B3836",
"P@ c #8D362D",
"Q@ c #A63A30",
"R@ c #A83F38",
"S@ c #985652",
"T@ c #898080",
"U@ c #A7ACAC",
"V@ c #9F9F9F",
"W@ c #484848",
"X@ c #595959",
"Y@ c #A3A3A3",
"Z@ c #9C9C9C",
"`@ c #818181",
" # c #7B7B7B",
".# c #9B9B9B",
"+# c #838484",
"@# c #2D201E",
"## c #C6260C",
"$# c #FC2303",
"%# c #F02007",
"&# c #E8200B",
"*# c #E21D0D",
"=# c #DD170C",
"-# c #D5150E",
";# c #B24544",
"># c #979999",
",# c #616161",
"'# c #4D4D4D",
")# c #D7D7D7",
"!# c #F5F5F5",
"~# c #EFEFEF",
"{# c #EDEDED",
"]# c #EBEBEB",
"^# c #EAEAEA",
"/# c #D6D6D6",
"(# c #959595",
"_# c #888888",
":# c #351612",
"<# c #FF2A02",
"[# c #F92703",
"}# c #F52605",
"|# c #F02208",
"1# c #EA200A",
"2# c #E41F0C",
"3# c #DD1C0F",
"4# c #D61A11",
"5# c #CD1412",
"6# c #BF2526",
"7# c #9C9999",
"8# c #626262",
"9# c #717171",
"0# c #F3F3EF",
"a# c #F6F6EF",
"b# c #F6F6F0",
"c# c #F3F3F0",
"d# c #F0F0EF",
"e# c #E9E9E9",
"f# c #E3E3E3",
"g# c #868686",
"h# c #909090",
"i# c #2C2F30",
"j# c #F62904",
"k# c #FA2902",
"l# c #F82704",
"m# c #F52506",
"n# c #F12308",
"o# c #EA210A",
"p# c #E51F0D",
"q# c #DE1C0E",
"r# c #D81A10",
"s# c #CF1714",
"t# c #C71415",
"u# c #B53439",
"v# c #ABB2B2",
"w# c #4E4E4E",
"x# c #F5F5F0",
"y# c #F9F9F2",
"z# c #F9F9F5",
"A# c #F9F9F4",
"B# c #F8F8F2",
"C# c #F7F7F0",
"D# c #F1F1F0",
"E# c #E8E8E8",
"F# c #E1E1E1",
"G# c #8C8C8C",
"H# c #6D7272",
"I# c #932112",
"J# c #F92603",
"K# c #F72605",
"L# c #F22406",
"M# c #EF2209",
"N# c #E41E0D",
"O# c #DE1C0F",
"P# c #D01814",
"Q# c #C71615",
"R# c #BF0C10",
"S# c #A07679",
"T# c #F2F2EF",
"U# c #FCFCF9",
"V# c #FDFDFB",
"W# c #FAFAF6",
"X# c #F4F4EF",
"Y# c #EEEEEF",
"Z# c #E4E4E4",
"`# c #D3D3D3",
" $ c #4E5556",
".$ c #E7250C",
"+$ c #F22407",
"@$ c #F22506",
"#$ c #F02307",
"$$ c #EC2109",
"%$ c #E9200B",
"&$ c #D81A11",
"*$ c #BF1518",
"=$ c #AC4046",
"-$ c #B2B5B5",
";$ c #B5B5B5",
">$ c #FDFDFD",
",$ c #FBFBF6",
"'$ c #F8F8F0",
")$ c #F0F0F0",
"!$ c #E0E0E0",
"~$ c #615150",
"{$ c #F01E08",
"]$ c #EC2209",
"^$ c #EE2309",
"/$ c #EE2208",
"($ c #EC210A",
"_$ c #E61E0C",
":$ c #E11E0D",
"<$ c #DC1B10",
"[$ c #D61911",
"}$ c #CE1715",
"|$ c #C61516",
"1$ c #BE1419",
"2$ c #B11A23",
"3$ c #ACB3B3",
"4$ c #FCFCF8",
"5$ c #FAFAF5",
"6$ c #F2F2F0",
"7$ c #A8A8A8",
"8$ c #6D5856",
"9$ c #EC1806",
"0$ c #E71F0B",
"a$ c #E7200B",
"b$ c #E51E0D",
"c$ c #D21912",
"d$ c #CA1615",
"e$ c #C41616",
"f$ c #BB1419",
"g$ c #B00F19",
"h$ c #A9B3B2",
"i$ c #F9F9F3",
"j$ c #DFDFDF",
"k$ c #B1B1B1",
"l$ c #766866",
"m$ c #E2170A",
"n$ c #E11E0E",
"o$ c #E31E0D",
"p$ c #E21E0D",
"q$ c #E01D0E",
"r$ c #D91A10",
"s$ c #D41912",
"t$ c #CD1814",
"u$ c #C11517",
"v$ c #B8131A",
"w$ c #AC1824",
"x$ c #A6AEAD",
"y$ c #F8F8F1",
"z$ c #F7F7EF",
"A$ c #A4A4A4",
"B$ c #74797A",
"C$ c #D12019",
"D$ c #D91B11",
"E$ c #DB1B0F",
"F$ c #DC1B0F",
"G$ c #D71A11",
"H$ c #D31912",
"I$ c #CE1714",
"J$ c #C91615",
"K$ c #C31517",
"L$ c #BB1418",
"M$ c #B4121B",
"N$ c #A33D46",
"O$ c #A9ACAB",
"P$ c #828282",
"Q$ c #F4F4F0",
"R$ c #DEDEDE",
"S$ c #8D8D8D",
"T$ c #6F7777",
"U$ c #AF4A48",
"V$ c #D21610",
"W$ c #D51911",
"X$ c #D51912",
"Y$ c #D11813",
"Z$ c #CC1815",
"`$ c #BE1418",
" % c #B7131A",
".% c #AE0914",
"+% c #977478",
"@% c #F1F1EF",
"#% c #EEEEEE",
"$% c #737373",
"%% c #828181",
"&% c #C71A1A",
"*% c #CA1715",
"=% c #CB1615",
"-% c #BD1418",
";% c #B1101B",
">% c #A12F3A",
",% c #9DA1A1",
"'% c #949494",
")% c #E2E2E2",
"!% c #DCDCDC",
"~% c #937C7C",
"{% c #C21416",
"]% c #C41515",
"^% c #BA1319",
"/% c #B6131A",
"(% c #B10F19",
"_% c #A3202C",
":% c #939293",
"<% c #898989",
"[% c #A2A2A2",
"}% c #8A7F80",
"|% c #B6353A",
"1% c #BA0A10",
"2% c #B91016",
"3% c #B91319",
"4% c #B6121A",
"5% c #B30C16",
"6% c #AB0915",
"7% c #9B434C",
"8% c #CFCFCF",
"9% c #758180",
"0% c #8E7D7E",
"a% c #9B595E",
"b% c #A44D53",
"c% c #9E4C52",
"d% c #945E64",
"e% c #8B8889",
"f% c #8B8E8D",
" . + @ # $ % & * = = - - - - = = ; > , ' ) ! ~ { ",
" ] ^ / ( _ : < [ } | 1 2 2 2 2 1 3 4 5 6 7 8 9 0 a b ",
" c d e f g h i j k l m n o o o o p q r s t u v w x y z A ",
" B C D E F G H I J K L M N O P P Q R S T U V W X Y Z ` ...+. ",
"@.#.e E $.%.&.H *.J =.-.;.>.,.'.'.).!.~.{.].t W ^./.(._.:.<.[.}.",
"|.1.f 2.%.3.4.5.6.7.8.-.9.0.a.b.c.d.e.f.f.t g.h.i.Y j.k.l.m.n.o.",
"p.q.g G &.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.H.I.X J.K.L.` .M.N.O.",
"P.Q.h H H 5.R.S.T.U.V.W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+",
"!+: i I *.~+{+T.]+^+/+(+_+:+<+[+}+|+1+2+J.3+4+w =+5+6+l.7+8+9+0+",
"% < j J J 7.v.U.^+-.a+b+c+d+e+f+g+h+i+j+k+l+j+m+n+` o+p+q+r+s+t+",
"u+v+w+K =.8.x+V./+y+z+A+:+B+C+D+E+F+G+H+I+n+J+K+6+L+M+N+O+P+Q+R+",
"S+T+U+L -.-.x.W.(+b+A+V+W+X+Y+Z+Z+`+ @.@o++@@@l.#@$@%@8+&@*@=@-@",
"= | ;@>@9.9.y.X.,@c+:+W+'@)@!@~@~@!@{@]@^@/@$@(@_@:@<@[@}@|@1@= ",
"= 1 2@N >.0.z.Y.V+3@B+4@5@Z+!@6@6@!@Z+7@8@9@8+O+0@'+a@b@c@d@1 = ",
"- 2 o e@,.f@A.g@h@i@j@k@!@!@l@m@m@l@!@n@o@p@q@r@s@t@u@v@w@o 2 - ",
"- 2 o P '.b.B.x@y@z@D+Z+~@6@m@m@m@m@6@~@Z+D+A@B@C@D@E@'.P o 2 - ",
"- 2 o P '.c.F@G@H@g+I@Z+~@6@m@m@m@m@6@~@Z+Z+J@2 K@1 L@'.P o 2 - ",
"- 2 o M@N@O@P@Q@R@S@T@U@6@!@l@m@m@l@!@6@V@W@X@K@Y@Z@`@ #.#o 2 - ",
"= 1 +#@###$#%#&#*#=#-#;#>#Z+!@6@6@!@6@,#'#)#!#~#{#]#^#/#(#_#1 = ",
"= p :#<#[#}#|#1#2#3#4#5#6#7#!@~@~@6@8#9#!#0#a#b#a#c#d#e#f#L@g#= ",
"h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#Z+Z+o w#!#x#y#z#A#B#C#c#D#E#F#1 G#",
"H#I#J#K#m#L#M#o#N#O#r#P#Q#R#S#D+Z+W@)#T#y#U#V#U#W#y#C#X#Y#Z#`#`@",
" $.$+$@$L##$$$%$N#3#&$s#Q#*$=$-$;$X@!#a#z#V#>$U#,$A#'$x#)$E#!$= ",
"~${$]$^$/$($%$_$:$<$[$}$|$1$2$3$2 K@~#b#A#U#U#4$5$A#C#x#6$^#!$7$",
"8$9$0$%$%$a$b$*#3#r#c$d$e$f$g$h$K@Y@{#a#B#W#,$5$5$i$C#x#D#^#j$k$",
"l$m$n$o$o$p$q$3#r$s$t$Q#u$v$w$x$1 Z@]#c#C#y#A#A#i$y$z$0#)$E#j$A$",
"B$C$D$E$E$F$r$G$H$I$J$K$L$M$N$O$L@P$^#d#Q$C#'$C#C#z$c#6${#Z#R$S$",
"T$U$V$s$W$X$H$Y$Z$J$e$`$ %.%+%'.'. #/#e#@%Q$x#x#x#c#D##%E#j$l@$%",
" %%&%*%Z$Z$=%J$|$K$-%v$;%>%,%P P .#'%f#E##%)$6$D#d#{#E#)%!%h# ",
" ~%{%]%e$e$u$*$^%/%(%_%:%o o o o <%L@F#Z#E#^#^#E#Z#j$!%[% ",
" }%|%1%2%3%4%5%6%7%G@1 2 2 2 2 1 g#1 `#!$!$j$j$R$8%K@ ",
" 9%0%a%b%c%d%e%f%= = - - - - = = * `@= 7$k$P S$. "};

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 856 B

View File

@ -38,23 +38,25 @@ int main(int argc, char* argv[])
{
cout << "usage: ColorCode [options]" << endl;
cout << " options:" << endl;
cout << " -l cc, --lang=cc use country code cc instead of system locale, accepted values for cc: en|de|cs" << endl;
cout << " -l cc, --lang=cc use country code cc instead of system locale, accepted values for cc: en|de|cs|fr|hu" << endl;
cout << " -h, --help prints this message ;-)" << endl;
return 0;
}
else if (str == "-l" && i < argc - 1)
{
if (std::string(argv[i + 1]) == "de" || std::string(argv[i + 1]) == "en" || std::string(argv[i + 1]) == "cs")
if (std::string(argv[i + 1]) == "de" || std::string(argv[i + 1]) == "en" || std::string(argv[i + 1]) == "cs" || std::string(argv[i + 1]) == "fr" || std::string(argv[i + 1]) == "hu")
{
std::string test(argv[i]);
lang = argv[i + 1];
cerr << "Lang: " << lang << endl;
}
}
else if ( str.size() == 9
&& str.find("--lang=") != string::npos
&& (str.substr(7) == "en" || str.substr(7) == "de" || str.substr(7) == "cs") )
&& (str.substr(7) == "en" || str.substr(7) == "de" || str.substr(7) == "cs" || str.substr(7) == "fr" || str.substr(7) == "hu") )
{
lang = str.substr(7);
cerr << "Lang: " << lang << endl;
}
}
}

View File

@ -26,6 +26,7 @@ Msg::Msg()
{
mFont = QFont("Arial", 12, QFont::Bold, false);
mFont.setStyleHint(QFont::SansSerif);
mFont.setPixelSize(16);
mLay = new QTextLayout();
mLay->setFont(mFont);
mLay->setTextOption(QTextOption(Qt::AlignHCenter));
@ -42,7 +43,7 @@ void Msg::ShowMsg(const QString str)
mLay->setText(str);
int leading = -3;
qreal h = 10;
qreal h = 0;
qreal maxw = 0;
qreal maxh = 0;
mLay->beginLayout();
@ -63,9 +64,12 @@ void Msg::ShowMsg(const QString str)
}
mLay->endLayout();
float ypos = 4 + (70 - mLay->boundingRect().height()) / 2;
maxw = qMax(mUpdateRect.width(), mLay->boundingRect().width());
maxh = qMax(mUpdateRect.height(), mLay->boundingRect().height() + 8);
mUpdateRect = QRectF(0, 0, maxw, maxh);
maxh = qMax(mUpdateRect.height(), mLay->boundingRect().height() + ypos);
mUpdateRect = QRectF(0, 0, maxw, maxh + ypos);
update(boundingRect());
}
@ -79,5 +83,6 @@ void Msg::paint(QPainter* painter, const QStyleOptionGraphicsItem* /*option*/, Q
{
painter->setRenderHint(QPainter::TextAntialiasing, true);
painter->setPen(QPen(QColor("#303133")));
mLay->draw(painter, QPoint(0, 0));
float ypos = 4 + (70 - mLay->boundingRect().height()) / 2;
mLay->draw(painter, QPointF(0, ypos));
}

View File

@ -26,6 +26,8 @@ using namespace std;
PegRow::PegRow(QObject*)
{
setAcceptedMouseButtons(0);
mIx = -1;
mPegCnt = 0;
mXOffs = 0;
@ -36,7 +38,7 @@ PegRow::PegRow(QObject*)
mColorPegs = NULL;
Reset(0);
Reset(0, 0);
}
PegRow::~PegRow()
@ -49,12 +51,19 @@ PegRow::~PegRow()
mColorPegs = NULL;
}
void PegRow::Reset(const int pegcnt)
bool PegRow::IsActive() const
{
return mIsActive;
}
void PegRow::Reset(const int pegcnt, const int gamemode)
{
ClearRow();
mSolution.clear();
SetActive(false);
mSolved = false;
SetPegCnt(pegcnt);
SetGameMode(gamemode);
}
void PegRow::ClearRow()
@ -96,10 +105,20 @@ void PegRow::SetPegCnt(const int pegcnt)
{
mColorPegs[i] = NULL;
}
SetXOffs();
}
void PegRow::SetGameMode(const int gamemode)
{
mGameMode = gamemode;
}
void PegRow::SetXOffs()
{
mXOffs = 100 - mPegCnt * 20;
}
int PegRow::GetPegCnt()
int PegRow::GetPegCnt() const
{
if (mColorPegs == NULL) { return 0; };
@ -203,7 +222,7 @@ void PegRow::CloseRow()
mSolved = true;
if (mColorPegs == NULL)
{
;
}
else
{
@ -218,19 +237,41 @@ void PegRow::CloseRow()
SetActive(false);
}
void PegRow::OpenRow()
{
mSolved = false;
if (mColorPegs == NULL)
{
}
else
{
for (int i = 0; i < mPegCnt; ++i)
{
if (mColorPegs[i] != NULL)
{
mColorPegs[i]->SetEnabled(true);
}
}
}
SetActive(true);
}
void PegRow::CheckSolution()
{
mSolution.clear();
if (mColorPegs == NULL)
{
;
}
for (int i = 0; i < mPegCnt; ++i)
else
{
if (mColorPegs[i] != NULL)
for (int i = 0; i < mPegCnt; ++i)
{
mSolution.push_back(mColorPegs[i]->GetPegType()->ix);
if (mColorPegs[i] != NULL)
{
mSolution.push_back(mColorPegs[i]->GetPegType()->ix);
}
}
}

View File

@ -27,7 +27,6 @@
#include <iostream>
#include <vector>
#include "colorcode.h"
#include "pegrow.h"
#include "colorpeg.h"
class PegRow : public QObject, public QGraphicsItem
@ -39,19 +38,22 @@ public:
~PegRow();
int GetIx() const;
int GetPegCnt();
bool IsActive() const;
int GetPegCnt() const;
ColorPeg** GetPegs();
std::vector<int> GetSolution() const;
void SetIx(const int ix);
void SetPegCnt(const int pegcnt);
void SetGameMode(const int gamemode);
void SetActive(const bool b);
bool SnapCP(ColorPeg* cp);
void ForceSnap(ColorPeg* cp, int posix);
void RemovePeg(ColorPeg* cp);
void CloseRow();
void OpenRow();
void ClearRow();
void Reset(const int pegcnt);
void Reset(const int pegcnt, const int gamemode);
void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);
QRectF boundingRect() const;
@ -64,7 +66,6 @@ signals:
protected:
QVariant itemChange(GraphicsItemChange change, const QVariant &value);
private:
std::vector<int> mSolution;
QColor mPend;
@ -75,11 +76,20 @@ private:
bool mSolved;
int mIx;
int mPegCnt;
int mGameMode;
int mXOffs;
virtual void SetXOffs();
void CheckSolution();
ColorPeg** mColorPegs;
QRectF outlineRect() const;
private slots:
//void FillRandSlot();
private:
};
#endif // PEGROW_H

View File

@ -0,0 +1,314 @@
/* ColorCode, a free MasterMind clone with built in solver
* Copyright (C) 2009 Dirk Laebisch
* http://www.laebisch.com/
*
* ColorCode is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* ColorCode is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with ColorCode. If not, see <http://www.gnu.org/licenses/>.
*/
#include "prefdialog.h"
using namespace std;
PrefDialog::PrefDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f)
{
setupUi(this);
setSizeGripEnabled(false);
mSuppressSlots = false;
InitControls();
}
PrefDialog::~PrefDialog()
{
}
void PrefDialog::InitControls()
{
mLevelPresetsCmb->addItem(tr("... Select from predefined level settings"), -1);
mLevelPresetsCmb->addItem(tr("Beginner (2 Colors, 2 Slots, Doubles)"), 0);
mLevelPresetsCmb->addItem(tr("Easy (4 Colors, 3 Slots, No Doubles)"), 1);
mLevelPresetsCmb->addItem(tr("Classic (6 Colors, 4 Slots, Doubles)"), 2);
mLevelPresetsCmb->addItem(tr("Challenging (8 Colors, 4 Slots, Doubles)"), 3);
mLevelPresetsCmb->addItem(tr("Hard (10 Colors, 5 Slots, Doubles)"), 4);
mPegCntCmb->addItem("2 " + tr("Slots"), 2);
mPegCntCmb->addItem("3 " + tr("Slots"), 3);
mPegCntCmb->addItem("4 " + tr("Slots"), 4);
mPegCntCmb->addItem("5 " + tr("Slots"), 5);
mColorCntCmb->addItem("2 " + tr("Colors"), 2);
mColorCntCmb->addItem("3 " + tr("Colors"), 3);
mColorCntCmb->addItem("4 " + tr("Colors"), 4);
mColorCntCmb->addItem("5 " + tr("Colors"), 5);
mColorCntCmb->addItem("6 " + tr("Colors"), 6);
mColorCntCmb->addItem("7 " + tr("Colors"), 7);
mColorCntCmb->addItem("8 " + tr("Colors"), 8);
mColorCntCmb->addItem("9 " + tr("Colors"), 9);
mColorCntCmb->addItem("10 " + tr("Colors"), 10);
mGameModeCmb->addItem(tr("Human vs. Computer"), ColorCode::MODE_HVM);
mGameModeCmb->addItem(tr("Computer vs. Human"), ColorCode::MODE_MVH);
mStrengthCmb->addItem(tr("Low"), CCSolver::STRENGTH_LOW);
mStrengthCmb->addItem(tr("Medium"), CCSolver::STRENGTH_MEDIUM);
mStrengthCmb->addItem(tr("High"), CCSolver::STRENGTH_HIGH);
mDelaySb->setMaximum(10000);
mDelaySb->setMinimum(0);
mDelaySb->setSingleStep(100);
mRestoreBtn = mButtonBox->button(QDialogButtonBox::RestoreDefaults);
mOkBtn = mButtonBox->button(QDialogButtonBox::Ok);
mApplyBtn = mButtonBox->button(QDialogButtonBox::Apply);
mCancelBtn = mButtonBox->button(QDialogButtonBox::Cancel);
connect(mLevelPresetsCmb, SIGNAL(currentIndexChanged(int)), this, SLOT(LevelPresetChangedSlot()));
connect(mColorCntCmb, SIGNAL(currentIndexChanged(int)), this, SLOT(ColorCntChangedSlot()));
connect(mPegCntCmb, SIGNAL(currentIndexChanged(int)), this, SLOT(PegCntChangedSlot()));
connect(mSameColorsCb, SIGNAL(stateChanged(int)), this, SLOT(SameColorsChangedSlot()));
connect(mShowIndicatorsCb, SIGNAL(stateChanged(int)), this, SLOT(ShowIndicatorsChangedSlot()));
connect(mResetColorOrderBtn, SIGNAL(clicked()), this, SLOT(ResetColorOrderSlot()));
connect(mRestoreBtn, SIGNAL(clicked()), this, SLOT(RestoreDefSlot()));
connect(mApplyBtn, SIGNAL(clicked()), this, SLOT(ApplySlot()));
connect(mCancelBtn, SIGNAL(clicked()), this, SLOT(CancelSlot()));
connect(mOkBtn, SIGNAL(clicked()), this, SLOT(OkSlot()));
}
void PrefDialog::InitSettings(Settings* set)
{
mSettings = set;
SetSettings();
}
void PrefDialog::SetSettings()
{
bool sup = SetSuppressSlots(true);
mMenuBarCb->setChecked(mSettings->mShowMenuBar);
mStatusBarCb->setChecked(mSettings->mShowStatusBar);
mToolBarCb->setChecked(mSettings->mShowToolBar);
mShowIndicatorsCb->setChecked(mSettings->mShowIndicators);
if (mSettings->mIndicatorType == Settings::INDICATOR_NUMBER)
{
mNumbersRb->setChecked(true);
}
else
{
mLettersRb->setChecked(true);
}
mHideColorsCb->setChecked(mSettings->mHideColors);
CheckIndicators();
int i;
i = mColorCntCmb->findData(mSettings->mColorCnt);
if (i != -1 && mColorCntCmb->currentIndex() != i)
{
mColorCntCmb->setCurrentIndex(i);
}
i = mPegCntCmb->findData(mSettings->mPegCnt);
if (i != -1 && mPegCntCmb->currentIndex() != i)
{
mPegCntCmb->setCurrentIndex(i);
}
mSameColorsCb->setChecked(mSettings->mSameColors);
CheckLevelPresets();
i = mGameModeCmb->findData(mSettings->mGameMode);
if (i != -1 && mGameModeCmb->currentIndex() != i)
{
mGameModeCmb->setCurrentIndex(i);
}
i = mStrengthCmb->findData(mSettings->mSolverStrength);
if (i != -1 && mStrengthCmb->currentIndex() != i)
{
mStrengthCmb->setCurrentIndex(i);
}
mAutoCloseCb->setChecked(mSettings->mAutoClose);
mAutoHintsCb->setChecked(mSettings->mAutoHints);
mDelaySb->setValue(mSettings->mHintsDelay);
if (sup)
{
SetSuppressSlots(false);
}
}
void PrefDialog::LevelPresetChangedSlot()
{
int ix, i;
ix = mLevelPresetsCmb->itemData(mLevelPresetsCmb->currentIndex()).toInt();
if (ix < 0 || ix > 4)
{
return;
}
bool sup = SetSuppressSlots(true);
i = mColorCntCmb->findData(ColorCode::LEVEL_SETTINGS[ix][0]);
if (i != -1 && mColorCntCmb->currentIndex() != i)
{
mColorCntCmb->setCurrentIndex(i);
}
i = mPegCntCmb->findData(ColorCode::LEVEL_SETTINGS[ix][1]);
if (i != -1 && mPegCntCmb->currentIndex() != i)
{
mPegCntCmb->setCurrentIndex(i);
}
mSameColorsCb->setChecked((ColorCode::LEVEL_SETTINGS[ix][2] == 1));
if (sup)
{
SetSuppressSlots(false);
}
}
void PrefDialog::CheckLevelPresets()
{
int ix = -1;
for (int i = 0; i < 5; ++i)
{
if ( ColorCode::LEVEL_SETTINGS[i][0] == mColorCntCmb->itemData(mColorCntCmb->currentIndex()).toInt()
&& ColorCode::LEVEL_SETTINGS[i][1] == mPegCntCmb->itemData(mPegCntCmb->currentIndex()).toInt()
&& ColorCode::LEVEL_SETTINGS[i][2] == (int) mSameColorsCb->isChecked() )
{
ix = i;
break;
}
}
mLevelPresetsCmb->setCurrentIndex(mLevelPresetsCmb->findData(ix));
}
void PrefDialog::ColorCntChangedSlot()
{
if (!mSuppressSlots)
{
CheckLevelPresets();
}
}
void PrefDialog::PegCntChangedSlot()
{
if (!mSuppressSlots)
{
CheckLevelPresets();
}
}
void PrefDialog::SameColorsChangedSlot()
{
if (!mSuppressSlots)
{
CheckLevelPresets();
}
}
void PrefDialog::ShowIndicatorsChangedSlot()
{
if (!mSuppressSlots)
{
CheckIndicators();
}
}
void PrefDialog::CheckIndicators()
{
}
void PrefDialog::ResetColorOrderSlot()
{
emit ResetColorOrderSignal();
}
void PrefDialog::RestoreDefSlot()
{
mSettings->RestoreDefSettings();
SetSettings();
}
void PrefDialog::ApplySlot()
{
ApplySettings();
setResult(QDialog::Accepted);
hide();
}
void PrefDialog::OkSlot()
{
ApplySettings();
setResult(QDialog::Accepted);
hide();
}
void PrefDialog::CancelSlot()
{
setResult(QDialog::Rejected);
hide();
}
bool PrefDialog::SetSuppressSlots(bool b, bool force)
{
if (mSuppressSlots == b && !force)
{
return false;
}
mSuppressSlots = b;
return true;
}
void PrefDialog::ApplySettings()
{
mSettings->mShowMenuBar = mMenuBarCb->isChecked();
mSettings->mShowStatusBar = mStatusBarCb->isChecked();
mSettings->mShowToolBar = mToolBarCb->isChecked();
mSettings->mShowIndicators = mShowIndicatorsCb->isChecked();
if (mNumbersRb->isChecked())
{
mSettings->mIndicatorType = Settings::INDICATOR_NUMBER;
}
else
{
mSettings->mIndicatorType = Settings::INDICATOR_LETTER;
}
mSettings->mHideColors = mHideColorsCb->isChecked();
mSettings->mColorCnt = mColorCntCmb->itemData(mColorCntCmb->currentIndex()).toInt();
mSettings->mPegCnt = mPegCntCmb->itemData(mPegCntCmb->currentIndex()).toInt();
mSettings->mSameColors = mSameColorsCb->isChecked();
mSettings->mGameMode = mGameModeCmb->itemData(mGameModeCmb->currentIndex()).toInt();
mSettings->mSolverStrength = mStrengthCmb->itemData(mStrengthCmb->currentIndex()).toInt();
mSettings->mAutoClose = mAutoCloseCb->isChecked();
mSettings->mAutoHints = mAutoHintsCb->isChecked();
mSettings->mHintsDelay = mDelaySb->value();
mSettings->Validate();
}
QSize PrefDialog::sizeHint () const
{
return QSize(500, 400);
}

View File

@ -0,0 +1,75 @@
/* ColorCode, a free MasterMind clone with built in solver
* Copyright (C) 2009 Dirk Laebisch
* http://www.laebisch.com/
*
* ColorCode is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* ColorCode is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with ColorCode. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef PREFDIALOG_H
#define PREFDIALOG_H
#include "ui_prefdialog.h"
#include "settings.h"
#include "colorcode.h"
#include "ccsolver.h"
#include <iostream>
#include <QDialog>
class PrefDialog : public QDialog, public Ui::PrefDialog
{
Q_OBJECT
public:
PrefDialog(QWidget* parent = 0, Qt::WindowFlags f = 0);
~PrefDialog();
void InitSettings(Settings* set);
void SetSettings();
virtual QSize sizeHint () const;
signals:
void ResetColorOrderSignal();
private slots:
void ApplySlot();
void RestoreDefSlot();
void CancelSlot();
void OkSlot();
void LevelPresetChangedSlot();
void ColorCntChangedSlot();
void PegCntChangedSlot();
void SameColorsChangedSlot();
void ShowIndicatorsChangedSlot();
void ResetColorOrderSlot();
private:
bool SetSuppressSlots(bool b, bool force = false);
void InitControls();
void CheckLevelPresets();
void CheckIndicators();
void ApplySettings();
QPushButton* mRestoreBtn;
QPushButton* mOkBtn;
QPushButton* mApplyBtn;
QPushButton* mCancelBtn;
Settings* mSettings;
bool mSuppressSlots;
};
#endif // PREFDIALOG_H

View File

@ -0,0 +1,434 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PrefDialog</class>
<widget class="QDialog" name="PrefDialog">
<property name="windowModality">
<enum>Qt::ApplicationModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>500</width>
<height>400</height>
</rect>
</property>
<property name="windowTitle">
<string>Preferences</string>
</property>
<property name="windowIcon">
<iconset resource="resource.qrc">
<normaloff>:/img/configure.png</normaloff>:/img/configure.png</iconset>
</property>
<property name="modal">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QTabWidget" name="mTabsWg">
<property name="currentIndex">
<number>1</number>
</property>
<widget class="QWidget" name="mAppearanceTab">
<attribute name="title">
<string>Appearance</string>
</attribute>
<widget class="QGroupBox" name="mControlsGb">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>451</width>
<height>118</height>
</rect>
</property>
<property name="toolTip">
<string/>
</property>
<property name="title">
<string>Controls</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QCheckBox" name="mMenuBarCb">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Show or hide the Menubar.</string>
</property>
<property name="text">
<string>Show Menubar</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="mToolBarCb">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Show or hide the Toolbar.</string>
</property>
<property name="text">
<string>Show Toolbar</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="mStatusBarCb">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Show or hide the Statusbar.</string>
</property>
<property name="text">
<string>Show Statusbar</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QGroupBox" name="mIndicatorsGb">
<property name="geometry">
<rect>
<x>10</x>
<y>140</y>
<width>451</width>
<height>171</height>
</rect>
</property>
<property name="title">
<string>Indicators</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QCheckBox" name="mShowIndicatorsCb">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>If this option is checked, an indicator
inside each peg is displayed.</string>
</property>
<property name="text">
<string>Show Indicators inside pegs</string>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="leftMargin">
<number>30</number>
</property>
<item>
<widget class="QRadioButton" name="mLettersRb">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Use unique letters as indicators.</string>
</property>
<property name="text">
<string>Letter Indicators</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="mNumbersRb">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Use unique numbers as indicators.</string>
</property>
<property name="text">
<string>Number Indicators</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="mHideColorsCb">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Use the same neutral background color for each peg,
when indicators are shown.</string>
</property>
<property name="text">
<string>Hide Colors</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QPushButton" name="mResetColorOrderBtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Click here if you have changed the color order
and now you want to revert it to it's initial state. </string>
</property>
<property name="text">
<string>Reset Color Order</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QWidget" name="mGameTab">
<attribute name="title">
<string>Game Settings</string>
</attribute>
<widget class="QWidget" name="">
<property name="geometry">
<rect>
<x>8</x>
<y>13</y>
<width>461</width>
<height>301</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="mLevelPresetsLbl">
<property name="text">
<string>Level Presets</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QComboBox" name="mLevelPresetsCmb">
<property name="toolTip">
<string>Select from predefined combinations
of the three different level related settings,
the number of colors, the number of slots (columns)
and the possibility of pegs of the same color in one row. </string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="mSlotCntLbl">
<property name="text">
<string>Number of Slots</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="mColorCntLbl">
<property name="text">
<string>Number of Colors</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QComboBox" name="mPegCntCmb">
<property name="toolTip">
<string>Number of pegs in a single row.
Higher values are harder to guess.</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="mColorCntCmb">
<property name="toolTip">
<string>Number of all possible colors.
Higher values are harder to guess.</string>
</property>
</widget>
</item>
<item row="3" column="2" colspan="2">
<widget class="QCheckBox" name="mSameColorsCb">
<property name="toolTip">
<string>If this option is checked, the hidden combination
may contain one or more (even all would be possible)
pegs of the same color.
If checked, the combination is generally harder to guess.</string>
</property>
<property name="text">
<string>Allow Pegs of Same Color</string>
</property>
</widget>
</item>
<item row="4" column="0" colspan="4">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="5" column="0" colspan="2">
<widget class="QLabel" name="mGameModeLbl">
<property name="text">
<string>Game Mode</string>
</property>
</widget>
</item>
<item row="6" column="0" colspan="2">
<widget class="QComboBox" name="mGameModeCmb">
<property name="toolTip">
<string>Select from the different game modes.
In the 1. mode you have to to guess the hidden,
computer generated combination,
In the 2. mode your computer will try to guess your
own secret combination.</string>
</property>
</widget>
</item>
<item row="7" column="0" colspan="4">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="8" column="0" colspan="3">
<widget class="QCheckBox" name="mAutoCloseCb">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>If checked, a row is closed as soon as you place the last peg
and your guess is submitted immediatly.
This option only affects the Human vs. Computer game mode.</string>
</property>
<property name="text">
<string>Close Rows when the last Peg is placed</string>
</property>
</widget>
</item>
<item row="9" column="0" colspan="2">
<widget class="QCheckBox" name="mAutoHintsCb">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>If checked, the computer will determine the corresponding hints for the solver's guess.
This option affects only Computer vs. Human games.
If checked, you only have to place your secret combination.
Then the rest of the game runs automatically until the end.
But you can set a delay between the guesses.</string>
</property>
<property name="text">
<string>Set Hints automatically</string>
</property>
</widget>
</item>
<item row="9" column="2">
<widget class="QSpinBox" name="mDelaySb">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Adjust the delay (in ms) between two guesses.</string>
</property>
</widget>
</item>
<item row="9" column="3">
<widget class="QLabel" name="mDelayLbl">
<property name="text">
<string>Delay in ms</string>
</property>
</widget>
</item>
<item row="10" column="0" colspan="4">
<widget class="Line" name="line_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="mStrenghtLbl">
<property name="text">
<string>Solver Strength</string>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QComboBox" name="mStrengthCmb">
<property name="toolTip">
<string>Select from 3 different strength levels for your computer opponent.
This option only affects the Computer vs. Human game mode.
For the computer's guess in the Human vs. Computer mode
always the highest level will be used.</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="mButtonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::RestoreDefaults</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="resource.qrc"/>
</resources>
<connections/>
<designerdata>
<property name="gridDeltaX">
<number>10</number>
</property>
<property name="gridDeltaY">
<number>10</number>
</property>
<property name="gridSnapX">
<bool>true</bool>
</property>
<property name="gridSnapY">
<bool>true</bool>
</property>
<property name="gridVisible">
<bool>true</bool>
</property>
</designerdata>
</ui>

View File

@ -11,7 +11,6 @@
<file>img/qt.png</file>
<file>img/story-editor.png</file>
<file>img/view-refresh.png</file>
<file>img/bm03.png</file>
<file>trans_de.qm</file>
<file>img/face-sad.png</file>
<file>img/edit-clear.png</file>
@ -26,5 +25,9 @@
<file>img/same_color_0.png</file>
<file>img/same_color_1.png</file>
<file>img/help.png</file>
<file>img/icon_female16.png</file>
<file>img/configure.png</file>
<file>trans_fr.qm</file>
<file>trans_hu.qm</file>
</qresource>
</RCC>

View File

@ -69,7 +69,7 @@ RowHint::RowHint(QObject*)
grad.setColorAt(1, QColor(255, 255, 255, 51));
mBrush0 = QBrush(grad);
Reset(0);
Reset(0, 0);
}
RowHint::~RowHint()
@ -77,12 +77,14 @@ RowHint::~RowHint()
scene()->removeItem(this);
}
void RowHint::Reset(const int pegcnt)
void RowHint::Reset(const int pegcnt, const int gamemode)
{
mActive = true;
mHints.clear();
mSolved = false;
SetPegCnt(pegcnt);
mHints.clear();
mHints.assign(mPegCnt, 0);
SetGameMode(gamemode);
SetActive(false);
}
@ -101,6 +103,16 @@ void RowHint::SetPegCnt(const int pegcnt)
mPegCnt = pegcnt;
}
void RowHint::SetGameMode(const int gamemode)
{
mGameMode = gamemode;
}
bool RowHint::IsActive() const
{
return mActive;
}
void RowHint::SetActive(bool b)
{
if (b == mActive)
@ -113,42 +125,83 @@ void RowHint::SetActive(bool b)
setEnabled(b);
if (b)
{
setCursor(Qt::PointingHandCursor);
setToolTip(tr("Commit Your solution"));
if (mGameMode == ColorCode::MODE_HVM)
{
setCursor(Qt::PointingHandCursor);
setToolTip(tr("Commit Your solution"));
}
else if (mGameMode == ColorCode::MODE_MVH)
{
mSolved = true;
mHints.assign(mPegCnt, 0);
setCursor(Qt::ArrowCursor);
setToolTip(tr("Click the circles to rate my guess.\nHit Ctrl+H or the corresponding toolbar button to let an impartial part of me do this for you ;-)"));
}
}
else
{
setCursor(Qt::ArrowCursor);
setToolTip(QString(""));
}
update(boundingRect());
}
std::vector<int> RowHint::GetHints()
{
return mHints;
}
void RowHint::DrawHints(std::vector<int> res)
{
mHints = res;
mHints.clear();
mHints.assign(mPegCnt, 0);
for (unsigned i = 0; i < res.size(); ++i)
{
mHints.at(i) = res.at(i);
}
mSolved = true;
update(boundingRect());
}
void RowHint::mousePressEvent(QGraphicsSceneMouseEvent *e)
void RowHint::mousePressEvent(QGraphicsSceneMouseEvent* e)
{
bool disabled = false;
if (mActive && !mSolved)
if (mGameMode == ColorCode::MODE_HVM)
{
if (e->button() == Qt::LeftButton)
bool disabled = false;
if (mActive && !mSolved)
{
SetActive(false);
emit HintPressedSignal(mIx);
disabled = true;
if (e->button() == Qt::LeftButton)
{
SetActive(false);
emit HintPressedSignal(mIx);
disabled = true;
}
}
if (!disabled)
{
QGraphicsItem::mousePressEvent(e);
}
}
if (!disabled)
else if (mGameMode == ColorCode::MODE_MVH)
{
QGraphicsItem::mousePressEvent(e);
qreal xm = e->pos().x();
qreal ym = e->pos().y();
int posix = mPegCnt - 2;
for (int i = 0; i < mPegCnt; i++)
{
if ( xm >= mPegPos[posix][i][0] && xm <= mPegPos[posix][i][0] + mPegPos[posix][i][2]
&& ym >= mPegPos[posix][i][1] && ym <= mPegPos[posix][i][1] + mPegPos[posix][i][2])
{
++mHints.at(i);
if (mHints.at(i) > 2)
{
mHints.at(i) = 0;
}
}
}
update(boundingRect());
}
}
@ -238,7 +291,11 @@ void RowHint::paint(QPainter* painter, const QStyleOptionGraphicsItem* /*option*
painter->setPen(Qt::NoPen);
for (unsigned i = 0; i < mHints.size(); i++)
{
x0 = QPointF(mPegPos[posix][i][0], mPegPos[posix][i][1]);
if (mHints.at(i) == 0)
{
continue;
}
if (mHints.at(i) == 2)
{
painter->setBrush(QBrush(Qt::black));

View File

@ -41,11 +41,14 @@ public:
std::vector<int> mHints;
int GetIx() const;
bool IsActive() const;
std::vector<int> GetHints();
void SetIx(const int ix);
void SetPegCnt(const int pegcnt);
void SetGameMode(const int gamemode);
void SetActive(bool b);
void DrawHints(std::vector<int> res);
void Reset(const int pegcnt);
void Reset(const int pegcnt, const int gamemode);
void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);
QRectF boundingRect() const;
@ -61,6 +64,7 @@ private:
static const int mPegPos[4][5][3];
int mPegCnt;
int mGameMode;
QPen mPen;
QBrush mBrush0;

View File

@ -0,0 +1,213 @@
/* ColorCode, a free MasterMind clone with built in solver
* Copyright (C) 2009 Dirk Laebisch
* http://www.laebisch.com/
*
* ColorCode is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* ColorCode is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with ColorCode. If not, see <http://www.gnu.org/licenses/>.
*/
#include "settings.h"
#include "colorcode.h"
#include "ccsolver.h"
using namespace std;
const int Settings::INDICATOR_LETTER = 0;
const int Settings::INDICATOR_NUMBER = 1;
Settings::Settings()
{
mSettings.setDefaultFormat(QSettings::IniFormat);
mSettings.setFallbacksEnabled(false);
InitSettings();
SaveSettingsMap(mDefMap);
ReadSettings();
SaveSettingsMap(mLastMap);
}
Settings::~Settings()
{
}
void Settings::InitSettings()
{
mShowToolBar = true;
mShowMenuBar = true;
mShowStatusBar = true;
mShowIndicators = false;
mIndicatorType = INDICATOR_LETTER;
mHideColors = false;
mPegCnt = 4;
mColorCnt = 8;
mSameColors = true;
mGameMode = ColorCode::MODE_HVM;
mAutoClose = false;
mAutoHints = false;
mHintsDelay = 500;
mSolverStrength = CCSolver::STRENGTH_HIGH;
}
void Settings::SaveLastSettings()
{
SaveSettingsMap(mLastMap);
}
void Settings::RestoreLastSettings()
{
RestoreSettingsMap(mLastMap);
}
void Settings::RestoreDefSettings()
{
RestoreSettingsMap(mDefMap);
}
void Settings::RestoreSettingsMap(QMap<QString, QVariant> &map)
{
mShowToolBar = map["ShowToolBar"].toBool();
mShowMenuBar = map["ShowMenuBar"].toBool();
mShowStatusBar = map["ShowStatusBar"].toBool();
mShowIndicators = map["ShowIndicators"].toBool();
mIndicatorType = map["IndicatorType"].toInt();
mHideColors = map["HideColors"].toBool();
mPegCnt = map["ColumnCount"].toInt();
mColorCnt = map["ColorCount"].toInt();
mSameColors = map["SameColors"].toBool();
mGameMode = map["GameMode"].toInt();
mAutoClose = map["AutoClose"].toBool();
mAutoHints = map["AutoHints"].toBool();
mHintsDelay = map["HintsDelay"].toInt();
mSolverStrength = map["SolverStrength"].toInt();
Validate();
}
void Settings::SaveSettingsMap(QMap<QString, QVariant> &map)
{
map["ShowToolBar"] = mShowToolBar;
map["ShowMenuBar"] = mShowMenuBar;
map["ShowStatusBar"] = mShowStatusBar;
map["ShowIndicators"] = mShowIndicators;
map["IndicatorType"] = mIndicatorType;
map["HideColors"] = mHideColors;
map["ColumnCount"] = mPegCnt;
map["ColorCount"] = mColorCnt;
map["SameColors"] = mSameColors;
map["GameMode"] = mGameMode;
map["AutoClose"] = mAutoClose;
map["AutoHints"] = mAutoHints;
map["HintsDelay"] = mHintsDelay;
map["SolverStrength"] = mSolverStrength;
}
void Settings::ReadSettings()
{
mSettings.beginGroup("Appearance");
mShowToolBar = mSettings.value("ShowToolBar", mShowToolBar).toBool();
mShowMenuBar = mSettings.value("ShowMenuBar", mShowMenuBar).toBool();
mShowStatusBar = mSettings.value("ShowStatusBar", mShowStatusBar).toBool();
mShowIndicators = mSettings.value("ShowIndicators", mShowIndicators).toBool();
mIndicatorType = mSettings.value("IndicatorType", mIndicatorType).toInt();
mHideColors = mSettings.value("HideColors", mHideColors).toBool();
mSettings.endGroup();
mSettings.beginGroup("Game");
mPegCnt = mSettings.value("ColumnCount", mPegCnt).toInt();
mColorCnt = mSettings.value("ColorCount", mColorCnt).toInt();
mSameColors = mSettings.value("SameColors", mSameColors).toBool();
mGameMode = mSettings.value("GameMode", mGameMode).toInt();
mAutoClose = mSettings.value("AutoClose", mAutoClose).toBool();
mAutoHints = mSettings.value("AutoHints", mAutoHints).toBool();
mHintsDelay = mSettings.value("HintsDelay", mHintsDelay).toInt();
mSolverStrength = mSettings.value("SolverStrength", mSolverStrength).toInt();
mSettings.endGroup();
Validate();
}
void Settings::Validate()
{
if (mIndicatorType != INDICATOR_LETTER && mIndicatorType != INDICATOR_NUMBER)
{
mIndicatorType = INDICATOR_LETTER;
}
if (mPegCnt < 2 || mPegCnt > 5)
{
mPegCnt = 4;
}
if (mColorCnt < 2 || mColorCnt > 10)
{
mColorCnt = 8;
}
if (mGameMode != ColorCode::MODE_HVM && mGameMode != ColorCode::MODE_MVH)
{
mGameMode = ColorCode::MODE_HVM;
}
if (mSolverStrength < CCSolver::STRENGTH_LOW || mSolverStrength > CCSolver::STRENGTH_HIGH)
{
mSolverStrength = CCSolver::STRENGTH_HIGH;
}
if (mHintsDelay > 10000)
{
mHintsDelay = 10000;
}
else if (mHintsDelay < 0)
{
mHintsDelay = 0;
}
}
void Settings::WriteSettings()
{
mSettings.beginGroup("Appearance");
mSettings.setValue("ShowToolBar", mShowToolBar);
mSettings.setValue("ShowMenuBar", mShowMenuBar);
mSettings.setValue("ShowStatusBar", mShowStatusBar);
mSettings.setValue("ShowIndicators", mShowIndicators);
mSettings.setValue("IndicatorType", mIndicatorType);
mSettings.setValue("HideColors", mHideColors);
mSettings.endGroup();
mSettings.beginGroup("Game");
mSettings.setValue("ColumnCount", mPegCnt);
mSettings.setValue("ColorCount", mColorCnt);
mSettings.setValue("SameColors", mSameColors);
mSettings.setValue("GameMode", mGameMode);
mSettings.setValue("AutoClose", mAutoClose);
mSettings.setValue("AutoHints", mAutoHints);
mSettings.setValue("HintsDelay", mHintsDelay);
mSettings.setValue("SolverStrength", mSolverStrength);
mSettings.endGroup();
mSettings.sync();
}

View File

@ -0,0 +1,67 @@
/* ColorCode, a free MasterMind clone with built in solver
* Copyright (C) 2009 Dirk Laebisch
* http://www.laebisch.com/
*
* ColorCode is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* ColorCode is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with ColorCode. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef SETTINGS_H
#define SETTINGS_H
#include <QSettings>
#include <iostream>
class Settings
{
public:
Settings();
~Settings();
static const int INDICATOR_LETTER;
static const int INDICATOR_NUMBER;
void InitSettings();
void ReadSettings();
void Validate();
void SaveLastSettings();
void RestoreLastSettings();
void RestoreDefSettings();
void WriteSettings();
QSettings mSettings;
bool mShowToolBar;
bool mShowMenuBar;
bool mShowStatusBar;
bool mShowIndicators;
int mIndicatorType;
bool mHideColors;
int mPegCnt;
int mColorCnt;
bool mSameColors;
int mGameMode;
bool mAutoClose;
bool mAutoHints;
int mSolverStrength;
int mHintsDelay;
private:
void RestoreSettingsMap(QMap<QString, QVariant> &map);
void SaveSettingsMap(QMap<QString, QVariant> &map);
QMap<QString, QVariant> mDefMap;
QMap<QString, QVariant> mLastMap;
};
#endif // SETTINGS_H

View File

@ -0,0 +1,100 @@
/* ColorCode, a free MasterMind clone with built in solver
* Copyright (C) 2009 Dirk Laebisch
* http://www.laebisch.com/
*
* ColorCode is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* ColorCode is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with ColorCode. If not, see <http://www.gnu.org/licenses/>.
*/
#include <QtGui>
#include "solutionrow.h"
using namespace std;
SolutionRow::SolutionRow(QObject*)
{
setCacheMode(QGraphicsItem::DeviceCoordinateCache);
InitGraphics();
}
SolutionRow::~SolutionRow()
{
}
void SolutionRow::InitGraphics()
{
mRect = QRectF(0.5, 0.5, 219, 39);
mRectC = QRectF(2, 2, 216, 36);
QLinearGradient solgrad(0, 0, 0, 40);
solgrad.setColorAt(0.0, QColor("#9fa0a2"));
solgrad.setColorAt(1.0, QColor("#8c8d8f"));
mBgBrush = QBrush(solgrad);
QLinearGradient framegrad(0, 0, 0, 40);
framegrad.setColorAt(0.0, QColor("#4e4f51"));
framegrad.setColorAt(1.0, QColor("#ebecee"));
mFramePen = QPen(QBrush(framegrad), 1);
mFont = QFont("Arial", 22, QFont::Bold, false);
mFont.setStyleHint(QFont::SansSerif);
}
void SolutionRow::SetXOffs()
{
mXOffs = 110 - mPegCnt * 20;
}
QRectF SolutionRow::boundingRect() const
{
const double margin = 0.5;
return mRect.adjusted(-margin, -margin, 2 * margin, 2 * margin);
}
void SolutionRow::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget* /* widget */)
{
if (mPegCnt == 0)
{
return;
}
int i;
painter->setBrush(mBgBrush);
painter->setPen(mFramePen);
painter->drawRoundedRect(mRect, 20, 20);
QPainterPath cpath;
cpath.addRoundedRect(mRectC, 19, 19);
painter->setClipPath(cpath);
painter->setRenderHint(QPainter::TextAntialiasing, true);
int x0 = (220 - mPegCnt * 40) / 2;
int xpos;
for (i = 0; i <= mPegCnt; ++i)
{
xpos = x0 + i * 40;
painter->setPen(Qt::NoPen);
painter->setBrush(QBrush(QColor(0x7d, 0x7e, 0x80, 0x80)));
painter->drawRect(xpos - 1, 1, 1, 38);
painter->setBrush(QBrush(QColor(0xc3, 0xc4, 0xc6, 0x80)));
painter->drawRect(xpos, 1, 1, 38);
if (i < mPegCnt)
{
painter->setPen(QPen(QColor("#ff9933")));
painter->setFont(mFont);
painter->drawText(QRectF(xpos + 3.0, 3.0, 34.0, 34.0), Qt::AlignCenter, QString('?'));
}
}
}

View File

@ -0,0 +1,50 @@
/* ColorCode, a free MasterMind clone with built in solver
* Copyright (C) 2009 Dirk Laebisch
* http://www.laebisch.com/
*
* ColorCode is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* ColorCode is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with ColorCode. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef SOLUTIONROW_H
#define SOLUTIONROW_H
#include <QObject>
#include <QGraphicsItem>
#include <iostream>
#include "pegrow.h"
class SolutionRow : public PegRow
{
public:
SolutionRow(QObject* parent = 0);
~SolutionRow();
void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);
QRectF boundingRect() const;
protected:
void SetXOffs();
private:
void InitGraphics();
QRectF mRect;
QRectF mRectC;
QBrush mBgBrush;
QPen mFramePen;
QFont mFont;
};
#endif // SOLUTIONROW_H

Binary file not shown.

View File

@ -14,11 +14,11 @@
</message>
<message>
<source>&amp;License</source>
<translation>&amp;Licence</translation>
<translation>&amp;Povolení</translation>
</message>
<message>
<source>A needful game to train your brain ;-)</source>
<translation>Hra pro udržení bdělosti &lt;br&gt;vašeho mozku ;-)</translation>
<translation>Hra potřebná pro udržení bdělosti &lt;br&gt;vašeho mozku :-)</translation>
</message>
<message>
<source>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</source>
@ -34,7 +34,7 @@
</message>
<message>
<source>&lt;br&gt;&lt;br&gt;Free MasterMind clone including a built in,&lt;br&gt;rather intelligent solver.</source>
<translation>&lt;br&gt;&lt;br&gt;Klon Freie MasterMind s vestavěným&lt;br&gt;celkem schopným řešitelem.</translation>
<translation>&lt;br&gt;&lt;br&gt;Klon Free MasterMind s vestavěným&lt;br&gt;celkem schopným řešitelem.</translation>
</message>
<message>
<source>Version</source>
@ -67,7 +67,7 @@ a začít novou?</translation>
</message>
<message>
<source>Ctrl+N</source>
<translation></translation>
<translation>Ctrl+N</translation>
</message>
<message>
<source>&amp;Restart Game</source>
@ -75,7 +75,7 @@ a začít novou?</translation>
</message>
<message>
<source>Ctrl+R</source>
<translation></translation>
<translation>Ctrl+R</translation>
</message>
<message>
<source>E&amp;xit</source>
@ -83,19 +83,19 @@ a začít novou?</translation>
</message>
<message>
<source>Ctrl+Q</source>
<translation></translation>
<translation>Ctrl+Q</translation>
</message>
<message>
<source>Ctrl+T</source>
<translation></translation>
<translation>Ctrl+T</translation>
</message>
<message>
<source>Ctrl+C</source>
<translation></translation>
<translation>Ctrl+C</translation>
</message>
<message>
<source>Ctrl+A</source>
<translation></translation>
<translation>Ctrl+A</translation>
</message>
<message>
<source>About &amp;Qt</source>
@ -141,11 +141,11 @@ Chcete vzdát nynější hru a začít novou?</translation>
</message>
<message>
<source>Ctrl+I</source>
<translation></translation>
<translation>Ctrl+I</translation>
</message>
<message>
<source>Give In</source>
<translation>Vzdát</translation>
<translation>Vzdát se</translation>
</message>
<message>
<source>Do you really want to give in?</source>
@ -157,7 +157,7 @@ Chcete vzdát nynější hru a začít novou?</translation>
</message>
<message>
<source>Ctrl+G</source>
<translation></translation>
<translation>Ctrl+G</translation>
</message>
<message>
<source>Sure, You&apos;re too weak for me!</source>
@ -165,11 +165,11 @@ Chcete vzdát nynější hru a začít novou?</translation>
</message>
<message>
<source>Ctrl+Shift+R</source>
<translation></translation>
<translation>Ctrl+Shift+R</translation>
</message>
<message>
<source>Ctrl+Shift+C</source>
<translation></translation>
<translation>Ctrl+Shift+C</translation>
</message>
<message>
<source>Fill Row by Random</source>
@ -181,7 +181,7 @@ Chcete vzdát nynější hru a začít novou?</translation>
</message>
<message>
<source>Ctrl+D</source>
<translation></translation>
<translation>Ctrl+D</translation>
</message>
<message>
<source>Clear Row</source>
@ -201,31 +201,19 @@ Chcete vzdát nynější hru a začít novou?</translation>
</message>
<message>
<source>Ctrl+M</source>
<translation></translation>
<translation>Ctrl+M</translation>
</message>
<message>
<source>Ctrl+S</source>
<translation></translation>
</message>
<message>
<source>Easy - 6 Colors</source>
<translation type="obsolete">Lehká - 6 barev</translation>
</message>
<message>
<source>Medium - 8 Colors</source>
<translation type="obsolete">Střední - 8 barev</translation>
</message>
<message>
<source>Hard - 10 Colors</source>
<translation type="obsolete">Těžká - 10 barev</translation>
<translation>Ctrl+S</translation>
</message>
<message>
<source>Show Toolbar</source>
<translation>Ukázat nástrojovou lištu</translation>
<translation>Ukázat nástrojový pruh</translation>
</message>
<message>
<source>Show Menubar</source>
<translation>Ukázat lištu s hlavní nabídkou</translation>
<translation>Ukázat pruh s hlavní nabídkou</translation>
</message>
<message>
<source>Show Statusbar</source>
@ -235,25 +223,21 @@ Chcete vzdát nynější hru a začít novou?</translation>
<source>Allow Pegs of the Same Color</source>
<translation>Povolit kameny se stejnou barvou</translation>
</message>
<message>
<source>Close Rows when the 4th Peg is placed</source>
<translation type="obsolete">Vyhodnotit řádky po umístění čtyř kamenů</translation>
</message>
<message>
<source>Level</source>
<translation>Úroveň</translation>
<translation>Stupeň obtížnosti</translation>
</message>
<message>
<source>Computer&apos;s Guess</source>
<translation>Nechte svůj počítač hádat</translation>
<translation>Nechat počítač hádat</translation>
</message>
<message>
<source>Ctrl+H</source>
<translation></translation>
<translation>Ctrl+H</translation>
</message>
<message>
<source>Press the Hint Field or Key Enter if You&apos;re done.</source>
<translation>Hotovo? Potom klepněte na pole s radou.</translation>
<translation>Pokud jste hotov, klepněte na pole s radou.</translation>
</message>
<message>
<source>Disallow Pegs of the Same Color</source>
@ -261,7 +245,7 @@ Chcete vzdát nynější hru a začít novou?</translation>
</message>
<message>
<source>Close Rows when the last Peg is placed</source>
<translation>Vyhodnotit řádky po umístění posledního kamene</translation>
<translation>Zavřít řádky po umístění posledního kamene</translation>
</message>
<message>
<source>Ctrl+L</source>
@ -269,23 +253,23 @@ Chcete vzdát nynější hru a začít novou?</translation>
</message>
<message>
<source>Beginner (2 Colors, 2 Slots, Doubles)</source>
<translation>Začátečník (2 barvy, 2 místa, zdvojení)</translation>
<translation>Začátečník (2 barvy, 2 pole, zdvojení)</translation>
</message>
<message>
<source>Easy (4 Colors, 3 Slots, No Doubles)</source>
<translation>Lehká (4 barvy, 3 místa, bez zdvojení)</translation>
<translation>Lehká hra (4 barvy, 3 pole, bez zdvojení)</translation>
</message>
<message>
<source>Classic (6 Colors, 4 Slots, Doubles)</source>
<translation>Klasická (6 barev, 4 místa, zdvojení)</translation>
<translation>Klasická hra (6 barev, 4 pole, zdvojení)</translation>
</message>
<message>
<source>Challenging (8 Colors, 4 Slots, Doubles)</source>
<translation>Náročná (8 barev, 4 místa, zdvojení)</translation>
<translation>Náročná hra (8 barev, 4 pole, zdvojení)</translation>
</message>
<message>
<source>Hard (10 Colors, 5 Slots, Doubles)</source>
<translation>Těžká (10 barev, 5 míst, zdvojení)</translation>
<translation>Těžká hra (10 barev, 5 polí, zdvojení)</translation>
</message>
<message>
<source>Level Presets</source>
@ -293,15 +277,15 @@ Chcete vzdát nynější hru a začít novou?</translation>
</message>
<message>
<source>Colors</source>
<translation>Barvy</translation>
<translation>barev</translation>
</message>
<message>
<source>Pegs of Same Color</source>
<translation>Kameny se stejnou barvou</translation>
<translation>Kameny téže barvy</translation>
</message>
<message>
<source>Slots</source>
<translation>Místa</translation>
<translation>pole</translation>
</message>
<message>
<source>Yes</source>
@ -315,10 +299,6 @@ Chcete vzdát nynější hru a začít novou?</translation>
<source>Reset Color Order</source>
<translation>Znovu nastavit pořadí barev</translation>
</message>
<message>
<source>Show Letter Indicators</source>
<translation>Ukázat ukazatele písmen</translation>
</message>
<message>
<source>Ctrl+Shift+L</source>
<translation>Ctrl+Shift+L</translation>
@ -331,6 +311,345 @@ Chcete vzdát nynější hru a začít novou?</translation>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
<source>Done</source>
<translation>Hotovo</translation>
</message>
<message>
<source>Ctrl+Shift+N</source>
<translation>Ctrl+Shift+N</translation>
</message>
<message>
<source>Rate it for me</source>
<translation>Ohodnoť to pro </translation>
</message>
<message>
<source>Human vs Computer</source>
<translation>Člověk proti počítači</translation>
</message>
<message>
<source>Computer vs Human</source>
<translation>Počítač proti člověku</translation>
</message>
<message>
<source>Game Mode</source>
<translation>Herní režim</translation>
</message>
<message>
<source>Press the button below or Key Enter if You&apos;re done.</source>
<translation>Pokud jste hotov, použijte tlačítko dole nebo klávesu Enter.</translation>
</message>
<message>
<source>Place Your secret ColorCode ...</source>
<translation>Umístěte svůj tajný ColorCode...</translation>
</message>
<message>
<source>Please rate the guess. Press OK or Key Enter if You&apos;re done.</source>
<translation>Ohodnoťte, prosím, můj návrh. Pokud jste hotov, použijte tlačítko OK nebo klávesu Enter.</translation>
</message>
<message>
<source>The impossible happened, sorry.</source>
<translation>Bohužel se stalo nemožné.</translation>
</message>
<message>
<source>Yeah! I guessed it, man!</source>
<translation>Jo! to tušil!</translation>
</message>
<message>
<source>Embarrassing! I lost a game!</source>
<translation>Trapné! tu hru ztratil!</translation>
</message>
<message>
<source>Nope! Thats impossible! Did you gave me false hints?</source>
<translation>Ne! To není možné! Dal jste mi špatné rady?</translation>
</message>
<message>
<source>Don&apos;t you like to see me winning? ;-)</source>
<translation>Nelíbí se vám, když vyhrávám? :-)</translation>
</message>
<message>
<source>Set Hints automatically</source>
<translation>Nastavit rady automaticky</translation>
</message>
<message>
<source>Ctrl+Shift+H</source>
<translation>Ctrl+Shift+H</translation>
</message>
<message>
<source>Preferences</source>
<translation>Nastavení</translation>
</message>
<message>
<source>Ctrl+P</source>
<translation>Ctrl+P</translation>
</message>
<message>
<source>Show Indicators</source>
<translation>Ukázat ukazatele</translation>
</message>
<message>
<source>The chosen settings do not allow pegs of the same color!</source>
<translation>Zvolená nastavení nedovolují kameny stejné barvy.</translation>
</message>
</context>
<context>
<name>PrefDialog</name>
<message>
<source>... Select from predefined level settings</source>
<translation>... Vybrat stupeň obtížnosti</translation>
</message>
<message>
<source>Beginner (2 Colors, 2 Slots, Doubles)</source>
<translation>Začátečník (2 barvy, 2 pole, zdvojení)</translation>
</message>
<message>
<source>Easy (4 Colors, 3 Slots, No Doubles)</source>
<translation>Lehká hra (4 barvy, 3 pole, bez zdvojení)</translation>
</message>
<message>
<source>Classic (6 Colors, 4 Slots, Doubles)</source>
<translation>Klasická hra (6 barev, 4 pole, zdvojení)</translation>
</message>
<message>
<source>Challenging (8 Colors, 4 Slots, Doubles)</source>
<translation>Náročná hra (8 barev, 4 pole, zdvojení)</translation>
</message>
<message>
<source>Hard (10 Colors, 5 Slots, Doubles)</source>
<translation>Těžká hra (10 barev, 5 polí, zdvojení)</translation>
</message>
<message>
<source>Slots</source>
<translation>pole</translation>
</message>
<message>
<source>Colors</source>
<translation>barev</translation>
</message>
<message>
<source>Human vs. Computer</source>
<translation>Člověk proti počítači</translation>
</message>
<message>
<source>Computer vs. Human</source>
<translation>Člověk proti počítači</translation>
</message>
<message>
<source>Low</source>
<translation>Nízká</translation>
</message>
<message>
<source>Medium</source>
<translation>Střední</translation>
</message>
<message>
<source>High</source>
<translation>Vysoká</translation>
</message>
<message>
<source>Preferences</source>
<translation>Nastavení</translation>
</message>
<message>
<source>Appearance</source>
<translation>Vzhled</translation>
</message>
<message>
<source>Controls</source>
<translation>Ovládací prvky</translation>
</message>
<message>
<source>Show or hide the Menubar.</source>
<translation>Ukázat nebo skrýt pruh s hlavní nabídkou.</translation>
</message>
<message>
<source>Show Menubar</source>
<translation>Ukázat pruh s hlavní nabídkou</translation>
</message>
<message>
<source>Show or hide the Toolbar.</source>
<translation>Ukázat nebo skrýt nástrojový pruh.</translation>
</message>
<message>
<source>Show Toolbar</source>
<translation>Ukázat nástrojový pruh</translation>
</message>
<message>
<source>Show or hide the Statusbar.</source>
<translation>Ukázat nebo skrýt stavový pruh.</translation>
</message>
<message>
<source>Show Statusbar</source>
<translation>Ukázat stavový pruh</translation>
</message>
<message>
<source>Indicators</source>
<translation>Ukazatelé</translation>
</message>
<message>
<source>If this option is checked, an indicator
inside each peg is displayed.</source>
<translation>Když je zapnuta tato volba, je u každého
kamene zobrazen dodatečný ukazatel.</translation>
</message>
<message>
<source>Show Indicators inside pegs</source>
<translation>Ukázat dodatečné ukazatele pro kameny</translation>
</message>
<message>
<source>Use unique letters as indicators.</source>
<translation>Použít písmena jako ukazatele.</translation>
</message>
<message>
<source>Letter Indicators</source>
<translation>Písmenní ukazatelé</translation>
</message>
<message>
<source>Use unique numbers as indicators.</source>
<translation>Použít čísla jako ukazatele.</translation>
</message>
<message>
<source>Number Indicators</source>
<translation>Číselní ukazatelé</translation>
</message>
<message>
<source>Use the same neutral background color for each peg,
when indicators are shown.</source>
<translation>Pro všechny kameny použít, v případě že jsou zobrazováni ukazatelé,
stejnou nenápadnou barvu pozadí.</translation>
</message>
<message>
<source>Hide Colors</source>
<translation>Skrýt barvy</translation>
</message>
<message>
<source>Click here if you have changed the color order
and now you want to revert it to it&apos;s initial state. </source>
<translation>Klepněte sem, pokud jste změnil pořadí barev,
a nyní to chcete vrátit do počátečního stavu.</translation>
</message>
<message>
<source>Reset Color Order</source>
<translation>Znovu nastavit pořadí barev</translation>
</message>
<message>
<source>Game Settings</source>
<translation>Herní nastavení</translation>
</message>
<message>
<source>Level Presets</source>
<translation>Přednastavení stupně obtížnosti</translation>
</message>
<message>
<source>Select from predefined combinations
of the three different level related settings,
the number of colors, the number of slots (columns)
and the possibility of pegs of the same color in one row. </source>
<translation>Vyberte z přednastavených spojení tří různých
nastavení souvisejících se stupni obtížnosti:
počet barev, počet polí (sloupců) a možnost
kamenů stejné barvy v jednom řádku.</translation>
</message>
<message>
<source>Number of Slots</source>
<translation>Počet polí</translation>
</message>
<message>
<source>Number of Colors</source>
<translation>Počet barev</translation>
</message>
<message>
<source>Number of pegs in a single row.
Higher values are harder to guess.</source>
<translation>Počet kamenů v jednom řádku.
Vyšší hodnoty je těžší uhodnout.</translation>
</message>
<message>
<source>Number of all possible colors.
Higher values are harder to guess.</source>
<translation>Celkový počet všech možných barev.
Vyšší hodnoty je těžší uhodnout.</translation>
</message>
<message>
<source>If this option is checked, the hidden combination
may contain one or more (even all would be possible)
pegs of the same color.
If checked, the combination is generally harder to guess.</source>
<translation>Když je zapnuta tato volba, skryté spojení může
obsahovat jeden nebo více kamenů stejné barvy
(dokonce je možné, že všechny).
Je-li zaškrtnuto, je spojení obecně obtížněji uhodnutelné.</translation>
</message>
<message>
<source>Allow Pegs of Same Color</source>
<translation>Povolit kameny téže barvy</translation>
</message>
<message>
<source>Game Mode</source>
<translation>Herní režim</translation>
</message>
<message>
<source>Select from the different game modes.
In the 1. mode you have to to guess the hidden,
computer generated combination,
In the 2. mode your computer will try to guess your
own secret combination.</source>
<translation>Vyberte z různých herních režimů.
V prvním režimu musíte uhodnout skryté,
počítačem vytvořené spojení.
Ve druhém režimu se počítač pokusí uhodnout
vaše vlastní tajné spojení.</translation>
</message>
<message>
<source>If checked, a row is closed as soon as you place the last peg
and your guess is submitted immediatly.
This option only affects the Human vs. Computer game mode.</source>
<translation>Když je zapnuta tato volba, je řádek uzavřen, jakmile umístíte poslední kámen
a váš herní tah je okamžitě vyhodnocen.
Tato volba účinkuje pouze v herním režimu, kdy hraje člověk proti počítači.</translation>
</message>
<message>
<source>Close Rows when the last Peg is placed</source>
<translation>Zavřít řádky po umístění posledního kamene</translation>
</message>
<message>
<source>If checked, the computer will determine the corresponding hints for the solver&apos;s guess.
This option affects only Computer vs. Human games.
If checked, you only have to place your secret combination.
Then the rest of the game runs automatically until the end.
But you can set a delay between the guesses.</source>
<translation>Je-li zapnuta tato volba, budou automaticky vyplněna pole s ödpovídajícími radami pro odhad počítače.
Tato volba účinkuje pouze při hře počítače proti člověku.
Je-li zaškrtnuta, musíte pouze umístit své tajné spojení.
Pak běží zbytek hry automaticky do konce.
Ovšem mezi herními tahy můžete nastavit zpoždění.</translation>
</message>
<message>
<source>Set Hints automatically</source>
<translation>Nastavit rady automaticky</translation>
</message>
<message>
<source>Adjust the delay (in ms) between two guesses.</source>
<translation>Upravit zpoždění v milisekundách mezi dvěma herními tahy.</translation>
</message>
<message>
<source>Delay in ms</source>
<translation>Zpoždění v ms</translation>
</message>
<message>
<source>Solver Strength</source>
<translation>Síla počítače</translation>
</message>
<message>
<source>Select from 3 different strength levels for your computer opponent.
This option only affects the Computer vs. Human game mode.
For the computer&apos;s guess in the Human vs. Computer mode
always the highest level will be used.</source>
<translation>Vyberte jednu ze tří různých herních sil pro vašeho počítačového protivníka.
Tato volba účinkuje pouze v herním režimu, kdy hraje počítač proti člověku.
Pro počítačův herní tah v režimu, kdy hraje člověk proti počítači se vždy použije
nejvyšší úroveň herní síly.</translation>
</message>
</context>
<context>
<name>RowHint</name>
@ -338,6 +657,11 @@ Chcete vzdát nynější hru a začít novou?</translation>
<source>Commit Your solution</source>
<translation>Vyzkoušet své řešení</translation>
</message>
<message>
<source>Click the circles to rate my guess.
Hit Ctrl+H or the corresponding toolbar button to let an impartial part of me do this for you ;-)</source>
<translation>Klepněte na kruhy pro vyhodnocení mého herního tahu.
Stiskněte Ctrl+H nebo odpovídající tlačítko v nástrojovém pruhu, abyste přenesl onu záležitost s vyhodnocením na tu moji část, která je v tomto případě zcela nestranná. :-)</translation>
</message>
</context>
</TS>

Binary file not shown.

View File

@ -32,9 +32,21 @@
<source>About ColorCode</source>
<translation>Info ColorCode</translation>
</message>
<message>
<source>&lt;br&gt;&lt;br&gt;Free MasterMind clone including a built in,&lt;br&gt;rather intelligent solver.</source>
<translation>&lt;br&gt;&lt;br&gt;Freie MasterMind-Variante mit ziemlich &lt;br&gt;intelligentem Rechner-Spieler.</translation>
</message>
<message>
<source>Version</source>
<translation>Version</translation>
</message>
<message>
<source>Author</source>
<translation>Autor</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<name>ColorCode</name>
<message>
<source>New Game</source>
<translation>Neues Spiel</translation>
@ -81,10 +93,6 @@ ein neues Spiel beginnen?</translation>
<source>Ctrl+C</source>
<translation></translation>
</message>
<message>
<source>Ctrl+4</source>
<translation></translation>
</message>
<message>
<source>Ctrl+A</source>
<translation></translation>
@ -119,10 +127,6 @@ Do you want to give in the current and start a new Game?</source>
<translation>Die geänderten Einstellungen werden erst in neuen Spielen berücksichtigt!
Möchten Sie das gegenwärtige Spiel aufgeben und ein neues Spiel beginnen?</translation>
</message>
<message>
<source>Press the Hint Field if You&apos;re done.</source>
<translation>Fertig? Dann klicken Sie auf das Hinweis-Feld.</translation>
</message>
<message>
<source>Place Your pegs ...</source>
<translation>Setzen Sie Ihre Steine ...</translation>
@ -203,21 +207,9 @@ Möchten Sie das gegenwärtige Spiel aufgeben und ein neues Spiel beginnen?</tra
<source>Ctrl+S</source>
<translation></translation>
</message>
<message>
<source>Easy - 6 Colors</source>
<translation>Leicht - 6 Farben</translation>
</message>
<message>
<source>Medium - 8 Colors</source>
<translation>Mittel - 8 Farben</translation>
</message>
<message>
<source>Hard - 10 Colors</source>
<translation>Schwer - 10 Farben</translation>
</message>
<message>
<source>Show Toolbar</source>
<translation>Toolbar anzeigen</translation>
<translation>Werkzeugleiste anzeigen</translation>
</message>
<message>
<source>Show Menubar</source>
@ -231,14 +223,430 @@ Möchten Sie das gegenwärtige Spiel aufgeben und ein neues Spiel beginnen?</tra
<source>Allow Pegs of the Same Color</source>
<translation>Steine gleicher Farbe erlauben</translation>
</message>
<message>
<source>Close Rows when the 4th Peg is placed</source>
<translation>Reihen nach Setzen des 4. Steins auswerten</translation>
</message>
<message>
<source>Level</source>
<translation>Schwierigkeitsgrad</translation>
</message>
<message>
<source>Computer&apos;s Guess</source>
<translation>Lassen Sie Ihren Rechner raten</translation>
</message>
<message>
<source>Ctrl+H</source>
<translation></translation>
</message>
<message>
<source>Press the Hint Field or Key Enter if You&apos;re done.</source>
<translation>Fertig? Benutzen Sie das Hinweis-Feld oder die Eingabetaste.</translation>
</message>
<message>
<source>Disallow Pegs of the Same Color</source>
<translation>Keine Steine gleicher Farbe erlauben</translation>
</message>
<message>
<source>Close Rows when the last Peg is placed</source>
<translation>Reihen nach Setzen des letzten Steins auswerten</translation>
</message>
<message>
<source>Ctrl+L</source>
<translation></translation>
</message>
<message>
<source>Beginner (2 Colors, 2 Slots, Doubles)</source>
<translation>Anfänger (2 Farben, 2 Slots, Doppelte)</translation>
</message>
<message>
<source>Easy (4 Colors, 3 Slots, No Doubles)</source>
<translation>Leicht (4 Farben, 3 Slots, Keine Doppelten)</translation>
</message>
<message>
<source>Classic (6 Colors, 4 Slots, Doubles)</source>
<translation>Klassisch (6 Farben, 4 Slots, Doppelte)</translation>
</message>
<message>
<source>Challenging (8 Colors, 4 Slots, Doubles)</source>
<translation>Fordernd (8 Farben, 4 Slots, Doppelte)</translation>
</message>
<message>
<source>Hard (10 Colors, 5 Slots, Doubles)</source>
<translation>Schwer (10 Farben, 5 Slots, Doppelte)</translation>
</message>
<message>
<source>Level Presets</source>
<translation>Schwierigkeitsstufen</translation>
</message>
<message>
<source>Colors</source>
<translation>Farben</translation>
</message>
<message>
<source>Pegs of Same Color</source>
<translation>Steine gleicher Farbe</translation>
</message>
<message>
<source>Slots</source>
<translation>Felder</translation>
</message>
<message>
<source>Yes</source>
<translation>Ja</translation>
</message>
<message>
<source>No</source>
<translation>Nein</translation>
</message>
<message>
<source>Reset Color Order</source>
<translation>Farbreihenfolge zurücksetzen</translation>
</message>
<message>
<source>Ctrl+Shift+L</source>
<translation></translation>
</message>
<message>
<source>Online &amp;Help</source>
<translation>Online-&amp;Hilfe</translation>
</message>
<message>
<source>F1</source>
<translation></translation>
</message>
<message>
<source>Done</source>
<translation>Fertig</translation>
</message>
<message>
<source>Ctrl+Shift+N</source>
<translation></translation>
</message>
<message>
<source>Rate it for me</source>
<translation>Bewerte für mich</translation>
</message>
<message>
<source>Human vs Computer</source>
<translation>Mensch gegen Rechner</translation>
</message>
<message>
<source>Computer vs Human</source>
<translation>Rechner gegen Mensch</translation>
</message>
<message>
<source>Game Mode</source>
<translation>Spiel Modus</translation>
</message>
<message>
<source>Press the button below or Key Enter if You&apos;re done.</source>
<translation>Fertig? Benutzen Sie den Button oder die Eingabetaste.</translation>
</message>
<message>
<source>Place Your secret ColorCode ...</source>
<translation>Platzieren Sie den geheimen ColorCode ...</translation>
</message>
<message>
<source>Please rate the guess. Press OK or Key Enter if You&apos;re done.</source>
<translation>Bitte bewerten Sie meinen Vorschlag. Nutzen Sie Ok-Button oder Eingabetaste wenn fertig.</translation>
</message>
<message>
<source>The impossible happened, sorry.</source>
<translation>Das Unmögliche ist eingetreten, leider.</translation>
</message>
<message>
<source>Yeah! I guessed it, man!</source>
<translation>Ich hab&apos;s geahnt!</translation>
</message>
<message>
<source>Embarrassing! I lost a game!</source>
<translation>Peinlich! Ich hab ein Spiel verloren!</translation>
</message>
<message>
<source>Nope! Thats impossible! Did you gave me false hints?</source>
<translation>Nein! Das ist unmöglich! Haben Sie falsch bewertet?</translation>
</message>
<message>
<source>Don&apos;t you like to see me winning? ;-)</source>
<translation>Ertragen Sie es nicht, mich gewinnen zu sehen? ;-)</translation>
</message>
<message>
<source>Set Hints automatically</source>
<translation>Hinweise automatisch setzen</translation>
</message>
<message>
<source>Ctrl+Shift+H</source>
<translation></translation>
</message>
<message>
<source>Preferences</source>
<translation>Einstellungen</translation>
</message>
<message>
<source>Ctrl+P</source>
<translation></translation>
</message>
<message>
<source>Show Indicators</source>
<translation>Bezeichner anzeigen</translation>
</message>
<message>
<source>The chosen settings do not allow pegs of the same color!</source>
<translation>Die gewählten Einstellungen erlauben keine Steine gleicher Farbe!</translation>
</message>
</context>
<context>
<name>PrefDialog</name>
<message>
<source>... Select from predefined level settings</source>
<translation>... Schwierigkeitsstufe auswählen</translation>
</message>
<message>
<source>Beginner (2 Colors, 2 Slots, Doubles)</source>
<translation>Anfänger (2 Farben, 2 Slots, Doppelte)</translation>
</message>
<message>
<source>Easy (4 Colors, 3 Slots, No Doubles)</source>
<translation>Leicht (4 Farben, 3 Slots, Keine Doppelten)</translation>
</message>
<message>
<source>Classic (6 Colors, 4 Slots, Doubles)</source>
<translation>Klassisch (6 Farben, 4 Slots, Doppelte)</translation>
</message>
<message>
<source>Challenging (8 Colors, 4 Slots, Doubles)</source>
<translation>Fordernd (8 Farben, 4 Slots, Doppelte)</translation>
</message>
<message>
<source>Hard (10 Colors, 5 Slots, Doubles)</source>
<translation>Schwer (10 Farben, 5 Slots, Doppelte)</translation>
</message>
<message>
<source>Slots</source>
<translation>Felder</translation>
</message>
<message>
<source>Colors</source>
<translation>Farben</translation>
</message>
<message>
<source>Human vs. Computer</source>
<translation>Mensch gegen Rechner</translation>
</message>
<message>
<source>Computer vs. Human</source>
<translation>Rechner gegen Mensch</translation>
</message>
<message>
<source>Low</source>
<translation>Schwach</translation>
</message>
<message>
<source>Medium</source>
<translation>Mittel</translation>
</message>
<message>
<source>High</source>
<translation>Stark</translation>
</message>
<message>
<source>Preferences</source>
<translation>Einstellungen</translation>
</message>
<message>
<source>Appearance</source>
<translation>Erscheinungsbild</translation>
</message>
<message>
<source>Controls</source>
<translation>Bedienelemente</translation>
</message>
<message>
<source>Show or hide the Menubar.</source>
<translation>Menüleiste anzeigen oder ausblenden.</translation>
</message>
<message>
<source>Show Menubar</source>
<translation>Menüleiste anzeigen</translation>
</message>
<message>
<source>Show or hide the Toolbar.</source>
<translation>Werkzeugleiste anzeigen oder ausblenden.</translation>
</message>
<message>
<source>Show Toolbar</source>
<translation>Werkzeugleiste anzeigen</translation>
</message>
<message>
<source>Show or hide the Statusbar.</source>
<translation>Statusleiste anzeigen oder ausblenden.</translation>
</message>
<message>
<source>Show Statusbar</source>
<translation>Statusleiste anzeigen</translation>
</message>
<message>
<source>Indicators</source>
<translation>Bezeichner</translation>
</message>
<message>
<source>If this option is checked, an indicator
inside each peg is displayed.</source>
<translation>Wenn diese Option aktiv ist, wird ein
zusätzlicher Bezeichner für jeden Stein angezeigt.</translation>
</message>
<message>
<source>Show Indicators inside pegs</source>
<translation>Bezeichner für Steine anzeigen</translation>
</message>
<message>
<source>Use unique letters as indicators.</source>
<translation>Buchstaben als Bezeichner verwenden.</translation>
</message>
<message>
<source>Letter Indicators</source>
<translation>Buchstaben-Bezeichner</translation>
</message>
<message>
<source>Use unique numbers as indicators.</source>
<translation>Zahlen als Bezeichner verwenden.</translation>
</message>
<message>
<source>Number Indicators</source>
<translation>Zahlen-Bezeichner</translation>
</message>
<message>
<source>Use the same neutral background color for each peg,
when indicators are shown.</source>
<translation>Die gleiche, neutrale Farbe für alle Steine verwenden,
falls Bezeichner angezeigt werden.</translation>
</message>
<message>
<source>Hide Colors</source>
<translation>Farben ausblenden</translation>
</message>
<message>
<source>Click here if you have changed the color order
and now you want to revert it to it&apos;s initial state. </source>
<translation>Klicken Sie hier, falls Sie die Farben-Anordnung geändert haben,
um diese wieder in den ursprünglichen Zustand zurückzuversetzen.</translation>
</message>
<message>
<source>Reset Color Order</source>
<translation>Farbreihenfolge zurücksetzen</translation>
</message>
<message>
<source>Game Settings</source>
<translation>Spiel-Einstellungen</translation>
</message>
<message>
<source>Level Presets</source>
<translation>Schwierigkeitsstufen</translation>
</message>
<message>
<source>Select from predefined combinations
of the three different level related settings,
the number of colors, the number of slots (columns)
and the possibility of pegs of the same color in one row. </source>
<translation>Wählen Sie eine vordefinierte Kombination
der drei verschiedenen, den Schwierigkeitsgrad
beeinflussenden Einstellungen.</translation>
</message>
<message>
<source>Number of Slots</source>
<translation>Anzahl der Felder</translation>
</message>
<message>
<source>Number of Colors</source>
<translation>Anzahl der Farben</translation>
</message>
<message>
<source>Number of pegs in a single row.
Higher values are harder to guess.</source>
<translation>Die Anzahl der Steine in einer einzelnen
Reihe. Höhere Werte sind schwerer zu erraten.</translation>
</message>
<message>
<source>Number of all possible colors.
Higher values are harder to guess.</source>
<translation>Gesamtanzahl der möglichen Farben.
Höhere Werte sind schwerer zu erraten.</translation>
</message>
<message>
<source>If this option is checked, the hidden combination
may contain one or more (even all would be possible)
pegs of the same color.
If checked, the combination is generally harder to guess.</source>
<translation>Wenn diese Option aktiv ist, können Kombinationen
Steine gleicher Farbe enthalten. Solche Kombinationen
sind etwas schwerer zu erraten.</translation>
</message>
<message>
<source>Allow Pegs of Same Color</source>
<translation>Steine gleicher Farbe erlauben</translation>
</message>
<message>
<source>Game Mode</source>
<translation>Spiel Modus</translation>
</message>
<message>
<source>Select from the different game modes.
In the 1. mode you have to to guess the hidden,
computer generated combination,
In the 2. mode your computer will try to guess your
own secret combination.</source>
<translation>Wählen Sie einen Spiel-Modus aus.
Im 1. Fall müssen Sie versuchen, die verborgene,
rechnergenerierte Kombination zu erraten.
Im 2. Fall wird Ihr Rechner versuchen, eine geheime
Kombination Ihrer Wahl zu erraten.</translation>
</message>
<message>
<source>If checked, a row is closed as soon as you place the last peg
and your guess is submitted immediatly.
This option only affects the Human vs. Computer game mode.</source>
<translation>Wenn aktiv, wird eine Reihe als geschlossen betrachtet, sobald
Sie den letzten Stein platziert haben, und Ihr Vorschlag wird sofort
ausgewertet. Diese Option hat nur Auswirkungen in Mensch-gegen-Rechner-Spielen.</translation>
</message>
<message>
<source>Close Rows when the last Peg is placed</source>
<translation>Reihen nach Setzen des letzten Steins auswerten</translation>
</message>
<message>
<source>If checked, the computer will determine the corresponding hints for the solver&apos;s guess.
This option affects only Computer vs. Human games.
If checked, you only have to place your secret combination.
Then the rest of the game runs automatically until the end.
But you can set a delay between the guesses.</source>
<translation>Wenn aktiv, werden die Hinweisfelder zu den Rechner-Schätzungen automatisch ausgefüllt.
Diese Option betrifft nur Rechner-gegen-Mensch-Spiele.
Falls aktiv, müssen Sie nur Ihre geheime Kombination anordnen. Der Rest des Spiels
läuft dann automatisch bis zum Ende ab. Sie können allerdings eine Verzögerung bestimmen.</translation>
</message>
<message>
<source>Set Hints automatically</source>
<translation>Hinweise automatisch setzen</translation>
</message>
<message>
<source>Adjust the delay (in ms) between two guesses.</source>
<translation>Verzögerung (in ms) zwischen den Spielzügen.</translation>
</message>
<message>
<source>Delay in ms</source>
<translation>Verzögerung in ms</translation>
</message>
<message>
<source>Solver Strength</source>
<translation>Rechner-Stärke</translation>
</message>
<message>
<source>Select from 3 different strength levels for your computer opponent.
This option only affects the Computer vs. Human game mode.
For the computer&apos;s guess in the Human vs. Computer mode
always the highest level will be used.</source>
<translation>Wählen Sie eine der 3 verschiedenen Spielstärken für Ihren Rechner-Gegner aus.
Diese Option hat nur Einfluß auf Rechner-gegen-Mensch-Spiele.
Für die Rechner-Rat-Funktion im Mensch-gegen-Rechner-Modus wird immer die
höchste Spielstärke verwendet.</translation>
</message>
</context>
<context>
<name>RowHint</name>
@ -246,5 +654,11 @@ Möchten Sie das gegenwärtige Spiel aufgeben und ein neues Spiel beginnen?</tra
<source>Commit Your solution</source>
<translation>Kombination testen</translation>
</message>
<message>
<source>Click the circles to rate my guess.
Hit Ctrl+H or the corresponding toolbar button to let an impartial part of me do this for you ;-)</source>
<translation>Klicken Sie die Kreise, um meinen Vorschlag zu bewerten.
Drücken Sie Strg+H oder die entsprechende Werkzeugleisten-Schaltfläche, um die Bewertung einem unparteiischen Teil von mir zu übertragen ;-)</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1 @@
<クd<>箆!ソ`。スン

View File

@ -32,9 +32,21 @@
<source>About ColorCode</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;br&gt;&lt;br&gt;Free MasterMind clone including a built in,&lt;br&gt;rather intelligent solver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Author</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<name>ColorCode</name>
<message>
<source>New Game</source>
<translation type="unfinished"></translation>
@ -80,10 +92,6 @@ and start a new Game?</source>
<source>Ctrl+C</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+4</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
@ -117,10 +125,6 @@ and start a new Game?</source>
Do you want to give in the current and start a new Game?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Press the Hint Field if You&apos;re done.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Place Your pegs ...</source>
<translation type="unfinished"></translation>
@ -201,18 +205,6 @@ Do you want to give in the current and start a new Game?</source>
<source>Ctrl+S</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Easy - 6 Colors</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Medium - 8 Colors</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hard - 10 Colors</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Toolbar</source>
<translation type="unfinished"></translation>
@ -230,11 +222,406 @@ Do you want to give in the current and start a new Game?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Close Rows when the 4th Peg is placed</source>
<source>Level</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Level</source>
<source>Computer&apos;s Guess</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+H</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Press the Hint Field or Key Enter if You&apos;re done.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Disallow Pegs of the Same Color</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Close Rows when the last Peg is placed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+L</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Beginner (2 Colors, 2 Slots, Doubles)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Easy (4 Colors, 3 Slots, No Doubles)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Classic (6 Colors, 4 Slots, Doubles)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Challenging (8 Colors, 4 Slots, Doubles)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hard (10 Colors, 5 Slots, Doubles)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Level Presets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Colors</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Pegs of Same Color</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Slots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Yes</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reset Color Order</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+Shift+L</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Online &amp;Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Done</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+Shift+N</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rate it for me</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Human vs Computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Computer vs Human</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Game Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Press the button below or Key Enter if You&apos;re done.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Place Your secret ColorCode ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Please rate the guess. Press OK or Key Enter if You&apos;re done.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The impossible happened, sorry.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Yeah! I guessed it, man!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Embarrassing! I lost a game!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Nope! Thats impossible! Did you gave me false hints?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Don&apos;t you like to see me winning? ;-)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Hints automatically</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+Shift+H</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ctrl+P</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Indicators</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The chosen settings do not allow pegs of the same color!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PrefDialog</name>
<message>
<source>... Select from predefined level settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Beginner (2 Colors, 2 Slots, Doubles)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Easy (4 Colors, 3 Slots, No Doubles)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Classic (6 Colors, 4 Slots, Doubles)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Challenging (8 Colors, 4 Slots, Doubles)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hard (10 Colors, 5 Slots, Doubles)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Slots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Colors</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Human vs. Computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Computer vs. Human</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Low</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Medium</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>High</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Controls</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show or hide the Menubar.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Menubar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show or hide the Toolbar.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show or hide the Statusbar.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Statusbar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Indicators</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>If this option is checked, an indicator
inside each peg is displayed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Indicators inside pegs</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use unique letters as indicators.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Letter Indicators</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use unique numbers as indicators.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Number Indicators</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use the same neutral background color for each peg,
when indicators are shown.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hide Colors</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Click here if you have changed the color order
and now you want to revert it to it&apos;s initial state. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reset Color Order</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Game Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Level Presets</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select from predefined combinations
of the three different level related settings,
the number of colors, the number of slots (columns)
and the possibility of pegs of the same color in one row. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Number of Slots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Number of Colors</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Number of pegs in a single row.
Higher values are harder to guess.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Number of all possible colors.
Higher values are harder to guess.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>If this option is checked, the hidden combination
may contain one or more (even all would be possible)
pegs of the same color.
If checked, the combination is generally harder to guess.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Allow Pegs of Same Color</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Game Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select from the different game modes.
In the 1. mode you have to to guess the hidden,
computer generated combination,
In the 2. mode your computer will try to guess your
own secret combination.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>If checked, a row is closed as soon as you place the last peg
and your guess is submitted immediatly.
This option only affects the Human vs. Computer game mode.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Close Rows when the last Peg is placed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>If checked, the computer will determine the corresponding hints for the solver&apos;s guess.
This option affects only Computer vs. Human games.
If checked, you only have to place your secret combination.
Then the rest of the game runs automatically until the end.
But you can set a delay between the guesses.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Hints automatically</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Adjust the delay (in ms) between two guesses.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delay in ms</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Solver Strength</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select from 3 different strength levels for your computer opponent.
This option only affects the Computer vs. Human game mode.
For the computer&apos;s guess in the Human vs. Computer mode
always the highest level will be used.</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -244,5 +631,10 @@ Do you want to give in the current and start a new Game?</source>
<source>Commit Your solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Click the circles to rate my guess.
Hit Ctrl+H or the corresponding toolbar button to let an impartial part of me do this for you ;-)</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

Binary file not shown.

View File

@ -0,0 +1,660 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="fr_FR">
<defaultcodec>UTF-8</defaultcodec>
<context>
<name>About</name>
<message>
<source>&amp;Author</source>
<translation>&amp;Auteur</translation>
</message>
<message>
<source>icon</source>
<translation>icône</translation>
</message>
<message>
<source>&amp;License</source>
<translation>&amp;Licence</translation>
</message>
<message>
<source>A needful game to train your brain ;-)</source>
<translation>Un programme incontournable pour entraîner votre cerveau ;-)</translation>
</message>
<message>
<source>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</source>
<translation>Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier selon les termes de la GNU General Public License (licence générale publique du projet GNU), telle qu&apos;elle est publiée par la Free Software Foundation (Fondation pour le Logiciel Libre), soit sous sa version 2, soit (selon votre choix) sous n&apos;importe quelle version ultérieure.</translation>
</message>
<message>
<source>ColorCode</source>
<translation>ColorCode</translation>
</message>
<message>
<source>About ColorCode</source>
<translation>À propos de ColorCode</translation>
</message>
<message>
<source>&lt;br&gt;&lt;br&gt;Free MasterMind clone including a built in,&lt;br&gt;rather intelligent solver.</source>
<translation>&lt;br&gt;&lt;br&gt;Clone du logiciel MasterMind incluant un solveur plutôt malin.</translation>
</message>
<message>
<source>Version</source>
<translation>Version</translation>
</message>
<message>
<source>Author</source>
<translation>Auteur</translation>
</message>
</context>
<context>
<name>ColorCode</name>
<message>
<source>New Game</source>
<translation>Nouvelle partie</translation>
</message>
<message>
<source>Do you want to give in
and start a new Game?</source>
<translation>Voulez-vous abandonner
et démarrer une nouvelle partie ?</translation>
</message>
<message>
<source>About Qt</source>
<translation>À propos de Qt</translation>
</message>
<message>
<source>&amp;New Game</source>
<translation>&amp;Nouvelle partie</translation>
</message>
<message>
<source>Ctrl+N</source>
<translation></translation>
</message>
<message>
<source>&amp;Restart Game</source>
<translation>&amp;Redémarrer la partie</translation>
</message>
<message>
<source>Ctrl+R</source>
<translation>Ctrl+R</translation>
</message>
<message>
<source>E&amp;xit</source>
<translation>&amp;Quitter</translation>
</message>
<message>
<source>Ctrl+Q</source>
<translation></translation>
</message>
<message>
<source>Ctrl+T</source>
<translation></translation>
</message>
<message>
<source>Ctrl+C</source>
<translation></translation>
</message>
<message>
<source>Ctrl+A</source>
<translation></translation>
</message>
<message>
<source>About &amp;Qt</source>
<translation>À propos de &amp;Qt</translation>
</message>
<message>
<source>&amp;Game</source>
<translation>&amp;Partie</translation>
</message>
<message>
<source>&amp;Settings</source>
<translation>&amp;Préférences</translation>
</message>
<message>
<source>&amp;Help</source>
<translation>&amp;Aide</translation>
</message>
<message>
<source>Game</source>
<translation>Partie</translation>
</message>
<message>
<source>Message</source>
<translation></translation>
</message>
<message>
<source>The changed settings will only apply to new games!
Do you want to give in the current and start a new Game?</source>
<translation>Les préférences modifiées ne s&apos;appliqueront qu&apos;aux nouvelles parties !
Voulez-vous abandonner la partie et en démarrer une nouvelle ?</translation>
</message>
<message>
<source>Place Your pegs ...</source>
<translation>Placez vos fiches...</translation>
</message>
<message>
<source>Congratulation! You have won!</source>
<translation>Congratulations ! Vous gagnâtes !</translation>
</message>
<message>
<source>Sorry! You lost!</source>
<translation>Désolé ! Vous perdîtes !</translation>
</message>
<message>
<source>Ctrl+I</source>
<translation></translation>
</message>
<message>
<source>Give In</source>
<translation>Abandonner</translation>
</message>
<message>
<source>Do you really want to give in?</source>
<translation>Voulez-vous réellement abandonner ?</translation>
</message>
<message>
<source>&amp;Throw In The Towel</source>
<translation>&amp;Donner sa langue au chat</translation>
</message>
<message>
<source>Ctrl+G</source>
<translation></translation>
</message>
<message>
<source>Sure, You&apos;re too weak for me!</source>
<translation>Vous êtes trop faible pour moi ; c&apos;est sûr !</translation>
</message>
<message>
<source>Ctrl+Shift+R</source>
<translation></translation>
</message>
<message>
<source>Ctrl+Shift+C</source>
<translation></translation>
</message>
<message>
<source>Fill Row by Random</source>
<translation>Garnir la rangée au hasard</translation>
</message>
<message>
<source>Duplicate Previous Row</source>
<translation>Dupliquer la rangée précédente</translation>
</message>
<message>
<source>Ctrl+D</source>
<translation></translation>
</message>
<message>
<source>Clear Row</source>
<translation>Effacer la rangée</translation>
</message>
<message>
<source>&amp;Row</source>
<translation>&amp;Rangée</translation>
</message>
<message>
<source>ColorCode</source>
<translation></translation>
</message>
<message>
<source>About &amp;ColorCode</source>
<translation>À propos de &amp;ColorCode</translation>
</message>
<message>
<source>Ctrl+M</source>
<translation></translation>
</message>
<message>
<source>Ctrl+S</source>
<translation></translation>
</message>
<message>
<source>Show Toolbar</source>
<translation>Afficher la barre d&apos;outils</translation>
</message>
<message>
<source>Show Menubar</source>
<translation>Afficher la barre de menu</translation>
</message>
<message>
<source>Show Statusbar</source>
<translation>Afficher la barre d&apos;état</translation>
</message>
<message>
<source>Allow Pegs of the Same Color</source>
<translation>Autoriser plusieurs fiches de même couleur</translation>
</message>
<message>
<source>Level</source>
<translation>Niveau</translation>
</message>
<message>
<source>Computer&apos;s Guess</source>
<translation>Essai de l&apos;ordinateur</translation>
</message>
<message>
<source>Ctrl+H</source>
<translation></translation>
</message>
<message>
<source>Press the Hint Field or Key Enter if You&apos;re done.</source>
<translation>Cliquer sur le champ des fiches d&apos;indices ou pressez &lt;Entrée&gt; quand vous êtes prêt.</translation>
</message>
<message>
<source>Disallow Pegs of the Same Color</source>
<translation>Interdire plusieurs fiches de même couleur</translation>
</message>
<message>
<source>Close Rows when the last Peg is placed</source>
<translation>Finaliser la rangée quand la dernière fiche est placée</translation>
</message>
<message>
<source>Ctrl+L</source>
<translation></translation>
</message>
<message>
<source>Beginner (2 Colors, 2 Slots, Doubles)</source>
<translation>Débutant (2 couleurs, 2 trous, doubles)</translation>
</message>
<message>
<source>Easy (4 Colors, 3 Slots, No Doubles)</source>
<translation>Facile (4 couleurs, 3 trous, pas de doubles)</translation>
</message>
<message>
<source>Classic (6 Colors, 4 Slots, Doubles)</source>
<translation>Classique (6 couleurs, 4 trous, doubles)</translation>
</message>
<message>
<source>Challenging (8 Colors, 4 Slots, Doubles)</source>
<translation>Évolué (8 couleurs, 4 trous, doubles)</translation>
</message>
<message>
<source>Hard (10 Colors, 5 Slots, Doubles)</source>
<translation>Difficile (10 couleurs, 5 trous, doubles)</translation>
</message>
<message>
<source>Level Presets</source>
<translation>Niveaux</translation>
</message>
<message>
<source>Colors</source>
<translation>Couleurs</translation>
</message>
<message>
<source>Pegs of Same Color</source>
<translation>Fiches de même couleurs autorisées</translation>
</message>
<message>
<source>Slots</source>
<translation>Trous</translation>
</message>
<message>
<source>Yes</source>
<translation>Oui</translation>
</message>
<message>
<source>No</source>
<translation>Non</translation>
</message>
<message>
<source>Reset Color Order</source>
<translation>Réinitialiser l&apos;ordre des couleurs</translation>
</message>
<message>
<source>Ctrl+Shift+L</source>
<translation></translation>
</message>
<message>
<source>Online &amp;Help</source>
<translation>&amp;Aide en ligne</translation>
</message>
<message>
<source>F1</source>
<translation></translation>
</message>
<message>
<source>Done</source>
<translation>Fait</translation>
</message>
<message>
<source>Ctrl+Shift+N</source>
<translation></translation>
</message>
<message>
<source>Rate it for me</source>
<translation>Évaluer pour moi</translation>
</message>
<message>
<source>Human vs Computer</source>
<translation>Humain contre Ordinateur</translation>
</message>
<message>
<source>Computer vs Human</source>
<translation>Ordinateur contre Humain</translation>
</message>
<message>
<source>Game Mode</source>
<translation>Mode de jeu</translation>
</message>
<message>
<source>Press the button below or Key Enter if You&apos;re done.</source>
<translation>Cliquer le bouton ci-dessous ou presser &lt;Entrée&gt; quand vous êtes prêt.</translation>
</message>
<message>
<source>Place Your secret ColorCode ...</source>
<translation>Placez votre code couleur secret...</translation>
</message>
<message>
<source>Please rate the guess. Press OK or Key Enter if You&apos;re done.</source>
<translation>Veuillez évaluer l&apos;essai. Cliquer OK ou presser &lt;Entrée&gt; quand vous êtes prêt.</translation>
</message>
<message>
<source>The impossible happened, sorry.</source>
<translation>L&apos;impossible advint, désolé.</translation>
</message>
<message>
<source>Yeah! I guessed it, man!</source>
<translation>Youpi! Je l&apos;ai deviné !</translation>
</message>
<message>
<source>Embarrassing! I lost a game!</source>
<translation>Embarassant ! J&apos;ai perdu la partie !</translation>
</message>
<message>
<source>Nope! Thats impossible! Did you gave me false hints?</source>
<translation>Nenni ! Ceci est impossible ! M&apos;avez-vous donné de faux indices ?</translation>
</message>
<message>
<source>Don&apos;t you like to see me winning? ;-)</source>
<translation>Aimez-vous me voir gagner ? ;-)</translation>
</message>
<message>
<source>Set Hints automatically</source>
<translation>Afficher les indices automatiquement</translation>
</message>
<message>
<source>Ctrl+Shift+H</source>
<translation></translation>
</message>
<message>
<source>Preferences</source>
<translation>Préférences</translation>
</message>
<message>
<source>Ctrl+P</source>
<translation></translation>
</message>
<message>
<source>Show Indicators</source>
<translation>Montrer les indicateurs sur les fiches</translation>
</message>
<message>
<source>The chosen settings do not allow pegs of the same color!</source>
<translation>Les préférences choisies ne permettent pas plusieurs fiches de même couleur !</translation>
</message>
</context>
<context>
<name>PrefDialog</name>
<message>
<source>... Select from predefined level settings</source>
<translation>... Sélectionner à partir des préférences de niveau</translation>
</message>
<message>
<source>Beginner (2 Colors, 2 Slots, Doubles)</source>
<translation>Débutant (2 couleurs, 2 trous, doubles)</translation>
</message>
<message>
<source>Easy (4 Colors, 3 Slots, No Doubles)</source>
<translation>Facile (4 couleurs, 3 trous, pas de doubles)</translation>
</message>
<message>
<source>Classic (6 Colors, 4 Slots, Doubles)</source>
<translation>Classique (6 couleurs, 4 trous, doubles)</translation>
</message>
<message>
<source>Challenging (8 Colors, 4 Slots, Doubles)</source>
<translation>Évolué (8 couleurs, 4 trous, doubles)</translation>
</message>
<message>
<source>Hard (10 Colors, 5 Slots, Doubles)</source>
<translation>Difficile (10 couleurs, 5 trous, doubles)</translation>
</message>
<message>
<source>Slots</source>
<translation>Trous</translation>
</message>
<message>
<source>Colors</source>
<translation>Couleurs</translation>
</message>
<message>
<source>Human vs. Computer</source>
<translation>Humain contre Ordinateur</translation>
</message>
<message>
<source>Computer vs. Human</source>
<translation>Ordinateur contre Humain</translation>
</message>
<message>
<source>Low</source>
<translation>Bas</translation>
</message>
<message>
<source>Medium</source>
<translation>Moyen</translation>
</message>
<message>
<source>High</source>
<translation>Élevé</translation>
</message>
<message>
<source>Preferences</source>
<translation>Préférences</translation>
</message>
<message>
<source>Appearance</source>
<translation>Apparence</translation>
</message>
<message>
<source>Controls</source>
<translation>Contrôles</translation>
</message>
<message>
<source>Show or hide the Menubar.</source>
<translation>Afficher ou cacher la barre de menu.</translation>
</message>
<message>
<source>Show Menubar</source>
<translation>Afficher la barre de menu</translation>
</message>
<message>
<source>Show or hide the Toolbar.</source>
<translation>Afficher ou cacher la barre d&apos;outils.</translation>
</message>
<message>
<source>Show Toolbar</source>
<translation>Afficher la barre d&apos;outils</translation>
</message>
<message>
<source>Show or hide the Statusbar.</source>
<translation>Afficher ou cacher la barre d&apos;état.</translation>
</message>
<message>
<source>Show Statusbar</source>
<translation>Afficher la barre d&apos;état</translation>
</message>
<message>
<source>Indicators</source>
<translation>Indicateurs de fiche</translation>
</message>
<message>
<source>If this option is checked, an indicator
inside each peg is displayed.</source>
<translation>Si cette option est cochée, un indicateur
est affiché à l&apos;intérieur de chaque fiche.</translation>
</message>
<message>
<source>Show Indicators inside pegs</source>
<translation>Montrer les indicateurs sur les fiches</translation>
</message>
<message>
<source>Use unique letters as indicators.</source>
<translation>Utiliser des lettres uniques comme indicateurs.</translation>
</message>
<message>
<source>Letter Indicators</source>
<translation>Lettres indicateur</translation>
</message>
<message>
<source>Use unique numbers as indicators.</source>
<translation>Utiliser des chiffres uniques comme indicateurs.</translation>
</message>
<message>
<source>Number Indicators</source>
<translation>Chiffres indicateur</translation>
</message>
<message>
<source>Use the same neutral background color for each peg,
when indicators are shown.</source>
<translation>Utiliser la même couleur de fond neutre pour chaque fiche,
quand les indicateurs sont affichés.</translation>
</message>
<message>
<source>Hide Colors</source>
<translation>Cacher les couleurs</translation>
</message>
<message>
<source>Click here if you have changed the color order
and now you want to revert it to it&apos;s initial state. </source>
<translation>Cliquer ici si vous avez changé l&apos;ordre des couleurs
et que vous voulez revenir à son état initial.</translation>
</message>
<message>
<source>Reset Color Order</source>
<translation>Réinitialiser l&apos;ordre des couleurs</translation>
</message>
<message>
<source>Game Settings</source>
<translation>Préférences de jeu</translation>
</message>
<message>
<source>Level Presets</source>
<translation>Niveaux prédéfinis</translation>
</message>
<message>
<source>Select from predefined combinations
of the three different level related settings,
the number of colors, the number of slots (columns)
and the possibility of pegs of the same color in one row. </source>
<translation>Sélectionner un niveau à partir de
niveaux prédéfinis.</translation>
</message>
<message>
<source>Number of Slots</source>
<translation>Nombre de trous</translation>
</message>
<message>
<source>Number of Colors</source>
<translation>Nombre de couleurs</translation>
</message>
<message>
<source>Number of pegs in a single row.
Higher values are harder to guess.</source>
<translation>Nombre de fiches sur une rangée.
Plus le nombre est élevé, plus la combinaison
est difficile à deviner.</translation>
</message>
<message>
<source>Number of all possible colors.
Higher values are harder to guess.</source>
<translation>Nombre de couleurs autorisées.
Plus le nombre est élevé, plus la combinaison
est difficile à deviner.</translation>
</message>
<message>
<source>If this option is checked, the hidden combination
may contain one or more (even all would be possible)
pegs of the same color.
If checked, the combination is generally harder to guess.</source>
<translation>Si cette option est cochée, la combinaison cachée
peut contenir une ou plusieurs (ou toutes) fiches
de même couleur. Dans ce cas, la combinaison est
généralement plus difficile à deviner.</translation>
</message>
<message>
<source>Allow Pegs of Same Color</source>
<translation>Autoriser plusieurs fiches de même couleur</translation>
</message>
<message>
<source>Game Mode</source>
<translation>Mode de jeu</translation>
</message>
<message>
<source>Select from the different game modes.
In the 1. mode you have to to guess the hidden,
computer generated combination,
In the 2. mode your computer will try to guess your
own secret combination.</source>
<translation>Sélectionner un mode de jeu parmi deux
modes prédéfinis.</translation>
</message>
<message>
<source>If checked, a row is closed as soon as you place the last peg
and your guess is submitted immediatly.
This option only affects the Human vs. Computer game mode.</source>
<translation>Si cette opions est cochée, votre essai est immédiatement
évalué dès que la dernière fiche est placée dans son trou.</translation>
</message>
<message>
<source>Close Rows when the last Peg is placed</source>
<translation>Finaliser la rangée quand la dernière fiche est placée</translation>
</message>
<message>
<source>If checked, the computer will determine the corresponding hints for the solver&apos;s guess.
This option affects only Computer vs. Human games.
If checked, you only have to place your secret combination.
Then the rest of the game runs automatically until the end.
But you can set a delay between the guesses.</source>
<translation>Si cette option est cochée, l&apos;ordinateur déterminera les indices pour l&apos;essai.
Cette option affecte uniquement les jeus Ordinateur contre Humain.
Ensuite, le restant du jeu se déroule automatiquement jusques à la fin.
Mais vous pouvez régler un délai entre les essais.</translation>
</message>
<message>
<source>Set Hints automatically</source>
<translation>Afficher les indices automatiquement</translation>
</message>
<message>
<source>Adjust the delay (in ms) between two guesses.</source>
<translation>Régler le délai (en millisecondes) entre deux essais.</translation>
</message>
<message>
<source>Delay in ms</source>
<translation>Délai en millisecondes</translation>
</message>
<message>
<source>Solver Strength</source>
<translation>Force du solveur</translation>
</message>
<message>
<source>Select from 3 different strength levels for your computer opponent.
This option only affects the Computer vs. Human game mode.
For the computer&apos;s guess in the Human vs. Computer mode
always the highest level will be used.</source>
<translation>Sélectionner la force de votre adversaire parmi trois niveaux prédéfinis.</translation>
</message>
</context>
<context>
<name>RowHint</name>
<message>
<source>Commit Your solution</source>
<translation>Envoyer votre solution</translation>
</message>
<message>
<source>Click the circles to rate my guess.
Hit Ctrl+H or the corresponding toolbar button to let an impartial part of me do this for you ;-)</source>
<translation>Cliquer les cercles pour évaluer mon essai.
Pressez Ctrl+H ou le bouton de barre d&apos;outils pour que je le fasse à votre place
de la manière la plus impartiales possible ;-)</translation>
</message>
</context>
</TS>

Binary file not shown.

View File

@ -0,0 +1,666 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="hu_HU">
<defaultcodec>UTF-8</defaultcodec>
<context>
<name>About</name>
<message>
<source>ColorCode</source>
<translation>ColorCode</translation>
</message>
<message>
<source>A needful game to train your brain ;-)</source>
<translation>Az agytekervények megmozgatására szolgáló játék ;-)</translation>
</message>
<message>
<source>&lt;br&gt;&lt;br&gt;Free MasterMind clone including a built in,&lt;br&gt;rather intelligent solver.</source>
<translation>&lt;br&gt;&lt;br&gt;Egy ingyenes MasterMind klón,&lt;br&gt; kiegészítve egy meglehetősen intelligens megoldóval.</translation>
</message>
<message>
<source>Version</source>
<translation>Verzió</translation>
</message>
<message>
<source>Author</source>
<translation>Szerző</translation>
</message>
<message>
<source>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</source>
<translation>Ez a program egy szabad szoftver, amit továbbadhatsz és/vagy módosíthatsz a GNU General Public Licensz alapján, amit a Free Software Foundation adott ki; a 2. Licensz verzió szerint, vagy bármely későbbi (tetszés szerint) verzió alapján.</translation>
</message>
<message>
<source>About ColorCode</source>
<translation>Névjegy: ColorCode</translation>
</message>
<message>
<source>&amp;Author</source>
<translation>&amp;Szerző</translation>
</message>
<message>
<source>icon</source>
<translation>ikon</translation>
</message>
<message>
<source>&amp;License</source>
<translation>&amp;Licensz</translation>
</message>
</context>
<context>
<name>ColorCode</name>
<message>
<source>ColorCode</source>
<translation>ColorCode</translation>
</message>
<message>
<source>Done</source>
<translation>Befejez</translation>
</message>
<message>
<source>&amp;New Game</source>
<translation>&amp;Új játék</translation>
</message>
<message>
<source>Ctrl+N</source>
<translation>Ctrl+N</translation>
</message>
<message>
<source>&amp;Restart Game</source>
<translation>&amp;Játék újrakezdése</translation>
</message>
<message>
<source>Ctrl+Shift+N</source>
<translation>Ctrl+Shift+N</translation>
</message>
<message>
<source>&amp;Throw In The Towel</source>
<translation>Játék &amp;feladása</translation>
</message>
<message>
<source>Ctrl+G</source>
<translation>Ctrl+G</translation>
</message>
<message>
<source>E&amp;xit</source>
<translation>&amp;Kilép</translation>
</message>
<message>
<source>Ctrl+Q</source>
<translation>Ctrl+Q</translation>
</message>
<message>
<source>Show Toolbar</source>
<translation>Eszköztár mutatása</translation>
</message>
<message>
<source>Ctrl+T</source>
<translation>Ctrl+T</translation>
</message>
<message>
<source>Show Menubar</source>
<translation>Menüsor mutatása</translation>
</message>
<message>
<source>Ctrl+M</source>
<translation>Ctrl+M</translation>
</message>
<message>
<source>Show Statusbar</source>
<translation>Állapotsor mutatása</translation>
</message>
<message>
<source>Ctrl+S</source>
<translation>Ctrl+S</translation>
</message>
<message>
<source>Reset Color Order</source>
<translation>Szín sorrend nullázása</translation>
</message>
<message>
<source>Ctrl+Shift+R</source>
<translation>Ctrl+Shift+R</translation>
</message>
<message>
<source>Show Indicators</source>
<translation>Jelzők használata</translation>
</message>
<message>
<source>Ctrl+Shift+L</source>
<translation>Ctrl+Shift+L</translation>
</message>
<message>
<source>Allow Pegs of the Same Color</source>
<translation>Azonos színű ékek engedélyezése</translation>
</message>
<message>
<source>Ctrl+Shift+C</source>
<translation>Ctrl+Shift+C</translation>
</message>
<message>
<source>Disallow Pegs of the Same Color</source>
<translation>Azonos színű ékek tiltása</translation>
</message>
<message>
<source>Close Rows when the last Peg is placed</source>
<translation>Sor zárolása az utolsó ék behelyezése után</translation>
</message>
<message>
<source>Ctrl+L</source>
<translation>Ctrl+L</translation>
</message>
<message>
<source>Set Hints automatically</source>
<translation>Automatikus útmutatások</translation>
</message>
<message>
<source>Ctrl+Shift+H</source>
<translation>Ctrl+Shift+H</translation>
</message>
<message>
<source>Online &amp;Help</source>
<translation>Online &amp;segítség</translation>
</message>
<message>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
<source>About &amp;ColorCode</source>
<translation>Névejgy: &amp;ColorCode</translation>
</message>
<message>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
<source>About &amp;Qt</source>
<translation>Névjegy: &amp;Qt</translation>
</message>
<message>
<source>Ctrl+I</source>
<translation>Ctrl+I</translation>
</message>
<message>
<source>Fill Row by Random</source>
<translation>Sorok kitöltése véletlenszerűen</translation>
</message>
<message>
<source>Ctrl+R</source>
<translation>Ctrl+R</translation>
</message>
<message>
<source>Duplicate Previous Row</source>
<translation>Előző sor duplázása</translation>
</message>
<message>
<source>Ctrl+D</source>
<translation>Ctrl+D</translation>
</message>
<message>
<source>Clear Row</source>
<translation>Sor törlése</translation>
</message>
<message>
<source>Ctrl+C</source>
<translation>Ctrl+C</translation>
</message>
<message>
<source>Beginner (2 Colors, 2 Slots, Doubles)</source>
<translation>Kezdő (2 szín, 2 lyuk, duplázás)</translation>
</message>
<message>
<source>Easy (4 Colors, 3 Slots, No Doubles)</source>
<translation>Könnyű (4 szín, 3 lyuk, nincs duplázás)</translation>
</message>
<message>
<source>Classic (6 Colors, 4 Slots, Doubles)</source>
<translation>Klasszikus (6 szín, 4 lyuk, duplázás)</translation>
</message>
<message>
<source>Challenging (8 Colors, 4 Slots, Doubles)</source>
<translation>Kihívás (8 szín, 4 lyuk, duplázás)</translation>
</message>
<message>
<source>Hard (10 Colors, 5 Slots, Doubles)</source>
<translation>Nehéz (10 szín, 5 lyuk, duplázás)</translation>
</message>
<message>
<source>Computer&apos;s Guess</source>
<translation>Gép tippje</translation>
</message>
<message>
<source>Ctrl+H</source>
<translation>Ctrl+H</translation>
</message>
<message>
<source>Rate it for me</source>
<translation>Értékeld nekem</translation>
</message>
<message>
<source>Human vs Computer</source>
<translation>Ember kontra számítógép</translation>
</message>
<message>
<source>Computer vs Human</source>
<translation>Számítógép kontra ember</translation>
</message>
<message>
<source>Preferences</source>
<translation>Beállítások</translation>
</message>
<message>
<source>Ctrl+P</source>
<translation>Ctrl+P</translation>
</message>
<message>
<source>&amp;Game</source>
<translation>&amp;Játék</translation>
</message>
<message>
<source>&amp;Row</source>
<translation>&amp;Sor</translation>
</message>
<message>
<source>&amp;Settings</source>
<translation>&amp;Beállítások</translation>
</message>
<message>
<source>Game Mode</source>
<translation>Játék mód</translation>
</message>
<message>
<source>Level Presets</source>
<translation>Nehézség beállítása</translation>
</message>
<message>
<source>&amp;Help</source>
<translation>&amp;Segítség</translation>
</message>
<message>
<source>Game</source>
<translation>Játék</translation>
</message>
<message>
<source>Colors</source>
<translation>Színek</translation>
</message>
<message>
<source>Slots</source>
<translation>Lyukak</translation>
</message>
<message>
<source>Level</source>
<translation>Nehézség</translation>
</message>
<message>
<source>Message</source>
<translation>Üzenet</translation>
</message>
<message>
<source>The changed settings will only apply to new games!
Do you want to give in the current and start a new Game?</source>
<translation>A megváltozott beállítások csak az új játékra lesznek érvényesek!
Feladod a jelenlegi játékot, és indítasz egy újat?</translation>
</message>
<message>
<source>New Game</source>
<translation>Új játék</translation>
</message>
<message>
<source>Do you want to give in
and start a new Game?</source>
<translation>Feladod, és kezdesz egy újat?</translation>
</message>
<message>
<source>Give In</source>
<translation>Felad</translation>
</message>
<message>
<source>Do you really want to give in?</source>
<translation>Tényleg feladod?</translation>
</message>
<message>
<source>About Qt</source>
<translation>Névjegy: Qt</translation>
</message>
<message>
<source>Press the Hint Field or Key Enter if You&apos;re done.</source>
<translation>Nyomd meg az útmutatás mezőt, vagy üsd le az entert ha kész vagy.</translation>
</message>
<message>
<source>Place Your pegs ...</source>
<translation>Helyezd el az ékeket...</translation>
</message>
<message>
<source>Press the button below or Key Enter if You&apos;re done.</source>
<translation>Nyomd meg a fenti gombot, vagy üsd le az entert ha végeztél.</translation>
</message>
<message>
<source>The chosen settings do not allow pegs of the same color!</source>
<translation>A megadott beállítások nem engedélyezik az azonos színeket!</translation>
</message>
<message>
<source>Place Your secret ColorCode ...</source>
<translation>Helyezd el a titkos színkombinációt...</translation>
</message>
<message>
<source>Yes</source>
<translation>Igen</translation>
</message>
<message>
<source>No</source>
<translation>Nem</translation>
</message>
<message>
<source>Pegs of Same Color</source>
<translation>Azonos színű ékek</translation>
</message>
<message>
<source>Please rate the guess. Press OK or Key Enter if You&apos;re done.</source>
<translation>Értékeld a tippet. Kattints az OK-ra, vagy üss entert ha kész vagy.</translation>
</message>
<message>
<source>Congratulation! You have won!</source>
<translation>Gratulálok! Nyertél!</translation>
</message>
<message>
<source>Sorry! You lost!</source>
<translation>Sajnálom! Vesztettél!</translation>
</message>
<message>
<source>Sure, You&apos;re too weak for me!</source>
<translation>Biztos, Túl kevés vagy hozzám!</translation>
</message>
<message>
<source>The impossible happened, sorry.</source>
<translation>A lehetetlen megtörtént, bocsi.</translation>
</message>
<message>
<source>Yeah! I guessed it, man!</source>
<translation>Fain! Kitalátam öcsém!</translation>
</message>
<message>
<source>Embarrassing! I lost a game!</source>
<translation>Lenyűgöző! Elvesztettem a játékot!</translation>
</message>
<message>
<source>Don&apos;t you like to see me winning? ;-)</source>
<translation>Nem akarsz győzni látni engem? ;-)</translation>
</message>
<message>
<source>Nope! Thats impossible! Did you gave me false hints?</source>
<translation>Neee! Ez hihetetlen! Hamis útmutatást adtál nekem?</translation>
</message>
</context>
<context>
<name>PrefDialog</name>
<message>
<source>... Select from predefined level settings</source>
<translation>... Válassz az előre meghatározott szint beállítások közül</translation>
</message>
<message>
<source>Beginner (2 Colors, 2 Slots, Doubles)</source>
<translation>Kezdő (2szín, 2 lyuk, duplázás)</translation>
</message>
<message>
<source>Easy (4 Colors, 3 Slots, No Doubles)</source>
<translation>Könnyű (4 szín, 3 lyuk, nincs duplázás)</translation>
</message>
<message>
<source>Classic (6 Colors, 4 Slots, Doubles)</source>
<translation>Klasszikus (6 szín, 4 lyuk, duplázás)</translation>
</message>
<message>
<source>Challenging (8 Colors, 4 Slots, Doubles)</source>
<translation>Kihívás (8 szín, 4 lyuk, duplázás)</translation>
</message>
<message>
<source>Hard (10 Colors, 5 Slots, Doubles)</source>
<translation>Nehéz (10 szín, 5 lyuk, duplázás)</translation>
</message>
<message>
<source>Slots</source>
<translation>Lyukak</translation>
</message>
<message>
<source>Colors</source>
<translation>Színek</translation>
</message>
<message>
<source>Human vs. Computer</source>
<translation>Ember kontra számítógép</translation>
</message>
<message>
<source>Computer vs. Human</source>
<translation>Számítógép kontra ember</translation>
</message>
<message>
<source>Low</source>
<translation>Könnyű</translation>
</message>
<message>
<source>Medium</source>
<translation>Közepes</translation>
</message>
<message>
<source>High</source>
<translation>Nehéz</translation>
</message>
<message>
<source>Preferences</source>
<translation>Beállítások</translation>
</message>
<message>
<source>Appearance</source>
<translation>Megjelenés</translation>
</message>
<message>
<source>Controls</source>
<translation>Gombok</translation>
</message>
<message>
<source>Show or hide the Menubar.</source>
<translation>Menüsor mutatása vagy elrejtése.</translation>
</message>
<message>
<source>Show Menubar</source>
<translation>Meüsor mutatása</translation>
</message>
<message>
<source>Show or hide the Toolbar.</source>
<translation>Eszköztár mutatása vagy elrejtése.</translation>
</message>
<message>
<source>Show Toolbar</source>
<translation>Eszköztár mutatása</translation>
</message>
<message>
<source>Show or hide the Statusbar.</source>
<translation>Állapotsor mutatása vagy elrejtése.</translation>
</message>
<message>
<source>Show Statusbar</source>
<translation>Állapotsor mutatása</translation>
</message>
<message>
<source>Indicators</source>
<translation>Jelzők</translation>
</message>
<message>
<source>If this option is checked, an indicator
inside each peg is displayed.</source>
<translation>Ha ez az opció be van jelölve,
akkor minden ékben megjelenik egy jelző.</translation>
</message>
<message>
<source>Show Indicators inside pegs</source>
<translation>Jelzők mutatása az ékeken belül</translation>
</message>
<message>
<source>Use unique letters as indicators.</source>
<translation>Egyedi betűk használata jelzőként.</translation>
</message>
<message>
<source>Letter Indicators</source>
<translation>Betű jelzők</translation>
</message>
<message>
<source>Use unique numbers as indicators.</source>
<translation>Egydi számok használata jelzőként.</translation>
</message>
<message>
<source>Number Indicators</source>
<translation>Szám jelzők</translation>
</message>
<message>
<source>Use the same neutral background color for each peg,
when indicators are shown.</source>
<translation>Egyforma sima háttér használata az ékeknél,
amikor a jelzők látszanak.</translation>
</message>
<message>
<source>Hide Colors</source>
<translation>Színek elrejtése</translation>
</message>
<message>
<source>Click here if you have changed the color order
and now you want to revert it to it&apos;s initial state. </source>
<translation>Kattints ide ha megváltoztattad a szín sorrendet,
és visszakarod állatani az eredetire.</translation>
</message>
<message>
<source>Reset Color Order</source>
<translation>Szín sorrend nullázása</translation>
</message>
<message>
<source>Game Settings</source>
<translation>Játék beállítások</translation>
</message>
<message>
<source>Level Presets</source>
<translation>Nehézségi beállítások</translation>
</message>
<message>
<source>Select from predefined combinations
of the three different level related settings,
the number of colors, the number of slots (columns)
and the possibility of pegs of the same color in one row. </source>
<translation>Válassz az előre meghatározott nehézségi szint
3 különböző lehetősége közül,
színek száma, lyukak (oszlop) száma,
és az egy sorban lehetséges azonos színek száma.</translation>
</message>
<message>
<source>Number of Slots</source>
<translation>Lyukak száma</translation>
</message>
<message>
<source>Number of Colors</source>
<translation>Színek száma</translation>
</message>
<message>
<source>Number of pegs in a single row.
Higher values are harder to guess.</source>
<translation>Ékek száma egy sorban.
A nyagyobb értéket nehezebb eltalálni.</translation>
</message>
<message>
<source>Number of all possible colors.
Higher values are harder to guess.</source>
<translation>A lehetséges színek száma.
A nagyobb értéket nehezebb eltalálni.</translation>
</message>
<message>
<source>If this option is checked, the hidden combination
may contain one or more (even all would be possible)
pegs of the same color.
If checked, the combination is generally harder to guess.</source>
<translation>Amennyiben ez a lehetőség be van kapcsolva,
akkor a rejtett kombináció tartalmazhat egy vagy több
(akár az összes) azonos színű éket.
Ha be van kapcsolva, nehezebb megfejteni a kombinációt.</translation>
</message>
<message>
<source>Allow Pegs of Same Color</source>
<translation>Azonons színű ékek engedélyezése</translation>
</message>
<message>
<source>Game Mode</source>
<translation>Játék mód</translation>
</message>
<message>
<source>Select from the different game modes.
In the 1. mode you have to to guess the hidden,
computer generated combination,
In the 2. mode your computer will try to guess your
own secret combination.</source>
<translation>Válassz a különböző játék módok közül.
Az 1. módban neked kell kitalálnod a titkos kombinációt,
amit a gép kigondolt.
A 2. módban a gépnek kell kitalálnia
az általad megadott kombinációt.</translation>
</message>
<message>
<source>If checked, a row is closed as soon as you place the last peg
and your guess is submitted immediatly.
This option only affects the Human vs. Computer game mode.</source>
<translation>Ha ez be van kapcsolva, akkor a sor zárolásra kerül, amint beraktad az utolsó éket,
és a tipped azonnal ki lesz értékelve.
Ez az opció csak az Ember kontra számítógép módban működik.</translation>
</message>
<message>
<source>Close Rows when the last Peg is placed</source>
<translation>Sor zárolása, amint az utolsó ék is a helyére került</translation>
</message>
<message>
<source>If checked, the computer will determine the corresponding hints for the solver&apos;s guess.
This option affects only Computer vs. Human games.
If checked, you only have to place your secret combination.
Then the rest of the game runs automatically until the end.
But you can set a delay between the guesses.</source>
<translation>Ha ezt bekapcsolod, akkor a gép automatikusan kiértékeli a tippet a jelzők segítségével.
Ez a lehetőség csak a Számítógép kontra ember módnál működik.
Bekapcsolt állapotban, csak titkos kombinációt kell megadnod,
majd a játék hátralevő részét a gép automatikusan lejátsza.
De meg tudsz adni késleltetést a tippek közé.</translation>
</message>
<message>
<source>Set Hints automatically</source>
<translation>Jelzők automatikus használata</translation>
</message>
<message>
<source>Adjust the delay (in ms) between two guesses.</source>
<translation>Tippek közti késleltetés megadása.</translation>
</message>
<message>
<source>Delay in ms</source>
<translation>Késleltelés ms-ban</translation>
</message>
<message>
<source>Solver Strength</source>
<translation>Megoldási nehézség</translation>
</message>
<message>
<source>Select from 3 different strength levels for your computer opponent.
This option only affects the Computer vs. Human game mode.
For the computer&apos;s guess in the Human vs. Computer mode
always the highest level will be used.</source>
<translation>Válassz a 3 különböző nehézség közül a gépi ellenfél számára.
Ez az opció csak a Számítógép kontra ember módot befolyásolja.
A gép tippjeinél az Ember kontra számítógép módban
a legnehezebb nehézségi szint lesz használva.</translation>
</message>
</context>
<context>
<name>RowHint</name>
<message>
<source>Commit Your solution</source>
<translation>Kövesd a megoldásodat</translation>
</message>
<message>
<source>Click the circles to rate my guess.
Hit Ctrl+H or the corresponding toolbar button to let an impartial part of me do this for you ;-)</source>
<translation>Kattints a körökbe, hogy kiértékeld a tippemet.
Vagy nyomd le a Ctrl+H billentyűkombinációt, vagy használd az eszköztár adott gombját, hogy megtegyem ezt helyetted;-)</translation>
</message>
</context>
</TS>