📄 gamecanvas.java
字号:
w=0;
}
}else if(board2[i][2]==3){
g1.drawImage(m[2],board2[i][0],board2[i][1]-m[0].getHeight()-7,Graphics.TOP|Graphics.LEFT);
w++;
if(w>2){
board2[i][2]=1;
w=0;
}
}
//画蜜蜂
if(board2[i][2]==4){
g1.drawImage(m[3],board2[i][0],board2[i][1]-m[3].getHeight()-5,Graphics.TOP|Graphics.LEFT);
board2[i][2]=5;
}
else if(board2[i][2]==5){
g1.drawImage(m[4],board2[i][0],board2[i][1]-m[4].getHeight()-5,Graphics.TOP|Graphics.LEFT);
board2[i][2]=4;
}
//画蛇
if(board2[i][2]==6){
g1.drawImage(m[5],board2[i][0],board2[i][1]-m[5].getHeight(),Graphics.TOP|Graphics.LEFT);
w3++;
if(w3>10){
board2[i][2]=7;
w3=0;
}
}else if(board2[i][2]==7){
g1.drawImage(m[6],board2[i][0]-3,board2[i][1]-m[6].getHeight(),Graphics.TOP|Graphics.LEFT);
board2[i][2]=6;
}
//画人
if(board2[i][2]==8){
g1.drawImage(m[7],board2[i][0],board2[i][1]-m[7].getHeight(),Graphics.TOP|Graphics.LEFT);
}
//画狼人
if(board2[i][2]==9){
g1.drawImage(m[8],board2[i][0],board2[i][1]-m[8].getHeight(),Graphics.TOP|Graphics.LEFT);
}
//画球
if(board2[i][2]==10){
g1.drawImage(m[9],board2[i][0],board2[i][1]-m[9].getHeight(),Graphics.TOP|Graphics.LEFT);
board2[i][2]=11;
}else if(board2[i][2]==11){
g1.drawImage(m[10],board2[i][0],board2[i][1]-m[10].getHeight(),Graphics.TOP|Graphics.LEFT);
board2[i][2]=10;
}
//画假美眉
if(board2[i][2]==12){
g1.drawImage(m[11],board2[i][0],board2[i][1]-m[11].getHeight(),Graphics.TOP|Graphics.LEFT);
}
}
for(int i=0;i<9;i++){
if(board3[i][3]==0)
g1.drawImage(img1,board3[i][0],board3[i][1],Graphics.TOP|Graphics.LEFT);
if(board3[i][3]==1)
g1.drawImage(img2,board3[i][0],board3[i][1],Graphics.TOP|Graphics.LEFT);
//画猴子
if(board3[i][2]==1){//为动态图片
g1.drawImage(m[0],board3[i][0],board3[i][1]-m[0].getHeight(),Graphics.TOP|Graphics.LEFT);
w++;
if(w>10){
board3[i][2]=2;
w=0;
}
}else if(board3[i][2]==2){
g1.drawImage(m[1],board3[i][0],board3[i][1]-m[0].getHeight()-10,Graphics.TOP|Graphics.LEFT);
w++;
if(w>2){
board3[i][2]=3;
w=0;
}
}else if(board3[i][2]==3){
g1.drawImage(m[2],board3[i][0],board3[i][1]-m[0].getHeight()-7,Graphics.TOP|Graphics.LEFT);
w++;
if(w>2){
board3[i][2]=1;
w=0;
}
}
//画蜜蜂
if(board3[i][2]==4){
g1.drawImage(m[3],board3[i][0],board3[i][1]-m[3].getHeight()-5,Graphics.TOP|Graphics.LEFT);
board3[i][2]=5;
}
else if(board3[i][2]==5){
g1.drawImage(m[4],board3[i][0],board3[i][1]-m[4].getHeight()-5,Graphics.TOP|Graphics.LEFT);
board3[i][2]=4;
}
//画蛇
if(board3[i][2]==6){
g1.drawImage(m[5],board3[i][0],board3[i][1]-m[5].getHeight(),Graphics.TOP|Graphics.LEFT);
w3++;
if(w3>10){
board3[i][2]=7;
w3=0;
}
}else if(board3[i][2]==7){
g1.drawImage(m[6],board3[i][0]-3,board3[i][1]-m[6].getHeight(),Graphics.TOP|Graphics.LEFT);
board3[i][2]=6;
}
//画人
if(board3[i][2]==8){
g1.drawImage(m[7],board3[i][0],board3[i][1]-m[7].getHeight(),Graphics.TOP|Graphics.LEFT);
}
//画狼人
if(board3[i][2]==9){
g1.drawImage(m[8],board3[i][0],board3[i][1]-m[8].getHeight(),Graphics.TOP|Graphics.LEFT);
}
//画球
if(board3[i][2]==10){
g1.drawImage(m[9],board3[i][0],board3[i][1]-m[9].getHeight(),Graphics.TOP|Graphics.LEFT);
board3[i][2]=11;
}else if(board3[i][2]==11){
g1.drawImage(m[10],board3[i][0],board3[i][1]-m[10].getHeight(),Graphics.TOP|Graphics.LEFT);
board3[i][2]=10;
}
//画假美眉
if(board3[i][2]==12){
g1.drawImage(m[11],board3[i][0],board3[i][1]-m[11].getHeight(),Graphics.TOP|Graphics.LEFT);
}
}
for(int i=0;i<9;i++){
if(board4[i][3]==0)
g1.drawImage(img1,board4[i][0],board4[i][1],Graphics.TOP|Graphics.LEFT);
if(board4[i][3]==1)
g1.drawImage(img2,board4[i][0],board4[i][1],Graphics.TOP|Graphics.LEFT);
//画猴子
if(board4[i][2]==1){//为动态图片
g1.drawImage(m[0],board4[i][0],board4[i][1]-m[0].getHeight(),Graphics.TOP|Graphics.LEFT);
w++;
if(w>10){
board4[i][2]=2;
w=0;
}
}else if(board4[i][2]==2){
g1.drawImage(m[1],board4[i][0],board4[i][1]-m[0].getHeight()-10,Graphics.TOP|Graphics.LEFT);
w++;
if(w>2){
board4[i][2]=3;
w=0;
}
}else if(board4[i][2]==3){
g1.drawImage(m[2],board4[i][0],board4[i][1]-m[0].getHeight()-7,Graphics.TOP|Graphics.LEFT);
w++;
if(w>2){
board4[i][2]=1;
w=0;
}
}
//画蜜蜂
if(board4[i][2]==4){
g1.drawImage(m[3],board4[i][0],board4[i][1]-m[3].getHeight()-5,Graphics.TOP|Graphics.LEFT);
board4[i][2]=5;
}
else if(board4[i][2]==5){
g1.drawImage(m[4],board4[i][0],board4[i][1]-m[4].getHeight()-5,Graphics.TOP|Graphics.LEFT);
board4[i][2]=4;
}
//画蛇
if(board4[i][2]==6){
g1.drawImage(m[5],board4[i][0],board4[i][1]-m[5].getHeight(),Graphics.TOP|Graphics.LEFT);
w3++;
if(w3>10){
board4[i][2]=7;
w3=0;
}
}else if(board4[i][2]==7){
g1.drawImage(m[6],board4[i][0]-3,board4[i][1]-m[6].getHeight(),Graphics.TOP|Graphics.LEFT);
board4[i][2]=6;
}
//画人
if(board4[i][2]==8){
g1.drawImage(m[7],board4[i][0],board4[i][1]-m[7].getHeight(),Graphics.TOP|Graphics.LEFT);
}
//画狼人
if(board4[i][2]==9){
g1.drawImage(m[8],board4[i][0],board4[i][1]-m[8].getHeight(),Graphics.TOP|Graphics.LEFT);
}
//画球
if(board4[i][2]==10){
g1.drawImage(m[9],board4[i][0],board4[i][1]-m[9].getHeight(),Graphics.TOP|Graphics.LEFT);
board4[i][2]=11;
}else if(board4[i][2]==11){
g1.drawImage(m[10],board4[i][0],board4[i][1]-m[10].getHeight(),Graphics.TOP|Graphics.LEFT);
board4[i][2]=10;
}
//画假美眉
if(board4[i][2]==12){
g1.drawImage(m[11],board4[i][0],board4[i][1]-m[11].getHeight(),Graphics.TOP|Graphics.LEFT);
}
}
c++;
if(c<3)
g1.setColor(255,0,0);
else{
g1.setColor(255,255,255);
c=0;
}
for(int i=0;i<p;i++){
g1.fillRect(111+i*3,50,1,25);
}
g.drawImage(buffer, 0, 0, Graphics.TOP | Graphics.LEFT);
switch(gameState) {
case GAME_PLAYING:
if(isPaused) {
drawSt = "Pause";
}else {
return;
}
break;
case GAME_END:
drawSt = "Game over!!!";
break;
default:
return;
}
stWidth = defFont.stringWidth(drawSt);
drawX = (screenWidth-stWidth) / 2;
drawY = (screenHeight - (stHeight)) / 2;
//描绘文本框
g.setColor(0x00BBBBBB);
g.fillRoundRect(drawX-2, drawY+2, stWidth+9, stHeight+2, 5, 5);
g.setColor(255,0,0);
g.drawString(drawSt, drawX+1, drawY+1, Graphics.TOP|Graphics.LEFT);
break;
}
}
/** 按键按下事件发生时被调用出来的方法 */
protected synchronized void keyPressed(int keyCode) {
// tmpKey=keyCode;
int gameCode = getGameAction(keyCode);
switch (gameState) {
case 0: //主菜单title状态
switch (gameCode) {
case Canvas.LEFT:
curMenu--;
if (curMenu < 0) {
curMenu = 2;
}
break;
case Canvas.RIGHT:
curMenu++;
if (curMenu > 2) {
curMenu = 0;
}
break;
case Canvas.FIRE:
switch (curMenu) {
case 0: //新游戏
Init();
level=1;
minute=2;
second=59;
p2=5;//五次机会
GameInit();
gameState = GAME_START;
doThreadStart();
curMenu=0;
addCommand(pauseCmd);
addCommand(exitCmd);
break;
case 1: //游戏说明
menuCount=1;
curMenu=3;
break;
case 2: //退出游戏
main.doExit();
break;
case 3:
menuCount=0;
curMenu=0;
}
}
repaint();
break;
case 2: //游戏态
switch(gameCode) {
case Canvas.UP:
if(jumpCan){
if((jumpUD==0||jumpUD==2)&&manState!=0){
if(man.getState()==1){
man.setState(3);
}else if(man.getState()==2){
man.setState(4);
}
STATE=1;
jumpCan=false;//设置为跳跃态
}
}
break;
case Canvas.DOWN:
if(jumpCan){
if((jumpUD==1||jumpUD==2)&&manState!=0){//如果可以向下蹦
if(man.getState()==1){
man.setState(3);
}else if(man.getState()==2){
man.setState(4);
}
STATE=2;
jumpCan=false;
}
}
break;
case Canvas.LEFT://左蹦
if(jumpCan){
if(man.getX()>15){
v=60;
STATE=3;//移动的同时传递一个状态变量
if(man.getState()!=5&&man.getState()!=6){
man.setState(3);
}else if(man.getState()==5||man.getState()==6){
man.setState(5);
}
jumpCan=false;
}
}
break;
case Canvas.RIGHT://右蹦
if(jumpCan){
if(man.getX()<109){
v=60;
STATE=4;
if(man.getState()!=5&&man.getState()!=6){
man.setState(4);
}else if(man.getState()==5||man.getState()==6){
man.setState(6);
}
jumpCan=false;
}
}
break;
case FIRE: //按下Fire按键时
break;
}
break;
}
}
void crash2(){//与墙壁的碰状判断
//左边两个墙壁
if((man.getX()>0)
&&(man.getX()<10)
&&(man.getY()>0)
&&(man.getY()<45)){
man.setAlive(false);
}
if((man.getX()>0)
&&(man.getX()<10)
&&(man.getY()+21>78)
&&(man.getY()+21<128)){
man.setAlive(false);
}
//右边两个墙壁
if((man.getX()+17>118)
&&(man.getX()+17<128)
&&(man.getY()>0)
&&(man.getY()<45)){
man.setAlive(false);
}
if((man.getX()+17>118)
&&(man.getX()+17<128)
&&(man.getY()+21>78)
){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -