-rw-r--r-- | noncore/games/kpacman/score.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/games/kpacman/score.cpp b/noncore/games/kpacman/score.cpp index b3ff3d9..e91771b 100644 --- a/noncore/games/kpacman/score.cpp +++ b/noncore/games/kpacman/score.cpp @@ -1,271 +1,271 @@ #include "portable.h" #if defined( KDE2_PORT ) #include <score.h> #include <score.moc> #include <kaccel.h> #include <kapp.h> #include <kconfig.h> #include <kstddirs.h> #include <kmessagebox.h> #elif defined( QPE_PORT ) #include <qaccel.h> -#include "config.h" +#include <qpe/config.h> #include "score.h" #endif #include <stdlib.h> #include <ctype.h> #include <qpixmap.h> #include <qstring.h> #include <qdstream.h> #include <qkeycode.h> #include <qtimer.h> #include <qfileinfo.h> #include "bitfont.h" Score::Score(QWidget *parent, const char *name, int Scheme, int Mode, Bitfont *font) : QWidget(parent, name) { setFocusPolicy(QWidget::StrongFocus); paused = FALSE; lastScore = -1; lastPlayer = -1; cursorBlinkTimer = 0; cursorBlinkMS = -1; cursor.x = -1; cursor.y = -1; cursor.on = FALSE; cursor.chr = QChar('?'); initKeys(); scheme = Scheme; mode = Mode; confScheme(); bitfont = font; highscoreFile.setName(locateHighscoreFilePath().filePath()); read(); for (int p = 0; p < maxPlayer; p++) { playerScore[p] = 0; playerName[p] = getenv("LOGNAME"); if (playerName[p].length() < minPlayerNameLength) playerName[p].setExpand(minPlayerNameLength-1, ' '); for (uint i = 0; i < playerName[p].length(); i++) if (playerName[p].at(i) < bitfont->firstChar() || playerName[p].at(i) > bitfont->lastChar()) playerName[p].at(i) = playerName[p].at(i).upper(); } } Score::~Score() { // write(); } void Score::paintEvent( QPaintEvent *e) { if (rect(1, 0, tr(" 1UP ")).intersects(e->rect())) { QPixmap pix; QColor fg = BLACK; if (cursor.on || paused || lastPlayer != 0) fg = WHITE; pix = bitfont->text(tr(" 1UP "), fg, BLACK); bitBlt(this, x(1), y(0), &pix); } if (rect(8, 0, tr(" HIGH SCORE ")).intersects(e->rect())) { QPixmap pix = bitfont->text(tr(" HIGH SCORE "), WHITE, BLACK); bitBlt(this, x(8), y(0), &pix); } if (maxPlayer > 1 && rect(21, 0, tr(" 2UP ")).intersects(e->rect())) { QPixmap pix; QColor fg = BLACK; if (cursor.on || paused || lastPlayer != 1) fg = WHITE; pix = bitfont->text(tr(" 2UP "), fg, BLACK); bitBlt(this, x(21), y(0), &pix); } QString s; s.sprintf("%6d0", playerScore[0]/10); if (rect(0, 1, s).intersects(e->rect())) { QPixmap pix = bitfont->text(s, WHITE, BLACK); bitBlt(this, x(0), y(1), &pix); } s.sprintf("%8d0", HighScore/10); if (rect(8, 1, s).intersects(e->rect())) { QPixmap pix = bitfont->text(s, WHITE, BLACK); bitBlt(this, x(8), y(1), &pix); } if (lastScore >= 0) { if (rect(1, 4*1.25, tr(" CONGRATULATIONS ")).intersects(e->rect())) { QPixmap pix = bitfont->text(tr(" CONGRATULATIONS "), YELLOW, BLACK); bitBlt(this, x(1), y(4*1.25), &pix); } if (rect(1, 6*1.25, tr(" YOU HAVE ARCHIEVED ")).intersects(e->rect())) { QPixmap pix = bitfont->text(tr(" YOU HAVE ARCHIEVED "), CYAN, BLACK); bitBlt(this, x(1), y(6*1.25), &pix); } if (rect(1, 7*1.25, tr(" A SCORE IN THE TOP 10. ")).intersects(e->rect())) { QPixmap pix = bitfont->text(tr(" A SCORE IN THE TOP 10. "), CYAN, BLACK); bitBlt(this, x(1), y(7*1.25), &pix); } if (rect(1, 8*1.25, tr(" ")).intersects(e->rect())) { QPixmap pix = bitfont->text(tr(" "), CYAN, BLACK); bitBlt(this, x(1), y(8*1.25), &pix); } } if (rect(1, 9.5*1.25, tr("RNK SCORE NAME DATE")).intersects(e->rect())) { QPixmap pix = bitfont->text(tr("RNK SCORE NAME DATE"), WHITE, BLACK); bitBlt(this, x(1), y(9.5*1.25), &pix); } for (int i = 0; i < 10; i++) { s.sprintf("%2d%9d %-3.3s %-8.8s", i+1, hallOfFame[i].points, hallOfFame[i].name.utf8().data(), formatDate(hallOfFame[i].moment.date()).data()); if (rect(1, (11+i)*1.25, s).intersects(e->rect())) { QPixmap pix = bitfont->text(s, (i == lastScore) ? YELLOW : WHITE, BLACK); bitBlt(this, x(1), y((11+i)*1.25), &pix); } } if (cursor.x != -1 && cursor.y != -1 && cursor.on) { if (rect(cursor.x, (cursor.y*1.25), cursor.chr).intersects(e->rect())) { QPixmap pix = bitfont->text(cursor.chr, BLACK, YELLOW); bitBlt(this, x(cursor.x), y(cursor.y*1.25), &pix); } } if (paused) { QPixmap pix = bitfont->text(tr("PAUSED"), RED, BLACK); QRect r = bitfont->rect(tr("PAUSED")); r.moveCenter(QPoint(this->width()/2, this->height()/2)); bitBlt(this, r.x(), r.y(), &pix); } } void Score::timerEvent(QTimerEvent*) { cursor.on = !cursor.on; if (paused) return; if (cursor.x != -1 && cursor.y != -1) repaint(rect(cursor.x, cursor.y*1.25, cursor.chr), FALSE); scrollRepeat = FALSE; if (lastPlayer == 0) repaint(rect(1, 0, tr(" 1UP ")), FALSE); if (lastPlayer == 1) repaint(rect(21, 0, tr(" 2UP ")), FALSE); } void Score::keyPressEvent(QKeyEvent *k) { if (lastScore < 0 || lastPlayer < 0 || lastPlayer >= maxPlayer || paused) { k->ignore(); return; } int x = cursor.x; int y = cursor.y; uint key = k->key(); if (scrollRepeat && (key == UpKey || key == Key_Up || key == DownKey || key == Key_Down)) { k->ignore(); return; } if (key != Key_Return) { if (key == RightKey || key == Key_Right) if (++cursor.x > 16) cursor.x = 14; if (key == LeftKey || key == Key_Left) if (--cursor.x < 14) cursor.x = 16; if (key == UpKey || key == Key_Up) if (cursor.chr.unicode() < bitfont->lastChar()) cursor.chr = cursor.chr.unicode()+1; else cursor.chr = bitfont->firstChar(); if (key == DownKey || key == Key_Down) if (cursor.chr.unicode() > bitfont->firstChar()) cursor.chr = cursor.chr.unicode()-1; else cursor.chr = bitfont->lastChar(); if (cursor.x == x && cursor.y == y && cursor.chr == hallOfFame[lastScore].name.at(cursor.x-14)) { uint ascii = k->ascii(); if (ascii < bitfont->firstChar() || ascii > bitfont->lastChar()) ascii = toupper(ascii); if (ascii >= bitfont->firstChar() && ascii <= bitfont->lastChar()) { cursor.chr = ascii; hallOfFame[lastScore].name.at(cursor.x-14) = cursor.chr; if (++cursor.x > 16) cursor.x = 14; } } } if (key == Key_Return) { playerName[lastPlayer] = hallOfFame[lastScore].name; write(); read(); lastScore = -1; cursor.x = -1; cursor.y = -1; // killTimers(); emit toggleNew(); end(); } if (x != cursor.x || y != cursor.y) { if (cursor.x != -1) cursor.chr = hallOfFame[lastScore].name.at(cursor.x-14); scrollRepeat = FALSE; repaint(rect(x, y*1.25, cursor.chr), FALSE); } else hallOfFame[lastScore].name.at(cursor.x-14) = cursor.chr; if (key == UpKey || key == Key_Up || key == DownKey || key == Key_Down) scrollRepeat = TRUE; else repaint(rect(cursor.x, cursor.y*1.25, cursor.chr), FALSE); } void Score::initKeys() { APP_CONFIG_BEGIN( cfg ); QString up("Up"); up = cfg->readEntry("upKey", (const char*) up); UpKey = KAccel::stringToKey(up); QString down("Down"); down = cfg->readEntry("downKey", (const char*) down); DownKey = KAccel::stringToKey(down); |