Здравствуйте. Как видно из темы срок критичен)))
Собственно выкладываю код. Хотелось бы при столкновении моего кубика и падающих получать надпись "Game over" и начальное меню типа "начать игру". Надеюсь на вашу помощь
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;
}
}
}