• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdegames API Reference
  • KDE Home
  • Contact Us
 

kgoldrunner

Public Slots | Signals | Public Member Functions | List of all members
KGrScene Class Reference

#include <kgrscene.h>

Inheritance diagram for KGrScene:
Inheritance graph
[legend]

Public Slots

void animate (bool missed)
 
void deleteAllSprites ()
 
void deleteSprite (const int id)
 
void getMousePos (int &i, int &j)
 
void gotGold (const int spriteId, const int i, const int j, const bool spriteHasGold, const bool lost=false)
 
int makeSprite (const char type, int i, int j)
 
void paintCell (const int i, const int j, const char type)
 
void preRenderSprites ()
 
void setMousePos (const int i, const int j)
 
void showHiddenLadders (const QList< int > &ladders, const int width)
 
void showLives (long lives)
 
void showScore (long score)
 
void startAnimation (const int id, const bool repeating, const int i, const int j, const int time, const Direction dirn, const AnimationType type)
 

Signals

void fadeFinished ()
 
void redrawEditToolbar ()
 

Public Member Functions

 KGrScene (KGrView *view)
 
 ~KGrScene ()
 
void changeSize ()
 
void changeTheme ()
 
void fadeIn (bool inOut)
 
void goToBlack ()
 
KGrRenderer * renderer () const
 
void setGoldEnemiesRule (bool showIt)
 
void setHasHintText (const QString &msg)
 
void setLevel (unsigned int level)
 
void setPauseResumeText (const QString &msg)
 
void setReplayMessage (const QString &msg)
 
void setTitle (const QString &newTitle)
 
void showReplayMessage (bool onOff)
 
QSize tileSize () const
 

Detailed Description

The QGraphicsScene that represents KGoldrunner on the screen.

In the KGoldrunner scene, the KGoldrunner level-layouts use tile-coordinates that run from (1, 1) to (28, 20). To simplify programming, these are exactly the same as the cell co-ordinates used in the game-engine (or model).

The central grid has internal coordinates running from (-1, -1) to (30, 22), making 32x24 spaces. The empty space around the level-layout (2 cells wide all around) is designed to absorb over-enthusiastic mouse actions, which could otherwise cause accidents on other windows or the surrounding desktop.

Rows -1, 0, 29 and 30 usually contain titles and scores, which could have fractional co-ordinates. Row 0, row 21, column 0 and column 29 can also contain border-tiles (as in the Egyptian theme).

The hero and enemies (sprites) will have fractional co-ordinates as they move from one cell to another. Other graphics items (tiles) always have whole number co-ordinates (e.g. bricks, ladders and concrete). Empty spaces have no graphic item and the background shows through them.

The width and height of the view will rarely be an exact number of tiles, so there will be unused strips outside the 32x24 tile spaces. The sceneRect() is set larger than 24 tiles by 32 tiles to allow for this and its top left corner has negative fractional co-ordinates that are calculated but never actually used. Their purpose is to ensure that (1, 1) is always the top left corner of the KGoldrunner level layout, whatever the size/shape of the view.

Definition at line 75 of file kgrscene.h.

Constructor & Destructor Documentation

KGrScene::KGrScene ( KGrView *  view)

Definition at line 37 of file kgrscene.cpp.

KGrScene::~KGrScene ( )

Definition at line 103 of file kgrscene.cpp.

Member Function Documentation

void KGrScene::animate ( bool  missed)
slot

Definition at line 488 of file kgrscene.cpp.

void KGrScene::changeSize ( )

Redraw the scene whenever the view widget is resized.

Definition at line 221 of file kgrscene.cpp.

void KGrScene::changeTheme ( )

Redraw the scene whenever the current theme has changed.

Definition at line 215 of file kgrscene.cpp.

void KGrScene::deleteAllSprites ( )
slot

Definition at line 589 of file kgrscene.cpp.

void KGrScene::deleteSprite ( const int  id)
slot

Definition at line 575 of file kgrscene.cpp.

void KGrScene::fadeFinished ( )
signal
void KGrScene::fadeIn ( bool  inOut)

Definition at line 320 of file kgrscene.cpp.

void KGrScene::getMousePos ( int &  i,
int &  j 
)
slot

Definition at line 620 of file kgrscene.cpp.

void KGrScene::gotGold ( const int  spriteId,
const int  i,
const int  j,
const bool  spriteHasGold,
const bool  lost = false 
)
slot

Definition at line 551 of file kgrscene.cpp.

void KGrScene::goToBlack ( )

Definition at line 315 of file kgrscene.cpp.

int KGrScene::makeSprite ( const char  type,
int  i,
int  j 
)
slot

Definition at line 442 of file kgrscene.cpp.

void KGrScene::paintCell ( const int  i,
const int  j,
const char  type 
)
slot

Requests the view to display a particular type of tile at a particular cell, or make it empty and show the background (tileType = FREE).

Used when loading level-layouts and also to make gold disappear/appear, hidden ladders appear or cells to be painted by the game editor. If there was something in the cell already, tileType = FREE acts as an erase function.

Parameters
iThe column-number of the cell to paint.
iThe row-number of the cell to paint.
tileTypeThe type of tile to paint (gold, brick, ladder, etc).

Definition at line 430 of file kgrscene.cpp.

void KGrScene::preRenderSprites ( )
slot

Just as the game starts, ensure that all frames of the "hero" and "enemy" sprites have been rendered.

This is to avoid hiccups in animation in the first few seconds of play or demo.

Definition at line 595 of file kgrscene.cpp.

void KGrScene::redrawEditToolbar ( )
signal
KGrRenderer* KGrScene::renderer ( ) const
inline

Get a pointer to the scene's renderer.

Definition at line 126 of file kgrscene.h.

void KGrScene::setGoldEnemiesRule ( bool  showIt)
inline

Definition at line 128 of file kgrscene.h.

void KGrScene::setHasHintText ( const QString &  msg)

Definition at line 303 of file kgrscene.cpp.

void KGrScene::setLevel ( unsigned int  level)

Set the current level number.

It is used to select a background.

Parameters
levelThe current level number.

Definition at line 346 of file kgrscene.cpp.

void KGrScene::setMousePos ( const int  i,
const int  j 
)
slot

Definition at line 613 of file kgrscene.cpp.

void KGrScene::setPauseResumeText ( const QString &  msg)

Definition at line 309 of file kgrscene.cpp.

void KGrScene::setReplayMessage ( const QString &  msg)

Definition at line 237 of file kgrscene.cpp.

void KGrScene::setTitle ( const QString &  newTitle)

Set the text for the title of the current level.

Parameters
newTitleThe title of the current level.

Definition at line 227 of file kgrscene.cpp.

void KGrScene::showHiddenLadders ( const QList< int > &  ladders,
const int  width 
)
slot

Definition at line 566 of file kgrscene.cpp.

void KGrScene::showLives ( long  lives)
slot

Definition at line 289 of file kgrscene.cpp.

void KGrScene::showReplayMessage ( bool  onOff)

Definition at line 242 of file kgrscene.cpp.

void KGrScene::showScore ( long  score)
slot

Definition at line 296 of file kgrscene.cpp.

void KGrScene::startAnimation ( const int  id,
const bool  repeating,
const int  i,
const int  j,
const int  time,
const Direction  dirn,
const AnimationType  type 
)
slot

Requests the view to display an animation of a runner or dug brick at a particular cell, cancelling and superseding any current animation.

Parameters
spriteIdThe ID of the sprite (dug brick).
repeatingIf true, repeat the animation (false for dug brick).
iThe column-number of the cell.
jThe row-number of the cell.
timeThe time in which to traverse one cell.
dirnThe direction of motion (always STAND for dug brick).
typeThe type of animation (run, climb, open/close brick).

Definition at line 497 of file kgrscene.cpp.

QSize KGrScene::tileSize ( ) const
inline

Get the current size of the squared region occupied by a single visual element (characters, ladders, bricks etc.).

Definition at line 121 of file kgrscene.h.


The documentation for this class was generated from the following files:
  • kgrscene.h
  • kgrscene.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:44:12 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kgoldrunner

Skip menu "kgoldrunner"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdegames API Reference

Skip menu "kdegames API Reference"
  • granatier
  • kapman
  • kblackbox
  • kgoldrunner
  • kigo
  • kmahjongg
  • KShisen
  • ksquares
  • libkdegames
  •   highscore
  •   libkdegamesprivate
  •     kgame
  • libkmahjongg
  • palapeli
  •   libpala

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal