/* * POLYPHEMUS - A simple Java roguelike. * Copyright (c) 2014-2017, J. Francisco Martín <jfm.lisaso@gmail.com>. */ package jomali.polyphemus; import java.awt.Color; import java.awt.Toolkit; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import jomali.polyphemus.screens.DummyScreen; import jomali.polyphemus.screens.Screen; import jomali.polyphemus.utils.SColor; import jomali.polyphemus.utils.Terminal; /** * * @author J. Francisco Martín * @serial 2017/01/25 * */ public class ApplicationMain extends JFrame implements KeyListener { private static final long serialVersionUID = -8917004607782274032L; // ///////////////////////////////////////////////////////////////////////// public static final String TITLE = "Polyphemus"; public static final String RELEASE = "0.0"; public static final int SCREEN_WIDTH = 80; // def.: 80 public static final int SCREEN_HEIGHT = 24; // def.: 24 public static final Color FOREGROUND_COLOR = SColor.WHITE; public static final Color BACKGROUND_COLOR = SColor.BLACK; public static final Color EMPHASIS_COLOR = SColor.BLOOD; // ///////////////////////////////////////////////////////////////////////// /** Terminal gráfica. */ private Terminal terminal; /** Pantalla de juego activa. */ private Screen screen; public ApplicationMain(String title) { super(); terminal = new Terminal(SCREEN_WIDTH, SCREEN_HEIGHT, FOREGROUND_COLOR, BACKGROUND_COLOR); terminal.setEmphasisColor(EMPHASIS_COLOR); add(terminal); pack(); screen = new DummyScreen(); addKeyListener(this); repaint(); Toolkit kit = Toolkit.getDefaultToolkit(); int screenWidth = kit.getScreenSize().width; int screenHeight = kit.getScreenSize().height; setLocation(screenWidth / 2 - getSize().width / 2, screenHeight / 2 - getSize().height / 2); setResizable(false); setTitle(title); } public void repaint() { screen.displayOutput(terminal); super.repaint(); } @Override public void keyPressed(KeyEvent arg0) { // TODO Auto-generated method stub } @Override public void keyReleased(KeyEvent arg0) { // TODO Auto-generated method stub } @Override public void keyTyped(KeyEvent arg0) { // TODO Auto-generated method stub } // ///////////////////////////////////////////////////////////////////////// public static void main(String[] args) { ApplicationMain app = new ApplicationMain(TITLE + " v" + RELEASE); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); app.setVisible(true); } }