Создание игрового приложения Тетрис на языке программирования 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. Тестирование программных средств.

    курсовая работа [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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.