Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Завтра экзамен. Помогите дополнить код игры. (https://javascript.ru/forum/misc/13331-zavtra-ehkzamen-pomogite-dopolnit-kod-igry.html)

ZZKK 26.11.2010 14:39

Завтра экзамен. Помогите дополнить код игры.
 
Здравствуйте. Как видно из темы срок критичен)))
Собственно выкладываю код. Хотелось бы при столкновении моего кубика и падающих получать надпись "Game over" и начальное меню типа "начать игру". Надеюсь на вашу помощь:write:
package ru.testtask;

import java.util.Random;
import javax.microedition.lcdui.*;

/**
 *
 * @author u57_15
 */
public class Game extends Canvas implements Runnable {
    int ws,hs,w,h;
    int col=8, str=9;
    int[][] matr;
    final int EMPTY=0;
    final int BRICK=1;
    final int HUMAN=2;
    int hposition=1; //номер столбца, в котором находится человечек
    int limit=1;
    int speed=300;

    public Game() {
        this.setFullScreenMode(true);
        ws=getWidth();
        hs=getHeight();
        h=hs/str; //высота кубика
        w=ws/col; //ширина кубика
        matr=new int[str][col];
        new Thread(this).start();
    }

    protected void paint(Graphics g) {
        for (int i=0; i<str; i++) {
            for (int j=0; j<col; j++) {
                switch (matr[i][j]) {
                    case EMPTY:
                           g.setColor(0xffffff);
                           break;
                    case BRICK:
                           g.setColor(0xff0000);
                           break;
                    case HUMAN:
                        g.setColor(0x0000ff);
                        break;
                }
                g.fillRect(j*w, i*h, w, h);
            }
        }
    }

    private void makeNewRow() {
        for (int i=0; i<col; i++) {
            for (int j=str-2; j>=0; j--) {
                matr[j+1][i]=matr[j][i];
            }
        }
        Random r=new Random();
         for (int i=0; i<col; i++) {
            matr[0][i]=EMPTY;
        }
        for (int i=0; i<limit; i++) {
            matr[0][Math.abs(r.nextInt()%col)]=BRICK;
        }
        matr[str-1][hposition]=HUMAN;
    }

    public void run() {
        try {
            while(true) {
                makeNewRow();
                repaint();
                Thread.sleep(speed);
            }
        } catch (Exception exc) {
            System.out.print(exc.toString());
        }
    }

    public void keyPressed(int k) {
        int gk=getGameAction(k);
        switch (gk) {
            case LEFT:
               hposition=hposition==0?hposition:hposition-1;
               break;
            case RIGHT:
               hposition=hposition==col-1?hposition:hposition+1;
               break;
        }
    }
}

Gvozd 26.11.2010 15:08

ошиблись форумом.
это форум по JavaScript, а не по Java.
это два абсолютно разных, никак не связанных между собой языка.

Но, даже если бы ваш вопрос был по JavaScript, то при вашей формулировке вопроса, вам бы тут помогли только в разделе Работа.

Удачи вам

ZZKK 26.11.2010 15:41

Извиняюсь. Просто сложилось, что с java у меня мало общего, вот и попутал. :blink:
Не могли бы Вы мне подсказать, где я могу запостить свой вопрос?

Gvozd 26.11.2010 15:45

гугл может подсказать
логично предположить, что на форуме, где сидят специалисты по Java
на всякий случай, будьте готовы заплатить.
в противном случае рискуете остаться без решения проблемы к моменту экзамена
ведь не думаете же вы, что толпы профессионалов кинутся делать вашу работу, только потому что вы не потратили на нее достаточно времени, и теперь вам нужно очень срочно?

Shaci 26.11.2010 15:46

http://www.forum.vingrad.ru/forum/java-forum.html

http://www.javatalks.ru/

http://www.google.ru/#hl=ru&source=h...b80d38ad031c95

Shaci 26.11.2010 15:47

игра, ? интересно, а я недавно змейку на java написал :) , простенькую
Что-то а игру вашу запустить не смог, это весь проект?

ZZKK 26.11.2010 15:53

Shaci,
Спасибо за ссылки!

ZZKK 26.11.2010 16:04

Цитата:

Сообщение от Shaci (Сообщение 80878)
игра, ? интересно, а я недавно змейку на java написал :) , простенькую
Что-то а игру вашу запустить не смог, это весь проект?

нет.
вот Midlet
package ru.testtask;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
 * @author u57_15
 */
public class Midlet extends MIDlet {
    public void startApp() {
        Display.getDisplay(this).setCurrent(new Game());
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
}

Shaci 26.11.2010 16:18

это для Java ME видимо,
http://forum.vingrad.ru/forum/s/bb5d...java-j2me.html
сюды вопросы кидать надо наверно


Часовой пояс GMT +3, время: 21:13.