diff --git a/.cache-main b/.cache-main index 4ee569f..b8a1378 100644 Binary files a/.cache-main and b/.cache-main differ diff --git a/src/exemplo/Space.png b/Space.png similarity index 100% rename from src/exemplo/Space.png rename to Space.png diff --git a/src/exemplo/Spacecraft.png b/Spacecraft.png similarity index 100% rename from src/exemplo/Spacecraft.png rename to Spacecraft.png diff --git a/src/exemplo/Star.png b/Star.png similarity index 100% rename from src/exemplo/Star.png rename to Star.png diff --git a/src/exemplo/potigol.png b/potigol.png similarity index 100% rename from src/exemplo/potigol.png rename to potigol.png diff --git a/src/exemplo/CatchTheStars.scala b/src/exemplo/CatchTheStars.scala index e8b01fb..1df5866 100644 --- a/src/exemplo/CatchTheStars.scala +++ b/src/exemplo/CatchTheStars.scala @@ -10,13 +10,13 @@ import com.sun.org.apache.bcel.internal.generic.Select object CatchTheStars extends App { case class Player(var x: Double, var y: Double) { - val img = Image("Spacecraft.png") + val image = Image("Spacecraft.png") var score = 0 var vel_x, vel_y = 0.0 var angle = 0.0 def draw() = { - img.centralized_draw(x, y, 3, angle) + image.centralized_draw(x, y, 3, angle) } def rotate_right() = { @@ -63,7 +63,7 @@ object CatchTheStars extends App { def draw() = { val image = images((Clock.milisegundos / 100 + i) % images.size) - image.centralized_draw(x, y, 1) //PROBLEMA N IDENTIFICADO + image.centralized_draw(x, y, 1) } } @@ -71,7 +71,7 @@ object CatchTheStars extends App { val background = Image("Space.png") val spacecraft = Player(game.width / 2, game.height / 2) var time = 0.0 - var stars = List(0, Star()) + var stars = List[Star]() var state = "START" val font = Fonts(16) @@ -85,6 +85,7 @@ object CatchTheStars extends App { def draw() = { background.draw(0, 0, 0) + println("Desenhando") state match { case "START" => update_start case "PLAYING" => update_playing @@ -114,7 +115,7 @@ object CatchTheStars extends App { stars = Star() :: stars } - stars = spacecraft.catch_the_stars(stars) // Catch the stars //PROBLEMA N IDENTIFICADO + stars = spacecraft.catch_the_stars(stars) // Catch the stars spacecraft.move // update player position time = time + 1.0 / 60.0 // increase time if (time.intValue() >= 30) { @@ -125,7 +126,7 @@ object CatchTheStars extends App { def draw_player() = { spacecraft.draw for (star <- stars) { - star.draw //PROBLEMA N IDENTIFICADO + star.draw } font.draw(s"Placar: ${spacecraft.score}", 10, 20, 3, ColorF.YELLOW) diff --git a/src/jerimum/Drawing.scala b/src/jerimum/Drawing.scala index 5421227..4135bcd 100644 --- a/src/jerimum/Drawing.scala +++ b/src/jerimum/Drawing.scala @@ -5,7 +5,7 @@ import java.awt.{ Graphics2D, RenderingHints } import scala.collection.SortedMap -object Draw { +object Drawing { private[this] val empty = SortedMap[Int, List[Graphics2D => Unit]]() private[this] var layers = empty private[this] def all = layers.values.flatten diff --git a/src/jerimum/Fonts.scala b/src/jerimum/Fonts.scala index 73d4dab..682cef9 100644 --- a/src/jerimum/Fonts.scala +++ b/src/jerimum/Fonts.scala @@ -11,7 +11,7 @@ case class Fonts(size: Int) { private[this] val font = new Font("Dialog", Font.BOLD, size); def draw_centered(msg: String, x: Double, y: Double, z: Int, c: ColorF) = { - Draw.include(z, g => { + Drawing.include(z, g => { g.setColor(c.color) g.setFont(font) val width = g.getFontMetrics.stringWidth(msg) @@ -22,7 +22,7 @@ case class Fonts(size: Int) { } def draw(msg: String, x: Double, y: Double, z: Int, c: ColorF) = { - Draw.include(z, g => { + Drawing.include(z, g => { g.setColor(c.color) g.setFont(font) g.drawString(msg, x.toInt, y.toInt) diff --git a/src/jerimum/Game.scala b/src/jerimum/Game.scala index 94a9af2..100f137 100644 --- a/src/jerimum/Game.scala +++ b/src/jerimum/Game.scala @@ -14,7 +14,7 @@ object Game extends Runnable { private[this] var running = false private[this] var thread: Thread = _ - private[this] var draw, update = () => {} + private[this] var dwg, update = () => {} private[this] def init() = { display = new Screen(title, width, height) { @@ -33,7 +33,7 @@ object Game extends Runnable { case Some(strategy) => strategy.getDrawGraphics match { case g: Graphics2D => g.clearRect(0, 0, width, height) - Draw.draw(g) + Drawing.draw(g) strategy.show g.dispose() } @@ -54,7 +54,7 @@ object Game extends Runnable { last = now if (delta >= 1) { update() - drawing() + dwg() drawing() cycles += 1 delta -= 1 @@ -75,7 +75,7 @@ object Game extends Runnable { this.height = height this.fps = fps this.update = update _ - this.draw = draw _ + this.dwg = draw _ if (!running) { running = true thread = new Thread(this) { diff --git a/src/jerimum/Image.scala b/src/jerimum/Image.scala index 5b7e1c4..ebfe36a 100644 --- a/src/jerimum/Image.scala +++ b/src/jerimum/Image.scala @@ -41,7 +41,7 @@ object Image { lists(id) = list.toList lists(id) }) - List(l) + l } } @@ -62,7 +62,7 @@ class Image(val buffer: BufferedImage, val road: String = "") { Image.lists(id) = list.toList Image.lists(id) }) - List(l) + l } private[this] def spin(g: Graphics2D, angle: Double, x: Double, y: Double, scalaX: Double, scalaY: Double)(draw: => Unit): Unit = { @@ -73,7 +73,7 @@ class Image(val buffer: BufferedImage, val road: String = "") { } def draw(x: Double, y: Double, z: Int, angle: Double = 0.0, scalaX: Double = 1.0, scalaY: Double = 1.0): Unit = { - Draw.include(z, g => { + Drawing.include(z, g => { spin(g, angle, x, y, scalaX, scalaY) { val width = (buffer.getWidth * scalaX).toInt val height = (buffer.getHeight * scalaY).toInt