From a09503689089eaa2ed85b97ef7632265c075a309 Mon Sep 17 00:00:00 2001 From: Thiago Demas Date: Fri, 8 Dec 2017 23:37:13 -0300 Subject: [PATCH] =?UTF-8?q?modifica=C3=A7=C3=B5es=20das=20classes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cache-main | Bin 0 -> 19262 bytes README.md | 1 + src/exemplo/CataEstrela.scala | 4 +- src/jerimum/Keyboard.scala | 100 +++++++++++++++++----------------- src/jerimum/Mouse.scala | 20 +++---- src/jerimum/Screen.scala | 6 +- src/jerimum/Sound.scala | 16 +++--- 7 files changed, 74 insertions(+), 73 deletions(-) create mode 100644 .cache-main diff --git a/.cache-main b/.cache-main new file mode 100644 index 0000000000000000000000000000000000000000..aa00ad2ec9fa812a3c34cc65cc0ebc678f6ce215 GIT binary patch literal 19262 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 551023d..8a1ea83 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # Jerimum - Scala Game Library + Scala Game Library is a library for developing 2D video games in Scala. diff --git a/src/exemplo/CataEstrela.scala b/src/exemplo/CataEstrela.scala index 27b4f97..33e2613 100644 --- a/src/exemplo/CataEstrela.scala +++ b/src/exemplo/CataEstrela.scala @@ -3,7 +3,7 @@ import jerimum._ import scala.util.Random object CataEstrela extends App { - +/* case class Jogador(var x: Double, var y: Double) { val imagem = Imagem("Nave.png") var placar = 0 @@ -130,4 +130,4 @@ object CataEstrela extends App { def atualize_fim() = {} jogo.iniciar("Cata Estrelas", 640, 480, atualize, desenhe) -} +*/} diff --git a/src/jerimum/Keyboard.scala b/src/jerimum/Keyboard.scala index ae02a39..7fe369c 100644 --- a/src/jerimum/Keyboard.scala +++ b/src/jerimum/Keyboard.scala @@ -3,13 +3,13 @@ package jerimum import java.awt.event.{ KeyEvent, KeyListener } -object Teclado extends KeyListener with TecladoLetras { - protected[this] val teclas = new Array[Boolean](256) +object Keyboard extends KeyListener with LettersKeyboard { + protected[this] val keyboardKey = new Array[Boolean](256) - private[this] def update(e: KeyEvent, valor: Boolean) = { + private[this] def update(e: KeyEvent, value: Boolean) = { val cod = e.getKeyCode() - if (cod >= 0 && cod < teclas.length) - teclas(cod) = valor + if (cod >= 0 && cod < keyboardKey.length) + keyboardKey(cod) = value } override def keyPressed(e: KeyEvent) = this(e) = true @@ -19,50 +19,50 @@ object Teclado extends KeyListener with TecladoLetras { override def keyTyped(e: KeyEvent) = {} } -trait TecladoLetras { - protected[this] val teclas: Array[Boolean] +trait LettersKeyboard { + protected[this] val keyboardKey: Array[Boolean] import java.awt.event.KeyEvent._ - def TECLA_A: Boolean = teclas(VK_A) - def TECLA_B: Boolean = teclas(VK_B) - def TECLA_C: Boolean = teclas(VK_C) - def TECLA_D: Boolean = teclas(VK_D) - def TECLA_E: Boolean = teclas(VK_E) - def TECLA_F: Boolean = teclas(VK_F) - def TECLA_G: Boolean = teclas(VK_G) - def TECLA_H: Boolean = teclas(VK_H) - def TECLA_I: Boolean = teclas(VK_I) - def TECLA_J: Boolean = teclas(VK_J) - def TECLA_K: Boolean = teclas(VK_K) - def TECLA_L: Boolean = teclas(VK_L) - def TECLA_M: Boolean = teclas(VK_M) - def TECLA_N: Boolean = teclas(VK_N) - def TECLA_O: Boolean = teclas(VK_O) - def TECLA_P: Boolean = teclas(VK_P) - def TECLA_Q: Boolean = teclas(VK_Q) - def TECLA_R: Boolean = teclas(VK_R) - def TECLA_S: Boolean = teclas(VK_S) - def TECLA_T: Boolean = teclas(VK_T) - def TECLA_U: Boolean = teclas(VK_U) - def TECLA_V: Boolean = teclas(VK_V) - def TECLA_W: Boolean = teclas(VK_W) - def TECLA_X: Boolean = teclas(VK_X) - def TECLA_Y: Boolean = teclas(VK_Y) - def TECLA_Z: Boolean = teclas(VK_Z) - def TECLA_0: Boolean = teclas(VK_0) - def TECLA_1: Boolean = teclas(VK_1) - def TECLA_2: Boolean = teclas(VK_2) - def TECLA_3: Boolean = teclas(VK_3) - def TECLA_4: Boolean = teclas(VK_4) - def TECLA_5: Boolean = teclas(VK_5) - def TECLA_6: Boolean = teclas(VK_6) - def TECLA_7: Boolean = teclas(VK_7) - def TECLA_8: Boolean = teclas(VK_8) - def TECLA_9: Boolean = teclas(VK_9) - def TECLA_ESPACO: Boolean = teclas(VK_SPACE) - def TECLA_ESPAÇO: Boolean = TECLA_ESPACO - def TECLA_ENTER: Boolean = teclas(VK_ENTER) - def TECLA_PARA_CIMA: Boolean = teclas(VK_UP) - def TECLA_PARA_BAIXO: Boolean = teclas(VK_DOWN) - def TECLA_PARA_ESQUERDA: Boolean = teclas(VK_LEFT) - def TECLA_PARA_DIREITA: Boolean = teclas(VK_RIGHT) + def KEY_A: Boolean = keyboardKey(VK_A) + def KEY_B: Boolean = keyboardKey(VK_B) + def KEY_C: Boolean = keyboardKey(VK_C) + def KEY_D: Boolean = keyboardKey(VK_D) + def KEY_E: Boolean = keyboardKey(VK_E) + def KEY_F: Boolean = keyboardKey(VK_F) + def KEY_G: Boolean = keyboardKey(VK_G) + def KEY_H: Boolean = keyboardKey(VK_H) + def KEY_I: Boolean = keyboardKey(VK_I) + def KEY_J: Boolean = keyboardKey(VK_J) + def KEY_K: Boolean = keyboardKey(VK_K) + def KEY_L: Boolean = keyboardKey(VK_L) + def KEY_M: Boolean = keyboardKey(VK_M) + def KEY_N: Boolean = keyboardKey(VK_N) + def KEY_O: Boolean = keyboardKey(VK_O) + def KEY_P: Boolean = keyboardKey(VK_P) + def KEY_Q: Boolean = keyboardKey(VK_Q) + def KEY_R: Boolean = keyboardKey(VK_R) + def KEY_S: Boolean = keyboardKey(VK_S) + def KEY_T: Boolean = keyboardKey(VK_T) + def KEY_U: Boolean = keyboardKey(VK_U) + def KEY_V: Boolean = keyboardKey(VK_V) + def KEY_W: Boolean = keyboardKey(VK_W) + def KEY_X: Boolean = keyboardKey(VK_X) + def KEY_Y: Boolean = keyboardKey(VK_Y) + def KEY_Z: Boolean = keyboardKey(VK_Z) + def KEY_0: Boolean = keyboardKey(VK_0) + def KEY_1: Boolean = keyboardKey(VK_1) + def KEY_2: Boolean = keyboardKey(VK_2) + def KEY_3: Boolean = keyboardKey(VK_3) + def KEY_4: Boolean = keyboardKey(VK_4) + def KEY_5: Boolean = keyboardKey(VK_5) + def KEY_6: Boolean = keyboardKey(VK_6) + def KEY_7: Boolean = keyboardKey(VK_7) + def KEY_8: Boolean = keyboardKey(VK_8) + def KEY_9: Boolean = keyboardKey(VK_9) + def SPACE_BUTTON: Boolean = keyboardKey(VK_SPACE) + def SPACE: Boolean = SPACE_BUTTON + def ENTER: Boolean = keyboardKey(VK_ENTER) + def UP: Boolean = keyboardKey(VK_UP) + def DOWN: Boolean = keyboardKey(VK_DOWN) + def LEFT: Boolean = keyboardKey(VK_LEFT) + def RIGHT: Boolean = keyboardKey(VK_RIGHT) } \ No newline at end of file diff --git a/src/jerimum/Mouse.scala b/src/jerimum/Mouse.scala index 729635f..0de49bb 100644 --- a/src/jerimum/Mouse.scala +++ b/src/jerimum/Mouse.scala @@ -5,17 +5,17 @@ import java.awt.event.{ MouseEvent, MouseListener, MouseMotionListener } object Mouse extends MouseListener with MouseMotionListener { - private[this] val botoes = new Array[Boolean](4) + private[this] val buttons = new Array[Boolean](4) private[this] var _x, _y: Int = 0 - def BOTAO_ESQUERDO: Boolean = botoes(1) - def BOTAO_DIREITO: Boolean = botoes(3) - - private[this] def update(e: MouseEvent, valor: Boolean) = { - val botao = e.getButton() - if (botao == MouseEvent.BUTTON1) - botoes(1) = valor - if (botao == MouseEvent.BUTTON3) - botoes(3) = valor + def LEFT_BUTTON: Boolean = buttons(1) + def RIGHT_BUTTON: Boolean = buttons(3) + + private[this] def update(e: MouseEvent, value: Boolean) = { + val button = e.getButton() + if (button == MouseEvent.BUTTON1) + buttons(1) = value + if (button == MouseEvent.BUTTON3) + buttons(3) = value } override def mousePressed(e: MouseEvent) = this(e) = true diff --git a/src/jerimum/Screen.scala b/src/jerimum/Screen.scala index f2a1b67..d577e57 100644 --- a/src/jerimum/Screen.scala +++ b/src/jerimum/Screen.scala @@ -5,15 +5,15 @@ import java.awt.{ Canvas, Dimension } import javax.swing.JFrame -class Tela(var titulo: String, var largura: Int, var altura: Int) { - private[this] val dim = new Dimension(largura, altura) +class Tela(var title: String, var width: Int, var height: Int) { + private[this] val dim = new Dimension(width, height) val canvas = new Canvas() { setPreferredSize(dim) setMaximumSize(dim) setMinimumSize(dim) setFocusable(false) } - val frame = new JFrame(titulo) { + val frame = new JFrame(title) { setIconImage(Imagem("potigol.png").buffer) setSize(dim) setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) diff --git a/src/jerimum/Sound.scala b/src/jerimum/Sound.scala index fff41d1..31847f5 100644 --- a/src/jerimum/Sound.scala +++ b/src/jerimum/Sound.scala @@ -2,13 +2,13 @@ package jerimum -case class Som(var arquivo: String) { +case class Sound(var file: String) { def toque: Unit = () } -case class Musica(var arquivo: String) { - def toque(loop: Boolean = false): Unit = { - // Musica._musica = this +case class Music(var file: String) { + def touch(loop: Boolean = false): Unit = { + // Music._music = this } def tocando: Boolean = false def pare: Unit = () @@ -16,8 +16,8 @@ case class Musica(var arquivo: String) { def pausado: Boolean = false } -object Musica { - private var _musica: Option[Musica] = None - def musica_atual: Option[Musica] = _musica - def música_atual = musica_atual +object Music { + private var _music: Option[Music] = None + def current_music: Option[Music] = _music + def current_Music = current_music }