Рефераты. Гра "Змійка" - опис програми

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, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.