Java编写的俄罗斯方块(小游戏)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
short i,j;
for (i=0; i<xblocks; i++)
{
for (j=0; j<yblocks; j++)
{
screendata[i][j]=0;
}
ห้องสมุดไป่ตู้ }
score=0;
emptyline=-1;
int objectdx;
short objecttype;
short objectcolor;
int objectrotation;
int objectrotationd=0;
short objectptr;
short checkptr;
final short itemcount=7;
fmsmall = g.getFontMetrics();
g.setFont(largefont);
fmlarge = g.getFontMetrics();
gameInit();
}
//初始化游戏
public void gameInit()
{
0,0, 1,0, 0,1, -1,1, // 被旋转180度
0,0, 0,-1, 1,0, 1,1, // 被旋转270度
0,0, 1,0, -1,0, 0,-1, // L形1,正常状态
0,0, 0,1, 0,-1, -1,0, // 被旋转90度
short screencount=40;
boolean showtitle=true;
int items[]={
0,0, -1,0, 0,-1, -1,-1, // 四方形, 正常状态
0,0, -1,0, 0,1, -1,1, // 被旋转90度
blocks[2]=new Color(0,255,0);
blocks[3]=new Color(0,0,255);
blocks[4]=new Color(255,255,0);
blocks[5]=new Color(255,0,255);
blocks[6]=new Color(0,255,255);
0,0, 0,1, 1,0, 1,-1, // 被旋转270度
0,0, -1,0, 0,-1, 1,-1, // 不规则形2,正常状态
0,0, 0,1, -1,0, -1,-1, // 被旋转90度
0,1, 0,1, 0,1, 0,1,
0,1, -1,1, -2,1, -3,1,
0,4, 0,4, 0,4, 0,4, // 直线形
import java.awt.*;
import java.applet.Applet;
public class Blocks extends Applet implements Runnable
{
Dimension d;
Font largefont = new Font("Helvetica", Font.BOLD, 28);
0,1, 1,1, 2,1, 3,1,
0,1, -1,0, 1,1, 0,1, // 不规则形1
0,1, -1,2, 0,1, -1,2,
0,2, 1,2, -1,2, 0,2,
0,2, 1,1, 0,2, 1,1,
final Color barcolor=new Color(128,255,64);
final Color background=new Color(0,0,0);
int score;
short emptyline;
int objectx, objecty;
-1,2, 0,2, -1,2, 0,2, // check, 被旋转90度
0,2, 1,2, 0,2, 1,2, // check, 被旋转180度
0,1, 1,1, 0,1, 1,1, // check, 被旋转270度
Graphics goff;
Image ii;
Thread thethread;
boolean ingame=false;
final short xblocks=10;
final short yblocks=20;
final int blocksize=16;
-1,2, 0,2, 0,2, -1,2,
-1,1, 0,1, 1,2, 1,2,
-1,0, 0,2, 0,2, -1,0, // L形2
-1,2, 0,1, 1,1, 1,1,
0,2, 1,2, 1,2, 0,2,
0,0, 1,0, 0,1, 1,1, // 被旋转180度
0,0, 1,0, 0,-1, 1,-1, // 被旋转270度
0,0, 0,-1, 0,-2, 0,-3, // 直线形,正常状态
0,0, -1,1, 0,1, 0,-1, // 被旋转180度
0,0, -1,0, 1,0, 1,1, // 被旋转270度
0,0, 0,1, 0,-1, -1,-1, // 凸形,正常状态
0,0, 1,0, -1,0, -1,1, // 被旋转90度
-1,1, 0,1, 1,1, 1,1
};
public String getAppletInfo()
{
return("Blocks - by Ali");
}
//初始化applet
public void init()
0,0, -1,0, -2,0, -3,0, // 被旋转90度
0,0, 0,1, 0,2, 0,3, // 被旋转180度
0,0, 1,0, 2,0, 3,0, // 被旋转270度
Graphics g;
resize(width+2*barwidth,height+30);
d = size();
setBackground(background);
g=getGraphics();
g.setFont(smallfont);
-1,1, 0,1, 1,0, 1,0, // 不规则形2
-1,1, 0,2, 0,2, -1,1,
-1,2, 0,2, 1,1, 1,1,
0,1, 1,2, 0,1, 1,2,
-1,1, 0,1, 1,1, 1,1, // 凸形
-1,1, 0,2, 0,2, -1,1,
-1,1, 0,2, 1,1, 1,1,
0,2, 1,1, 0,2, 1,1,
0,2, 1,0, 1,0, 0,2, // L形1
-1,1, 0,1, 1,1, 1,1,
final short itemrotlen=8;
final short itemlen=itemrotlen*4;
short count;
final short maxcount=5;
short curcount;
boolean fast=false;
final short screendelay=40;
final int width=xblocks*blocksize;
final int height=yblocks*blocksize;
short[][] screendata;
final short maxcolors=6;
Color[] blocks;
final int barwidth=8;
0,0, 0,1, -1,0, 1,0, // 被旋转180度
0,0, 1,0, 0,-1, 0,1, // 被旋转270度
0,0, 0,-1, 1,-1, 0,1, // L形1,正常状态
0,0, -1,0, -1,-1, 1,0, // 被旋转90度
newObject();
fast=false;
curcount=maxcount;
}
public void newObject()
{
short i;
int y;
objectx=xblocks/2-1;
objectdx=0;
0,0, 1,0, 0,-1, -1,-1, // 不规则形1,正常状态
0,0, 0,-1, -1,0, -1, 1, // 被旋转90度
0,0, -1,0, 0,1, 1,1, // 被旋转180度
0,0, 0,-1, 0,1, 1,1, // 被旋转180度
0,0, -1,0, 1,0, 1,-1 // 被旋转270度
};
int checks[]={
-1,1, 0,1, -1,1, 0,1, // check四方形, 正常状态
Font smallfont = new Font("Helvetica", Font.BOLD, 10);
Color textcolor1= new Color(96,128,255);
Color textcolor2= new Color(255,160,64);
FontMetrics fmsmall, fmlarge;
{
short i;
screendata=new short[xblocks][yblocks];
blocks=new Color[maxcolors+1];
blocks[0]=background;//设置背景色
blocks[1]=new Color(255,0,0);//设置方块颜色
相关文档
最新文档