Создание игрового приложения Тетрис на языке программирования Java
История развития языка программирования Java. История тетриса - культовой компьютерной игры, изобретённой в СССР. Правила проведения игры, особенности начисления очков. Создание интерфейса программы, ее реализация в среде Java, кодирование, тестирование.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 27.09.2013 |
Размер файла | 168,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
public void continueButtonPressed(ActionEvent evt) {
TetrisGamePanel p = (TetrisGamePanel)tetrisGamePanel1;
p.resumeGame();
}
public void pauseButtonPressed(ActionEvent evt) {
TetrisGamePanel p = (TetrisGamePanel)tetrisGamePanel1;
p.pauseGame();
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private Tetr.ButtonPanel buttonPanel1;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JSeparator jSeparator2;
private javax.swing.JMenuBar menuBar;
private javax.swing.JMenuBar menuBar1;
private javax.swing.JMenuItem menuFileExit;
private javax.swing.JMenuItem menuFileExit1;
private javax.swing.JMenuItem menuNewGame;
private javax.swing.JMenuItem menuNewGame1;
private javax.swing.JMenuItem menuPauseGame;
private javax.swing.JMenuItem menuPauseGame1;
private Tetr.TetrisGamePanel tetrisGamePanel1;
}
Файл TetrisGamePanel.java
package Tetr;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TetrisGamePanel extends javax.swing.JPanel implements GamePanel,ActionListener {
private Glass stakan;
private Figure fig = null;
private int score = 0;
private int gameState;
private int[] DELAY = {500, 450, 400, 350, 300, 250, 200, 150, 100, 50};
private int level = 1;
Timer t = new javax.swing.Timer(DELAY[level], this);
public TetrisGamePanel() {
stakan = new Glass();
startNewGame();
t.start();
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
stakan.draw(g);
fig.draw(g);
g.setFont(new Font("Times New Roman", Font.BOLD, 24));
g.setColor(Color.BLACK);
g.drawString("Счет: " + score, 350, 250);
g.drawString("Уровень: " + level, 350, 300);
}
public int getScore() {
return score;
}
public void startNewGame() {
score = 0;
level = 1;
fig = new Figure();
stakan = new Glass();
gameState = PLAY;
}
public void pauseGame() {
if (gameState == PLAY) {
gameState = PAUSE;
}
}
public void resumeGame() {
if (gameState == PAUSE) {
gameState = PLAY;
}
}
public void stopGame() {
gameState = STOP;
}
public int getState() {
return gameState;
}
public void figureMoveRight(){
if (fig.canRight(stakan)& gameState==PLAY)
fig.moveRight();
}
public void figureMoveLeft(){
if (fig.canLeft(stakan)& gameState==PLAY)
fig.moveLeft();
}
public void figureMoveDown(){
t.setDelay(DELAY[level]/20);
}
public void figureRotate(){
if (fig.canRotate(stakan)& gameState==PLAY)
fig.rotate();
}
public void gamePauseResume(){
if (gameState==PLAY) {
gameState = PAUSE;
}
else
if (gameState==PAUSE) {
gameState = PLAY;
}
}
public void actionPerformed(ActionEvent e) {
if (gameState != PLAY) {
return;
}
int bonus;
if (fig.canDown(stakan)) {
fig.moveDown();
} else {
if ((bonus = stakan.acceptFigure(fig)) < 0) {
stopGame();
}
if (bonus > 0) {
switch (bonus) {
case 4:
score += 20;
case 3:
score += 15;
case 2:
score += 10;
case 1:
score += 5;
}
int newLevel = score / 100 + 1;
if (newLevel > level && level < 9) {
level++;
}
}
if (gameState == PLAY) {
fig = new Figure();
t.setDelay(DELAY[level]);
}
}
repaint();
}
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
}// </editor-fold>//GEN-END:initComponents
}
Размещено на Allbest.ru
Подобные документы
Сетевые возможности языков программирования. Преимущества использования Java-апплетов. Классы, входящие в состав библиотеки java.awt. Создание пользовательского интерфейса. Сокетное соединение с сервером. Графика в Java. Значения составляющих цвета.
курсовая работа [508,1 K], добавлен 10.11.2014Разработка и создание игры "Змейка". Использование динамически-активных принципов языка Java. Графические объекты программы. Описание игры, правила, теоретические сведения. Классы приложения. Типы данных. Реализация. Метод. Объект. Блок-схема игры.
курсовая работа [12,4 K], добавлен 18.06.2008Создание языка программирования с помощью приложения "Java". История названия и эмблемы Java. Обзор многообразия современных текстовых редакторов. Обработка строки. Методы в классе String. Java: задачи по обработке текста. Примеры программирования.
курсовая работа [276,1 K], добавлен 19.07.2014История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возможностей использования языка Java, его преимущества. Перспективы работы программистом на языке Java.
курсовая работа [795,9 K], добавлен 14.12.2012Разработка игры "Экзамен" с применением объектно-ориентированного программирования и языка Java (в среде Eclipse Helios). Структура программы и алгоритм решения задачи. Описание методов и переменных. Экспериментальное тестирование и оценка программы.
курсовая работа [122,5 K], добавлен 19.05.2011- Создание базы данных автомобилестроительного предприятия в виде настольного приложения на языке Java
Разработка логической схемы базы данных автомобилестроительного предприятия. Инфологическое моделирование системы. Создание графического интерфейса пользователя для базы данных средствами языка программирования Java. Тестирование программных средств.
курсовая работа [2,3 M], добавлен 16.12.2013 Этапы развития, особенности и возможности языка программирования Java; происхождение названия. Приложения Sun Microsystems: идеи, примитивные типы. Python - высокоуровневый язык программирования общего назначения: структуры данных, синтаксис и семантика.
реферат [79,0 K], добавлен 23.06.2012Изучение объектно-ориентированного языка программирования Java, его функциональные возможности. Создание программного кода. Описание классов и методов, использованных в программе. Руководство пользователя, запуск сервера и клиентского приложения.
курсовая работа [1,8 M], добавлен 16.09.2015Разработка графического редактора для рисования двухмерной и трехмерной графики, используя язык программирования Java и интерфейсы прикладного программирования Java 2D и Java 3D. Создание графического редактора 3D Paint. Основные методы класса Graphics.
курсовая работа [197,5 K], добавлен 19.11.2009Архитектура Java и Java RMI, их основные свойства, базовая система и элементы. Безопасность и виртуальная Java-машина. Интерфейс Java API. Пример использования приложения RMI. Работа с программой "Calculator". Универсальность, портативность платформ.
курсовая работа [208,6 K], добавлен 03.12.2013