亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 源代碼.java

?? 這是俄羅斯方塊游戲和論文
?? JAVA
字號(hào):
package zh;

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class rrt extends Applet implements Runnable {
	Font font = new Font("Dialog", Font.BOLD,18);//定義字體
	Thread thread;//定義線程
	public java.awt.Graphics gg;//定義圖形變量
	public boolean[][] screen;//控制游戲地圖
	public int[] x;//記錄方塊的行坐標(biāo)
	public int[] y;//記錄方塊的列坐標(biāo)
	public int[] x1;//記錄方塊活動(dòng)之前的行坐標(biāo)
	public int[] y1;//記錄方塊活動(dòng)之前的列坐標(biāo)
	public int rand;//隨機(jī)數(shù)
	public int[] row;//記錄每一行的方塊數(shù)
	public int mark;//記錄每一關(guān)的分?jǐn)?shù)
	public boolean open;//游戲清屏開關(guān)
	public int pass;//游戲關(guān)數(shù)
	public boolean game;//控制游戲開始開關(guān)
/**
 * 繪制七種圖形并調(diào)用隨機(jī)函數(shù)令它隨機(jī)出現(xiàn)
 * 創(chuàng)建日期:(2005-5-15 13:30:51)
 */
public void begin() {
	int i;
	rand=(int)(Math.random()*7)+1;
	switch(rand)
	      {
		      case 1: 
		             x[0]=4+0;y[0]=0;
	                 x[1]=4+1;y[1]=0;
	                 x[2]=4+2;y[2]=0;
	                 x[3]=4+3;y[3]=0;      //一字型
	                 x[4]=4;y[4]=-1;
			         break;
		      case 2:x[0]=4+0;y[0]=0;
	                 x[1]=4+1;y[1]=0;
	                 x[2]=4+1;y[2]=1;
	                 x[3]=4+2;y[3]=1;      //Z字型
	                 x[4]=4;y[4]=0;
		             break;
		      case 3:x[0]=4+1;y[0]=0;
	                 x[1]=4+2;y[1]=0;
	                 x[2]=4+0;y[2]=1;
	                 x[3]=4+1;y[3]=1;      //反Z型     
	                 x[4]=4;y[4]=0; 
		             break; 
		      case 4:x[0]=4+0;y[0]=0;
	                 x[1]=4+1;y[1]=0;
	                 x[2]=4+1;y[2]=1;
	                 x[3]=4+1;y[3]=2;      //7字型
	                 x[4]=4;y[4]=0;
		             break; 
		      case 5:x[0]=4+1;y[0]=0;
	                 x[1]=4+2;y[1]=0;
	                 x[2]=4+1;y[2]=1;
	                 x[3]=4+1;y[3]=2;      //反7字型
	                 x[4]=4;y[4]=0;
		             break;
		      case 6:x[0]=4+1;y[0]=0;
	                 x[1]=4+0;y[1]=1;
	                 x[2]=4+1;y[2]=1;
	                 x[3]=4+2;y[3]=1;      //反T型
	                  x[4]=4;y[4]=0;
		             break;
		      case 7:x[0]=4+0;y[0]=0;
	                 x[1]=4+1;y[1]=0;
	                 x[2]=4+0;y[2]=1;
	                 x[3]=4+1;y[3]=1;      //田字型
	                 x[4]=4;y[4]=0;
		     
	}
	    for(i=0;i<4;i++)
		 if (screen[x[i]][y[i]+1] )   //判斷在抽取一種圖形后,在該圖形的下一行是否有障礙物
			destroy();
	save();
	xian();
}
/**
 * 控制方塊的變形
 */
public void change() {
	int i,j=0;
	int m[]=new int [4];
	int n[]=new int [4];
	if (rand!=7)    //當(dāng)不為田字型時(shí),變形
	{for(i=0;i<4;i++)
	    {
		 m[i]=y[i]-y[4]+x[4];
		 n[i]=2-x[i]+x[4]+y[4];//用兩個(gè)數(shù)組把變形后的圖形存起來
		 if (m[i]<0||m[i]>11||n[i]>18) j=1;
		 }
	 if (j!=1)
	 {
	 for(i=0;i<4;i++)
	    {
		 if (screen[m[i]][n[i]] )//判斷變形后的坐標(biāo)在沒變形之前該坐標(biāo)在游戲地圖中是否已有點(diǎn)存在
			break;
		 }
	  if(i==4)  //證明變形后的點(diǎn)不存在障礙
	  for(i=0;i<4;i++)
	    {
		 x[i]=m[i];  
		 y[i]=n[i];  //把游戲地圖中變形后的圖形賦給活動(dòng)中的圖形
		 }
	 }
	}
	}
/**
 * 清理掛起的資源。
 * 如果 applet 是活動(dòng)的,它將被停止。
 */
public void destroy() {
	game=false;
	pass=1;      //關(guān)數(shù)初始化
	repaint();   //調(diào)用屏幕初始化
}
/**
 *游戲初始化
 */
public void gameinit() 
{
	int i,j;
	for (i=0;i<12;i++)
	   for (j=0;j<19;j++)
			screen[i][j]=false;//把游戲地圖中所有點(diǎn)都清空
	for (i=0;i<19;i++)
	    row[i]=0;   //把每一行的方塊總數(shù)都清空
	open=true;  //打開游戲地圖清屏開關(guān)
	mark=0;
	begin();
}
/**
 * 初始化整個(gè)程序
 */
public void init()
{
	screen=new boolean[12][19];
	x=new int [5];
	y=new int [5];
	x1=new int [4];
	y1=new int [4];
	row=new int [19];
	pass=1;
	game=false;     //控制游戲開關(guān)
}
/**
 *處理按鍵信息
 *在處理方向(上下左右)控制時(shí),
 *首先判斷它們的新位置是否可用,
 *可用則執(zhí)行按鍵操作,否則不理會(huì)這次操作。
*/
public boolean keyDown(Event e, int key)
{int i;
	if (key=='s'&& !game) 
	{
	    game=true;//游戲開始
		repaint();
	}
	if(game)
	{ 
	save();
	switch(key)
	{case Event.LEFT:
		for(i=0;i<4;i++)
		  if (x[i]<1 || screen[x[i]-1][y[i]])//判斷是否到達(dá)屏幕最左邊或活動(dòng)中方塊的左邊一格有沒有靜止的方塊
		     break;
		  if(i==4)                           // 當(dāng)還未到達(dá)最左邊,則方塊向左移動(dòng)
		   for(i=0;i<5;i++) 
		     x[i]-=1; 
		     break; 
	 case Event.RIGHT:
		  for(i=0;i<4;i++)
		  if (x[i]>10 || screen[x[i]+1][y[i]])//判斷是否到達(dá)屏幕最右邊或活動(dòng)中方塊的右邊一格有沒有靜止的方塊
		     break;
		  if(i==4)                            //當(dāng)還未到達(dá)最右邊,則方塊向右移動(dòng)
		  for(i=0;i<5;i++)
		  x[i]+=1;                   
		     break;
	 case Event.DOWN:
	    for(i=0;i<4;i++)
		 if ( y[i]== 18)//判斷是否到達(dá)游戲地圖最底端
			reach();
		for(i=0;i<4;i++)
		 if (screen[x[i]][y[i]+1] )//判斷活動(dòng)中的方塊在向下一格是否有障礙物
			reach();	
	 	 for(i=0;i<5;i++)
				y[i] += 1;//活動(dòng)方塊向下移動(dòng)一格
				break;
	 case Event.UP:
	      change();	               
	}
	xian();
	}
	return true;
}
/**
 * 繪制游戲界面
 */
public void paint(Graphics g) {
	g.setFont(font);
	g.setColor(Color.red);
	g.fillRect(50,70,320,450);
	g.setColor(Color.black);
	g.fillRect(60,80,300,430);
	
	if (game)
		gameinit();//調(diào)用游戲初始化
	else
	{
		g.setColor(Color.green);
		g.drawString("按下S鍵游戲開始",130,200);
	}
}
/**
 * 到達(dá)事件
 * 判斷滿行及消行
 */
public void reach() {
	int i,j=18,k=0;
	for (i=0;i<4;i++)
	  {
		  screen[x[i]][y[i]]=true;
		  row[y[i]]++;	  
	  }     
	  //處理消行
	while (row[j]!=0)
	{
		while (row[j-k]==12) k++;//幾行連續(xù)在一起,統(tǒng)計(jì)消行數(shù)
		     if (k>0)//使屏幕方塊向下移動(dòng)
	           { if (row[j-k]!=0)
			     {  for(i=0;i<12;i++)
			           screen[i][j]=screen[i][j-k];
			           row[j]=row[j-k];
			     }
			     else
			     {  for(i=0;i<12;i++)
			           screen[i][j]=false;
			           row[j]=0;
			     }
			    
	           } 
	    j--;
	}
	if (k>0) open=true;
	 mark+=k*10;//統(tǒng)行分?jǐn)?shù)
	 if (mark>=200)
	 {
		 pass++;
		 gameinit();
		 
	 }
	
	begin();
	}
/**
 * 方塊的向下移動(dòng)
 */
public void run() 
{
	int i,j;
	while (true) {
		if (game) {	
		save();
	for(i=0;i<4;i++)
		 if ( y[i]== 18 )//判斷活動(dòng)方塊是否到達(dá)游戲界面最底端
			reach();
	 for(i=0;i<4;i++)
		 if (screen[x[i]][y[i]+1] )//判斷活動(dòng)方塊在向下的一行是否有障礙物
			reach();
	 	 for(i=0;i<5;i++)
				y[i] += 1;//活動(dòng)方塊向下移動(dòng)一行
		xian();
		  }
		try {Thread.sleep(1200-pass*300); }//根據(jù)關(guān)數(shù)的增加而加快游戲速度
		catch (InterruptedException e) { break;}
	 }
}
/**
 * 保存原有的數(shù)據(jù)
 */
public void save() 
{
  int i;
   for(i=0;i<4;i++)
	{x1[i]=x[i];
	 y1[i]=y[i];
	}
}
/**
 * 啟動(dòng)線程。
 */
public void start() {
	if (thread == null){
		thread = new Thread(this);
		thread.start();
	}
}
/**
 * 終止線程,并將之歸入無用單元收集。
 */
public void stop() {
	if (thread != null){
		thread.stop();
		thread = null;
	}
}
/**
 * 繪制方塊
 */
public void xian() 
{
	int i=0,j=0;
	gg = getGraphics();
	if (open)
	{
		open=false;
		gg.setColor(Color.white);
		gg.fillRect(400,150,100,350);
		gg.setFont(font);
		gg.setColor(Color.black);
		gg.drawString("分?jǐn)?shù): "+mark,400,200);
		gg.drawString("第 "+pass+" 關(guān)",400,300);
		gg.setColor(Color.black);
		gg.fillRect(60,80,300,430);
	    for (i=18;i>0;i--)
	       for (j=0;j<12;j++)
	            if (screen[j][i])
	            {
		            	gg.setColor(Color.green);
	                    gg.fillRect(60+j*25+1,30+i*25+1,23,23);
					 	gg.setColor(Color.blue);
						gg.fillRect(60+j*25+5,30+i*25+5,15,15);
		             
	            }
	       
		
	}
	gg.setColor(Color.black);
	for(i=0;i<4;i++)
	   if (y1[i]>1)
	        gg.fillRect(60+x1[i]*25,30+y1[i]*25,25,25);
	for (i=0;i<4;i++)
	 if (y[i]>1)
	{
	gg.setColor(Color.green);
	gg.fillRect(60+x[i]*25+1,30+y[i]*25+1,23,23);
	gg.setColor(Color.blue);
	gg.fillRect(60+x[i]*25+5,30+y[i]*25+5,15,15);
	}
}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品欧美综合在线观看最新| 亚洲人成7777| 日韩视频123| 91麻豆精品国产自产在线| 久久久久久久性| 精品国产乱码久久久久久牛牛| 欧美另类videos死尸| 欧美日韩国产大片| 91精品国产手机| 日韩欧美电影一二三| 欧美成人a在线| 久久久精品影视| 国产免费久久精品| 18成人在线观看| 亚洲最大成人综合| 偷偷要91色婷婷| 麻豆一区二区在线| 国产综合色在线| 成+人+亚洲+综合天堂| av成人免费在线| 91成人看片片| 欧美一级免费大片| 久久夜色精品国产噜噜av| 久久精品视频免费观看| 国产精品美女一区二区三区| 亚洲美女淫视频| 日日夜夜精品视频天天综合网| 奇米四色…亚洲| 国产成人精品亚洲日本在线桃色| 成人深夜视频在线观看| 91麻豆123| 69av一区二区三区| 久久久一区二区| 亚洲伦理在线免费看| 午夜精品福利视频网站| 另类欧美日韩国产在线| 风间由美性色一区二区三区| 色丁香久综合在线久综合在线观看| 这里只有精品视频在线观看| 2021国产精品久久精品| 亚洲欧洲国产专区| 日韩激情在线观看| 国产成人aaaa| 欧美日韩在线一区二区| 精品国产乱码久久久久久老虎 | 欧美在线观看一二区| 欧美在线色视频| 精品免费日韩av| 中文字幕精品一区二区精品绿巨人| 一区二区三区小说| 精品午夜久久福利影院| 99re这里只有精品视频首页| 69久久夜色精品国产69蝌蚪网| 久久亚洲精精品中文字幕早川悠里 | 久久aⅴ国产欧美74aaa| 成人免费毛片嘿嘿连载视频| 欧美日韩国产高清一区二区三区 | 一本大道久久a久久综合| 欧美午夜电影在线播放| 久久久久国色av免费看影院| 一区二区三区在线视频播放| 久久av中文字幕片| 欧美日韩日日骚| 国产欧美日产一区| 免费成人性网站| 在线免费观看日本欧美| www国产亚洲精品久久麻豆| 一区二区三区四区亚洲| 日韩一区二区在线免费观看| 欧美一级欧美一级在线播放| 国产欧美一区二区精品秋霞影院| 一区二区三区在线播| 国产精品一区在线| 欧美精品高清视频| 亚洲免费高清视频在线| 国产高清久久久久| 日韩视频永久免费| 亚洲一区在线播放| 国产成人免费xxxxxxxx| 欧美一区二区成人6969| 亚洲午夜激情av| 99久久精品国产一区二区三区| 日韩精品一区二区三区视频| 亚洲一本大道在线| 色偷偷成人一区二区三区91| 久久伊人中文字幕| 免费不卡在线视频| 欧美日韩国产大片| 亚洲福利视频一区| 在线观看日韩av先锋影音电影院| 国产片一区二区三区| 国产主播一区二区| 精品日韩av一区二区| 日韩av一区二区三区| 欧美三级电影网站| 亚洲图片欧美视频| 一本一道波多野结衣一区二区 | 三级影片在线观看欧美日韩一区二区| 成人午夜看片网址| 国产婷婷一区二区| 国产综合久久久久久鬼色| 欧美丰满嫩嫩电影| 日本不卡高清视频| 欧美一区二视频| 日韩高清在线观看| 欧美日韩国产成人在线免费| 午夜精品福利在线| 日韩一区二区在线观看| 美女在线一区二区| 久久午夜羞羞影院免费观看| 精品在线观看视频| 久久久久久久久久久久电影| 国产精品自在在线| 中文字幕欧美日本乱码一线二线| 国产成人亚洲综合a∨猫咪| 国产日韩精品一区二区三区| 国产白丝精品91爽爽久久| 国产午夜久久久久| 91玉足脚交白嫩脚丫在线播放| 亚洲免费资源在线播放| 在线免费观看一区| 三级欧美韩日大片在线看| 67194成人在线观看| 久久99久久久欧美国产| 国产无人区一区二区三区| 成人动漫在线一区| 一区二区三区欧美久久| 精品视频全国免费看| 麻豆久久久久久| 中文在线资源观看网站视频免费不卡| 成人精品视频.| 亚洲一区二区成人在线观看| 一区二区日韩av| 欧美人体做爰大胆视频| 精品一区二区三区久久久| 国产欧美日韩在线观看| 色婷婷综合久久久中文字幕| 亚洲综合一区在线| 精品国一区二区三区| 成人高清免费观看| 亚洲福利一区二区| 精品88久久久久88久久久| 成人avav在线| 日韩精品一二区| 久久嫩草精品久久久精品| 91在线免费视频观看| 日韩制服丝袜av| 国产亚洲制服色| 欧美午夜精品电影| 精品一区二区久久| 亚洲最大的成人av| 精品国产乱码久久久久久图片 | 欧美理论在线播放| 国产乱理伦片在线观看夜一区| 亚洲精品ww久久久久久p站| 欧美一区二区三区四区五区| 懂色av中文字幕一区二区三区| 亚洲大片精品永久免费| 国产色产综合色产在线视频| 在线看日本不卡| 国产精品12区| 三级一区在线视频先锋 | 国产日韩欧美一区二区三区乱码 | 精品动漫一区二区三区在线观看| 成人国产精品免费观看视频| 亚洲成人免费看| 国产精品美女久久久久久2018| 欧美高清视频一二三区| 欧美一区二区三区日韩| 97精品视频在线观看自产线路二| 蜜臀av国产精品久久久久| 18成人在线视频| 久久奇米777| 欧美丰满高潮xxxx喷水动漫| a在线播放不卡| 国产自产视频一区二区三区| 亚洲第一福利一区| 亚洲欧美另类久久久精品| 国产情人综合久久777777| 日韩一区二区在线免费观看| 在线观看亚洲一区| av在线不卡网| 韩国v欧美v日本v亚洲v| 日产精品久久久久久久性色| 亚洲色图视频免费播放| 亚洲国产高清在线| 久久久久一区二区三区四区| 777亚洲妇女| 欧美专区日韩专区| 97成人超碰视| fc2成人免费人成在线观看播放 | 色婷婷综合久久久久中文| 国产馆精品极品| 国产一区二区三区四区五区入口| 日韩高清不卡在线| 一级中文字幕一区二区| 亚洲欧美一区二区三区久本道91 | 久久激情五月激情| 天天做天天摸天天爽国产一区| 亚洲综合免费观看高清在线观看|