[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdegames
From: Stefan Majewsky <majewsky () gmx ! net>
Date: 2012-03-07 20:02:29
Message-ID: 20120307200229.DC880AC898 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1284131 by majewsky:
Use Kg::difficulty() singleton in KDiamond and Bovo.
M +10 -9 bovo/gui/mainwindow.cc
M +0 -2 bovo/gui/mainwindow.h
M +5 -3 kdiamond/src/board.cpp
M +2 -3 kdiamond/src/board.h
M +2 -2 kdiamond/src/game.cpp
M +1 -2 kdiamond/src/game.h
M +6 -0 kdiamond/src/main.cpp
M +5 -7 kdiamond/src/mainwindow.cpp
M +0 -2 kdiamond/src/mainwindow.h
--- trunk/KDE/kdegames/bovo/gui/mainwindow.cc #1284130:1284131
@@ -71,14 +71,15 @@
statusBar()->insertPermanentItem(i18n("Losses: %1", m_losses), 2, 1);
m_aiFactory = new AiFactory();
- m_difficulty.addStandardLevelRange(
+ KgDifficulty* diff = Kg::difficulty();
+ diff->addStandardLevelRange(
KgDifficultyLevel::RidiculouslyEasy,
KgDifficultyLevel::Impossible,
KgDifficultyLevel::Medium //default level
);
- connect(&m_difficulty, SIGNAL(currentLevelChanged(const KgDifficultyLevel*)), SLOT(changeSkill()));
- KgDifficultyGUI::init(&m_difficulty, this);
- m_difficulty.setGameRunning(true);
+ connect(diff, SIGNAL(currentLevelChanged(const KgDifficultyLevel*)), SLOT(changeSkill()));
+ KgDifficultyGUI::init(this);
+ diff->setGameRunning(true);
setupThemes();
readConfig();
@@ -270,11 +271,11 @@
QString tmp = m_lastGame.first();
m_computerStarts = tmp.startsWith('2') ? true : false;
}
- m_game = new Game(dimension, m_lastGame, m_difficulty.currentLevel()->standardLevel(),
+ m_game = new Game(dimension, m_lastGame, Kg::difficultyLevel(),
m_playbackSpeed, m_aiFactory);
} else {
m_game = new Game(dimension, m_computerStarts ? O : X,
- m_difficulty.currentLevel()->standardLevel(), NotDemo, m_playbackSpeed,
+ Kg::difficultyLevel(), NotDemo, m_playbackSpeed,
m_aiFactory);
}
m_demoAi = m_aiFactory->createAi(dimension, KgDifficultyLevel::Easy, m_game->player(), Demo);
@@ -313,9 +314,9 @@
m_demoAi = 0;
}
Dimension dimension(NUMCOLS, NUMCOLS);
- m_game = new Game(dimension, O, m_difficulty.currentLevel()->standardLevel(), Demo, m_playbackSpeed,
+ m_game = new Game(dimension, O, Kg::difficultyLevel(), Demo, m_playbackSpeed,
m_aiFactory);
- m_demoAi = m_aiFactory->createAi(dimension, m_difficulty.currentLevel()->standardLevel(), X, Demo);
+ m_demoAi = m_aiFactory->createAi(dimension, Kg::difficultyLevel(), X, Demo);
m_scene->setGame(m_game);
connect(m_game, SIGNAL(boardChanged(const Move&)),
m_demoAi, SLOT(changeBoard(const Move&)));
@@ -436,7 +437,7 @@
void MainWindow::changeSkill() {
if (m_game!=0)
- m_game->setSkill(m_difficulty.currentLevel()->standardLevel());
+ m_game->setSkill(Kg::difficultyLevel());
}
void MainWindow::changeTheme(int themeId) {
--- trunk/KDE/kdegames/bovo/gui/mainwindow.h #1284130:1284131
@@ -26,7 +26,6 @@
#include <QStringList>
#include <kxmlguiwindow.h>
-#include <kgdifficulty.h>
#include "common.h"
#include "theme.h"
@@ -102,7 +101,6 @@
QStringList m_lastGame;
bool m_animate;
bool m_demoMode;
- KgDifficulty m_difficulty;
};
} /* namespace gui */
--- trunk/KDE/kdegames/kdiamond/src/board.cpp #1284130:1284131
@@ -20,6 +20,7 @@
#include "diamond.h"
#include <QPropertyAnimation>
+#include <KgDifficulty>
const int KDiamond::Board::MoveDuration = 100; //duration of a move animation (per coordinate unit) in \
milliseconds const int KDiamond::Board::RemoveDuration = 200; //duration of a move animation in \
milliseconds @@ -28,9 +29,10 @@
static int boardSizes[] = { 12, 10, 8, 8, 8 };
static int boardColorCounts[] = { 5, 5, 5, 6, 7 };
-KDiamond::Board::Board(KGameRenderer* renderer, KgDifficultyLevel::StandardLevel difficulty)
- : m_size(boardSizes[difficulty / 10 - 2])
- , m_colorCount(boardColorCounts[difficulty / 10 - 2])
+KDiamond::Board::Board(KGameRenderer* renderer)
+ : m_difficultyIndex(Kg::difficultyLevel() / 10 - 2)
+ , m_size(boardSizes[m_difficultyIndex])
+ , m_colorCount(boardColorCounts[m_difficultyIndex])
, m_paused(false)
, m_renderer(renderer)
, m_diamonds(m_size * m_size, 0)
--- trunk/KDE/kdegames/kdiamond/src/board.h #1284130:1284131
@@ -23,7 +23,6 @@
class QAbstractAnimation;
#include <QGraphicsItem>
-#include <KgDifficulty>
class KGameRenderer;
namespace KDiamond
@@ -32,7 +31,7 @@
{
Q_OBJECT
public:
- Board(KGameRenderer* renderer, KgDifficultyLevel::StandardLevel difficulty);
+ Board(KGameRenderer* renderer);
int gridSize() const;
Diamond* diamond(const QPoint& point) const;
@@ -73,7 +72,7 @@
static const int MoveDuration;
static const int RemoveDuration;
- int m_size, m_colorCount;
+ int m_difficultyIndex, m_size, m_colorCount;
QList<QPoint> m_selections;
bool m_paused;
--- trunk/KDE/kdegames/kdiamond/src/game.cpp #1284130:1284131
@@ -56,9 +56,9 @@
const int UpdateInterval = 40;
-Game::Game(KDiamond::GameState* state, KgDifficultyLevel::StandardLevel difficulty)
+Game::Game(KDiamond::GameState* state)
: m_timerId(-1)
- , m_board(new KDiamond::Board(g_renderer, difficulty))
+ , m_board(new KDiamond::Board(g_renderer))
, m_gameState(state)
, m_messenger(new KGamePopupItem)
{
--- trunk/KDE/kdegames/kdiamond/src/game.h #1284130:1284131
@@ -24,7 +24,6 @@
class QAbstractAnimation;
#include <QGraphicsScene>
-#include <KgDifficulty>
class KGamePopupItem;
class KGameRenderer;
@@ -49,7 +48,7 @@
{
Q_OBJECT
public:
- Game(KDiamond::GameState* state, KgDifficultyLevel::StandardLevel difficulty);
+ Game(KDiamond::GameState* state);
public Q_SLOTS:
void updateGraphics();
--- trunk/KDE/kdegames/kdiamond/src/main.cpp #1284130:1284131
@@ -26,6 +26,7 @@
#include <KGlobal>
#include <KLocale>
#include <KStandardDirs>
+#include <KgDifficulty>
static const char description[] = I18N_NOOP("KDiamond, a three-in-a-row game.");
static const char version[] = "1.4";
@@ -47,6 +48,11 @@
//resource directory for KNewStuff2 (this call causes the directory to be created; its existence is \
necessary for the downloader) KStandardDirs::locateLocal("appdata", "themes/");
+ Kg::difficulty()->addStandardLevelRange(
+ KgDifficultyLevel::VeryEasy,
+ KgDifficultyLevel::VeryHard
+ );
+
// see if we are starting with session management
if (app.isSessionRestored())
{
--- trunk/KDE/kdegames/kdiamond/src/mainwindow.cpp #1284130:1284131
@@ -72,10 +72,8 @@
KStandardAction::preferences(this, SLOT(configureSettings()), actionCollection());
KStandardAction::configureNotifications(this, SLOT(configureNotifications()), actionCollection());
//difficulty
- m_difficulty = new KgDifficulty(this);
- m_difficulty->addStandardLevelRange(KgDifficultyLevel::VeryEasy, KgDifficultyLevel::VeryHard);
- KgDifficultyGUI::init(m_difficulty, this);
- connect(m_difficulty, SIGNAL(currentLevelChanged(const KgDifficultyLevel*)), \
SLOT(startGameDispatcher())); + KgDifficultyGUI::init(this);
+ connect(Kg::difficulty(), SIGNAL(currentLevelChanged(const KgDifficultyLevel*)), \
SLOT(startGameDispatcher())); //late GUI initialisation
setupGUI(QSize(300, 400)); //TODO: find better solution for a minimum size
setCaption(i18nc("The application's name", "KDiamond"));
@@ -114,7 +112,7 @@
//start new game
m_gameState->startNewGame();
m_gameState->setMode(mode);
- m_game = new Game(m_gameState, m_difficulty->currentLevel()->standardLevel());
+ m_game = new Game(m_gameState);
connect(m_gameState, SIGNAL(stateChanged(KDiamond::State)), m_game, \
SLOT(stateChange(KDiamond::State))); connect(m_gameState, SIGNAL(message(QString)), m_game, \
SLOT(message(QString))); connect(m_game, SIGNAL(numberMoves(int)), m_infoBar, SLOT(updateMoves(int)));
@@ -143,7 +141,7 @@
//report score
QPointer<KScoreDialog> dialog = new KScoreDialog(KScoreDialog::Name | KScoreDialog::Score, this);
dialog->addField(KScoreDialog::Custom1, i18n("Mode"), "mode");
- dialog->initFromDifficulty(m_difficulty);
+ dialog->initFromDifficulty(Kg::difficulty());
dialog->addScore(scoreInfo);
delete dialog;
}
@@ -157,7 +155,7 @@
//show dialog
QPointer<KScoreDialog> dialog = new KScoreDialog(KScoreDialog::Name | KScoreDialog::Score, this);
dialog->addField(KScoreDialog::Custom1, i18n("Mode"), "mode");
- dialog->initFromDifficulty(m_difficulty);
+ dialog->initFromDifficulty(Kg::difficulty());
dialog->exec();
delete dialog;
}
--- trunk/KDE/kdegames/kdiamond/src/mainwindow.h #1284130:1284131
@@ -25,7 +25,6 @@
class QTime;
class KAction;
class KActionMenu;
-class KgDifficulty;
#include <KXmlGuiWindow>
namespace KDiamond
@@ -55,7 +54,6 @@
protected Q_SLOTS:
void pausedAction(bool paused);
private:
- KgDifficulty* m_difficulty;
KDiamond::GameState* m_gameState;
Game* m_game;
KDiamond::View* m_view;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic