BlockGame

introprog.BlockGame
abstract class BlockGame(val title: String, val dim: (Int, Int), val blockSize: Int, val background: Color, var framesPerSecond: Int, val messageAreaHeight: Int, val messageAreaBackground: Color)

A class for creating games with block-based graphics. See example usage in introprog.examples.TestBlockGame

Value parameters

background

the color used when clearing pixels

blockSize

the side of each square block in pixels

dim

the (width, height) of the window in number of blocks

framesPerSecond

the desired update rate in the gameLoop

messageAreaBackground

the color of the message area background

messageAreaHeight

the height in pixels of the message area

title

the title of the window

Attributes

Constructor

Create a new game.

Source
BlockGame.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Concrete methods

def clearMessageArea(x: Int, y: Int, width: Int, height: Int): Unit

Clear a rectangle in the message area in block coordinates.

Clear a rectangle in the message area in block coordinates.

Attributes

Source
BlockGame.scala
def clearWindow(): Unit

Erase all blocks to background color.

Erase all blocks to background color.

Attributes

Source
BlockGame.scala
def drawBlock(x: Int, y: Int, c: Color): Unit

Paint a block in color c at (x,y) in block coordinates.

Paint a block in color c at (x,y) in block coordinates.

Attributes

Source
BlockGame.scala
def drawCenteredText(msg: String, color: Color, size: Int): Unit

Write msg in color in the middle of the window. The drawing is postponed until the end of the current game loop iteration and thus the text drawn on top of any updated blocks.

Write msg in color in the middle of the window. The drawing is postponed until the end of the current game loop iteration and thus the text drawn on top of any updated blocks.

Attributes

Source
BlockGame.scala
def drawTextInMessageArea(msg: String, x: Int, y: Int, color: Color, size: Int): Unit

Write msg in color in the message area at ('x','y') in block coordinates.

Write msg in color in the message area at ('x','y') in block coordinates.

Attributes

Source
BlockGame.scala
def eraseBlock(x: Int, y: Int): Unit

Erase the block at (x,y) to background color.

Erase the block at (x,y) to background color.

Attributes

Source
BlockGame.scala
def gameLoopAction(): Unit

Called in each gameLoop iteration. Override if you want non-empty action.

Called in each gameLoop iteration. Override if you want non-empty action.

Attributes

Source
BlockGame.scala

Returns the gameLoop delay in ms implied by framesPerSecond.

Returns the gameLoop delay in ms implied by framesPerSecond.

Attributes

Source
BlockGame.scala
def onClose(): Unit

Called when window is closed. Override if you want non-empty action.

Called when window is closed. Override if you want non-empty action.

Attributes

Source
BlockGame.scala
def onFrameTimeOverrun(elapsedMillis: Long): Unit

Called if no time is left in iteration to keep frame rate. Default action is to print a warning message.

Called if no time is left in iteration to keep frame rate. Default action is to print a warning message.

Attributes

Source
BlockGame.scala
def onKeyDown(key: String): Unit

Called when a key is pressed. Override if you want non-empty action.

Called when a key is pressed. Override if you want non-empty action.

Value parameters

key

is a string representation of the pressed key

Attributes

Source
BlockGame.scala
def onKeyUp(key: String): Unit

Called when a key is released. Override if you want non-empty action.

Called when a key is released. Override if you want non-empty action.

Value parameters

key

is a string representation of the released key

Attributes

Source
BlockGame.scala
def onMouseDown(pos: (Int, Int)): Unit

Called when mouse is pressed. Override if you want non-empty action.

Called when mouse is pressed. Override if you want non-empty action.

Value parameters

pos

the mouse position in underlying pixelWindow coordinates

Attributes

Source
BlockGame.scala
def onMouseUp(pos: (Int, Int)): Unit

Called when mouse is released. Override if you want non-empty action.

Called when mouse is released. Override if you want non-empty action.

Value parameters

pos

the mouse position in underlying pixelWindow coordinates

Attributes

Source
BlockGame.scala

Concrete fields

val background: Color

Attributes

Source
BlockGame.scala
val blockSize: Int

Attributes

Source
BlockGame.scala
val dim: (Int, Int)

Attributes

Source
BlockGame.scala
var framesPerSecond: Int

Attributes

Source
BlockGame.scala

Attributes

Source
BlockGame.scala

Attributes

Source
BlockGame.scala
val title: String

Attributes

Source
BlockGame.scala