📄 bgame.java
字号:
rm.rmBlock[a].animate();
rm.rmBlock[a].animates=true;
a++;
break;
// Solid Block
case '#':
rm.rmBlock[a].ID=20;
rm.rmBlock[a].xpos=x;
rm.rmBlock[a].ypos=y;
rm.rmBlock[a].setAnimArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
rm.rmBlock[a].animate();
a++;
break;
// Solid Block Green Beetle
case '+':
rm.rmBlock[a].ID=47;
rm.rmBlock[a].xpos=x;
rm.rmBlock[a].ypos=y;
rm.rmBlock[a].setAnimArray(47, 47, 47, 47, 47, 47, 47, 47, 47, 47);
rm.rmBlock[a].animate();
a++;
break;
// Solid Block Red Beetle Up/Down
case 'u':
rm.rmBlock[a].ID=49;
rm.rmBlock[a].xpos=x;
rm.rmBlock[a].ypos=y;
rm.rmBlock[a].setAnimArray(48, 48, 48, 48, 48, 48, 48, 48, 48, 48);
rm.rmBlock[a].animate();
rm.rmBlock[a].currentDir=1;
a++;
break;
// Solid Block Red Beetle Left / Right
case 'l':
rm.rmBlock[a].ID=49;
rm.rmBlock[a].xpos=x;
rm.rmBlock[a].ypos=y;
rm.rmBlock[a].setAnimArray(49, 49, 49, 49, 49, 49, 49, 49, 49, 49);
rm.rmBlock[a].animate();
rm.rmBlock[a].currentDir=3;
a++;
break;
// Solid
case '@':
rm.rmBlock[a].ID=21;
rm.rmBlock[a].xpos=x;
rm.rmBlock[a].ypos=y;
rm.rmBlock[a].setAnimArray(6, 6, 6, 6, 6, 6, 6, 6, 6, 6);
rm.rmBlock[a].animate();
a++;
break;
// Spikey ball-to-be
case 'X':
rm.rmBlock[a].ID=46;
rm.rmBlock[a].xpos=x;
rm.rmBlock[a].ypos=y;
rm.rmBlock[a].setAnimArray(18, 18, 18, 18, 18, 18, 18, 18, 18, 18);
rm.rmBlock[a].animate();
a++;
break;
// Half-Dead Flower
case 'f':
rm.rmBlock[a].ID=30;
rm.rmBlock[a].xpos=x;
rm.rmBlock[a].ypos=y;
rm.rmBlock[a].setAnimArray(5, 5, 5, 5, 5, 5, 5, 5, 5, 5);
rm.rmBlock[a].animate();
a++;
rm.numFlowers++;
break;
// Alive Flower
case 'F':
rm.rmBlock[a].ID=31;
rm.rmBlock[a].xpos=x;
rm.rmBlock[a].ypos=y;
rm.rmBlock[a].setAnimArray(1, 2, 1, 2, 1, 2, 1, 2, 1, 2);
rm.rmBlock[a].animate();
rm.rmBlock[a].animates=true;
rm.numFlowers++;
a++;
break;
// Blue Arrow Mover
case 'b':
rm.rmBlock[a].ID=40;
rm.rmBlock[a].xpos=x;
rm.rmBlock[a].ypos=y;
rm.rmBlock[a].setAnimArray(15, 16, 9, 10, 13, 14, 11, 12, 9, 9);
rm.rmBlock[a].animate();
rm.rmBlock[a].animates=true;
rm.rmBlock[a].moves=true;
rm.rmBlock[a].moveType=1;
a++;
break;
// Green Arrow Mover
case 'g':
rm.rmBlock[a].ID=40;
rm.rmBlock[a].xpos=x;
rm.rmBlock[a].ypos=y;
rm.rmBlock[a].setAnimArray(33, 34, 27, 28, 31, 32, 29, 30, 27, 27);
rm.rmBlock[a].animate();
rm.rmBlock[a].animates=true;
rm.rmBlock[a].moves=true;
rm.rmBlock[a].moveType=2;
a++;
break;
// Yellow Ball Mover
case 'O':
rm.rmBlock[a].ID=50;
rm.rmBlock[a].xpos=x;
rm.rmBlock[a].ypos=y;
rm.rmBlock[a].setAnimArray(7, 8, 7, 8, 7, 8, 7, 8, 7, 8);
rm.rmBlock[a].animate();
rm.rmBlock[a].animates=true;
rm.rmBlock[a].moves=true;
rm.rmBlock[a].moveType=1;
rm.rmBlock[a].killer=true;
a++;
break;
// Nasty Eater Mover
case '<':
rm.rmBlock[a].ID=50;
rm.rmBlock[a].xpos=x;
rm.rmBlock[a].ypos=y;
rm.rmBlock[a].setAnimArray(21, 22, 19, 20, 23, 24, 25, 26, 21, 21);
rm.rmBlock[a].animate();
rm.rmBlock[a].animates=true;
rm.rmBlock[a].moves=true;
rm.rmBlock[a].moveType=2;
rm.rmBlock[a].killer=true;
a++;
break;
// You - little bee
case '%':
yourBlock=a;
rm.rmBlock[a].ID=99;
rm.rmBlock[a].xpos=x;
rm.rmBlock[a].ypos=y;
rm.rmBlock[a].setAnimArray(41, 42, 37, 38, 43, 44, 39, 40, 41, 41);
rm.rmBlock[a].animate();
rm.rmBlock[a].animates=true;
rm.rmBlock[a].moves=false;
rm.rmBlock[a].moveType=4;
a++;
break;
default:
break;
}
// Adjust x and y positions
x+=20;
if (x>300)
{
x=0;
y+=20;
}
}
// New room size is number of blocks in room
roomSize=a;
// Change loop delay depending on number of animations to make levels seem
// to run at the same speed.
delay=45;
for (int j=0; j<roomSize; j++)
{
if (rm.rmBlock[j].animates)
{
delay-=3;
if (delay < 1) delay=1;
}
}
drawStats();
}
// Keyboard events
public void keyPressed(KeyEvent e)
{
// Called when the user has pressed a key
int key = e.getKeyCode();
// If we aren't in the game, change state to 1
// to draw the room
switch (gameState)
{
case 0:
gameState=1;
break;
case 10:
startOver();
break;
}
switch (key)
{
case KeyEvent.VK_DOWN:
rm.rmBlock[yourBlock].moves=true;
rm.rmBlock[yourBlock].currentDir=2;
break;
case KeyEvent.VK_LEFT:
rm.rmBlock[yourBlock].moves=true;
rm.rmBlock[yourBlock].currentDir=3;
break;
case KeyEvent.VK_RIGHT:
rm.rmBlock[yourBlock].moves=true;
rm.rmBlock[yourBlock].currentDir=4;
break;
case KeyEvent.VK_UP:
rm.rmBlock[yourBlock].moves=true;
rm.rmBlock[yourBlock].currentDir=1;
break;
// Instructions
case KeyEvent.VK_I:
gameState=10;
break;
// Speed adjust
case KeyEvent.VK_Z:
delay+=1;
if (delay>55) delay=55;
drawStats();
break;
case KeyEvent.VK_X:
delay-=1;
if (delay<1) delay=1;
drawStats();
break;
// secret advance level
case KeyEvent.VK_TAB:
rm.numFlowers=0;
break;
// Quit
case KeyEvent.VK_ESCAPE:
s_dead.play();
startOver();
break;
default:
break;
}
}
public void keyTyped(KeyEvent e) { }
public void keyReleased(KeyEvent e) { }
// Draw flowers to collect etc on right of screen
public void drawStats()
{
// clear stats
paper.setColor(Color.black);
paper.fillRect(325,50,xsize-325,ysize-80);
// Draw a flower to collect
int y=50;
for (int a=0; a < rm.numFlowers; a++)
{
paper.drawImage(gfx, 325, y, 345, y+20,
20, 0, 40, 20,
null);
y+=22;
}
paper.setColor(Color.white);
paper.drawString("GoBee!",325,10);
paper.setColor(Color.green);
paper.drawString("(c)'03",325,21);
paper.drawString("Ralph",325,32);
paper.drawString("Capper",325,43);
paper.drawString(" z & x",325,265);
paper.drawString("Speed =",325,275);
paper.drawString(" "+(55-delay),335,285);
paper.drawString("ESC =",325,300);
paper.drawString(" Quit",325,311);
}
// Draw instructions page
public void drawInstructions()
{
paper.setColor(Color.black);
paper.fillRect(0,0,xsize,ysize);
paper.setColor(Color.green);
paper.drawString("GoBee! (c)2003, Ralph Capper. ralph_22@hotmail.com " ,40,10);
paper.drawString("Overview: " ,40,30);
paper.drawString(" You are this little guy" ,40,50);
paper.drawString(" You must collect these." ,40,70);
paper.drawString(" These can be changed into what you need to collect by making" ,40,90);
paper.drawString(" these creatures move into them." ,40,110);
paper.drawString(" These can be pushed around." ,40,130);
paper.drawString(" These things will kill you." ,40,150);
paper.drawString("Other:" ,40,180);
paper.drawString(" You can adjust speed of each room with the z and x keys." ,40,200);
paper.drawString(" Click on the adjust level to change level 'series'" ,40,220);
paper.drawString(" Press ESC if you get stuck to return to title screen." ,40,240);
paper.drawString(" Email me 4 details of how to get Java source code + ability 2" ,40,260);
paper.drawString(" create your own levels." ,40,280);
paper.drawString("(Press any key)",5,343);
// Bee
paper.drawImage(gfx, 12, 35, 30, 55,
41*20, 0, 41*20+20, 20, null);
// Flower
paper.drawImage(gfx, 12, 55, 30, 75,
20, 0, 40, 20, null);
// Dead flower
paper.drawImage(gfx, 12, 75, 30, 95,
5*20, 0, 5*20+20, 20, null);
// Beee Thing
paper.drawImage(gfx, 12, 95, 30, 115,
10*20, 0, 10*20+20, 20, null);
// Pushy Thing
paper.drawImage(gfx, 12, 115, 30, 135,
3*20, 0, 3*20+20, 20, null);
// Killer Thing
paper.drawImage(gfx, 12, 135, 30, 155,
19*20, 0, 19*20+20, 20, null);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -