на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Гра "Змійка" - опис програми

public void keyPressed (KeyEvent e){

switch (e.getKeyCode()) { // Яку клавішу натиснули.

case KeyEvent.VK_LEFT :

if (!snake.elem[0].isMovingRight() && !keyBlocked){

snake.setMoveLeft();

keyBlocked = true;

}

break;

case KeyEvent.VK_RIGHT :

if (!snake.elem[0].isMovingLeft() && !keyBlocked){

snake.setMoveRight();

keyBlocked = true;

}

break;

case KeyEvent.VK_UP :

if (!snake.elem[0].isMovingDown() && !keyBlocked){

snake.setMoveUp();

keyBlocked = true;

}

break;

case KeyEvent.VK_DOWN :

if (!snake.elem[0].isMovingUp() && !keyBlocked){

snake.setMoveDown();

keyBlocked = true;

}

break;

case KeyEvent.VK_SPACE :

newGame();

break;

case KeyEvent.VK_P :

pauseGame();

break;

}

}

public void keyTyped(KeyEvent e){}

public void keyReleased(KeyEvent e){}

}

3.1.4. Файл InformPanel.java

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class InformPanel extends JPanel{

JLabel label;

boolean rn = true;

protected int lives, len, speed, obstacles;

public InformPanel(final GameField field) {

label = new JLabel("Інформація гри");

add(label);

setDefault();

}

public void setDefault(){

updateInfo(0, 0, 0, 0);

}

public void updateInfo(int lives, int len, int speed, int obstacles){

this.lives = lives;

this.len = len;

this.speed = speed;

this.obstacles = obstacles;

repaint();

}

public void paintComponent(Graphics g){

int h = 100;

super.paintComponent(g);

g.drawString(" Життя: " + lives, 1, h += 30);

g.drawString("Елементів: " + len, 1, h += 30);

g.drawString("Швидкість: " + speed, 1, h += 30);

g.drawString(" Перепони: " + obstacles, 1, h += 30);

}

}

3.1.5. Файл Snake.java

class Snake {

int colElements;

final int maxLen = 16;

SnakeElement elem[];

int xNextSpeed, yNextSpeed;

final int startLives = 3;

private static int lives;

public Snake(int c, int xPos, int yPos){

colElements = c;

elem = new SnakeElement[colElements];

for (int i = 0; i<colElements; i++) {

elem[i] = new SnakeElement(xPos-i,yPos);

elem[i].setMoveRight();

}

setMoveRight();

}

public void resetLives(){

lives = startLives;

}

public void increment(SnakeElement lastElem) {

SnakeElement temp[];

temp = new SnakeElement[colElements];

for (int i = 0; i<colElements; i++) {

temp[i] = new SnakeElement(0,0);

temp[i] = elem[i];

}

colElements++;

elem = new SnakeElement[colElements];

for (int i = 0; i<colElements-1; i++) {

elem[i] = new SnakeElement(0,0);

elem[i] = temp[i];

}

elem[colElements-1] = new SnakeElement(0,0);

elem[colElements-1] = lastElem;

elem[colElements-1].xSpeed = lastElem.xSpeed;

elem[colElements-1].ySpeed = lastElem.ySpeed;

}

public void move(){

for (int i = colElements-1; i>0; i--){

elem[i].setSpeed(elem[i-1].xSpeed, elem[i-1].ySpeed);

elem[i].move();

}

elem[0].xSpeed = xNextSpeed;

elem[0].ySpeed = yNextSpeed;

elem[0].move();

}

public void setMoveUp(){

xNextSpeed = 0; yNextSpeed = -1;

};

public void setMoveDown(){

xNextSpeed = 0; yNextSpeed = 1;

};

public void setMoveLeft(){

xNextSpeed = -1; yNextSpeed = 0;

};

public void setMoveRight(){

xNextSpeed = 1; yNextSpeed = 0;

};

public boolean isMaxLong(){return (colElements == maxLen);}

public boolean isKilled(){return (lives<0);}

public void decrementLive(){lives -=1;}

public int getLives(){ return lives;}

}

3.1.6. Файл SnakeElement.java

class SnakeElement {

int xSpeed=1;

int ySpeed=1;

int xPos=1;

int yPos=1;

public SnakeElement(int xPos, int yPos){

this.xPos = xPos;

this.yPos = yPos;

}

public void move(){

xPos += xSpeed;

yPos += ySpeed;

}

public void setSpeed(int x, int y){

xSpeed = x;

ySpeed = y;

}

public void setMoveUp() { xSpeed = 0; ySpeed = -1;}

public void setMoveDown() { xSpeed = 0; ySpeed = 1;}

public void setMoveLeft() { xSpeed = -1; ySpeed = 0;}

public void setMoveRight(){ xSpeed = 1; ySpeed = 0;}

public boolean isMovingUp() { return ySpeed == -1;}

public boolean isMovingDown(){ return ySpeed == 1;}

public boolean isMovingLeft(){ return xSpeed == -1;}

public boolean isMovingRight(){ return xSpeed == 1;}

}

3.1.7. Файл GameSquare.java

import java.awt.*;

import javax.swing.*;

class GameSquare extends JPanel{

int w, h;

boolean used = false;

boolean isBorder = false;

int n;

public void setSize(int w, int h){

super.setSize(w, h);

this.w = w;

this.h = h;

}

public void setBorder(boolean b){isBorder = b;}

public void setUsed(boolean b){used = b;}

public void paintComponent(Graphics g){

if (isBorder && !used){

g.setColor(Color.ORANGE); g.fillRect(0,0,w-1,h-1);

g.setColor(Color.RED); g.drawRect(0,0,w-1,h-1);

}

if (used) {

g.setColor(Color.BLUE); g.fillOval(-1, -1, w+2, h+2);

}

}

}

3.1.8. Файл MenuString.java

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class MenuString extends JMenuBar {

JMenu Game; JMenuItem mi_NewGame, mi_PauseGame,

mi_StopGame, mi_ExitGame;

JMenu Options, Speed; JMenuItem mi_S1, mi_S2, mi_S3;

JMenu Help; JMenuItem mi_About;

public MenuString(final GameFrame owner) {

super();

Game = new JMenu("Гра");

mi_NewGame = new JMenuItem("Нова гра");

mi_NewGame.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

owner.newGame();

}

});

mi_PauseGame = new JMenuItem("Пауза");

mi_PauseGame.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

owner.pauseGame();

}

});

mi_StopGame = new JMenuItem("Зупинити гру");

mi_StopGame.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

owner.stopGame();

}

});

mi_ExitGame = new JMenuItem("Вихiд");

mi_ExitGame.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

//Вихід з гри

System.exit(0);

}

});

Game.add(mi_NewGame); Game.add(mi_PauseGame);

Game.add(mi_StopGame); Game.add(mi_ExitGame);

add(Game);

Options = new JMenu("Настроювання");

Speed = new JMenu("Швидкість гри");

Options.add(Speed);

mi_S1 = new JMenuItem("Новичок");

mi_S1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

owner.field.setGameSpeed(1);

} });

mi_S2 = new JMenuItem("Середня");

mi_S2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

owner.field.setGameSpeed(2);

}

});

mi_S3 = new JMenuItem("Професіонал");

mi_S3.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

owner.field.setGameSpeed(3);

}

});

Speed.add(mi_S1); Speed.add(mi_S2); Speed.add(mi_S3);

add(Options);

Help = new JMenu("Допомога");

mi_About = new JMenuItem("Про гру");

mi_About.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

//Інформаційне вікно

JOptionPane.showMessageDialog(owner,

"Гра Змійка\nАвтор: Гребенюк Віктор\n2005 рік",

"Про гру",

JOptionPane.INFORMATION_MESSAGE);

}

});

Help.add(mi_About);

add(Help);

}

}

3.2. Знімок вікна програми:

4. Література

4.1. JAVA - Издательство Питер. Секреты программирования для Internet на Java

4.2. Картузов А.В. Язык JAVA

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.