viernes, 12 de noviembre de 2010

programa Middle Graficos

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

public class Juego extends MIDlet {
public void startApp() {

SSCanvas screen=new SSCanvas();
Display.getDisplay(this).setCurrent(screen);
new Thread(screen).start();
}


public void pauseApp() {
}


public void destroyApp(boolean unconditional) {
}
}


class SSCanvas extends Canvas implements Runnable{
private Sprite snake;

private Sprite player;

public SSCanvas(){


snake= new Sprite(50,50,10,10);

player = new Sprite(118,70,10,10);
}

public void run(){
while(true){

snake.compute(getWidth(),getHeight());

player.computePlayer(getWidth(),getHeight());


repaint();
serviceRepaints();
try {
Thread.sleep(30);
} catch (InterruptedException e) {
}
}
}
public void paint(Graphics g){

g.setColor(0,0,0);

g.fillRect(0,0,getWidth(),getHeight());
g.setColor(128,0,255);
g.fillRect(60,70,50,50);
g.setColor(0,255,0);
g.fillRoundRect(8,50,8,8,8,8);
g.setColor(255,0,255);

player.draw(g);
}

public void keyReleased(int keyCode) {
int action=getGameAction(keyCode);
switch (action) {
case LEFT:
player.keyUp(player.LEFT);
break;
case RIGHT:
player.keyUp(player.RIGHT);
break;
case UP:
player.keyUp(player.UP);
break;
case DOWN:
player.keyUp(player.DOWN);
break;
case FIRE:
break;
}
}
public void keyPressed(int keyCode) {
int action=getGameAction(keyCode);
switch (action) {
case LEFT:
player.keyPress(player.LEFT);
break;
case RIGHT:
player.keyPress(player.RIGHT);
break;
case UP:
player.keyPress(player.UP);
break;
case DOWN:
player.keyPress(player.DOWN);
break;
case FIRE:
break;
}
}
}

class Sprite{

protected int x;
protected int y;
protected int width;
protected int height;
protected int incX,incY;
private boolean startX=false;
private boolean startY=false;

protected static final int LEFT = 1;
protected static final int RIGHT = 2;
protected static final int UP = 3;
protected static final int DOWN = 4;
protected static final int FIRE = 5;


public Sprite(int x,int y,int width,int height){
this.x=x;
this.y=y;
this.width=width;
this.height=height;
incX=3;
incY=3;
}

public void compute(int screenW, int screenH){
if(x <= 0)incX=3;
else if(x+width >= screenW)incX=-3;

x+=incX;
}


public void computePlayer(int screenW, int screenH) {
if(x + incX > 0 && (x + incX) < (screenW - width)){
x+=incX;
if(startX==false)incX=0;
}
if(y + incY > 0 && (y + incY) < (screenH - height)){
y+=incY;
if(startY==false)incY=0;
}
}

public void keyUp(int keyCode) {
switch (keyCode) {
case LEFT:
startX=false;
break;
case RIGHT:
startX=false;
break;
case UP:
startY=false;
break;
case DOWN:
startY=false;
break;
}
}

public void keyPress(int keyCode) {
switch (keyCode) {
case LEFT:
incX=-5;
startX=true;
break;
case RIGHT:
incX=5;
startX=true;
break;
case UP:
incY=-5;
startY=true;
break;
case DOWN:
incY=5;
startY=true;
break;
case FIRE:
break;
}
}


public void draw(Graphics g){

if(incX==5 && incY==40){
g.setColor(180,0,0);
g.fillArc(x,y, width, height,0, 360);
}
else{
g.setColor(250,0,0);
g.fillArc(x,y, width, height,0, 360);
}
}
}


Nataly Garzón
Angélica Tellez

No hay comentarios:

Publicar un comentario