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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? game.java

?? 俄羅斯方塊-JAVA源代碼 的逐步實現
?? JAVA
字號:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import javax.swing.*;

import java.io.*;

public class Game extends Applet implements Runnable{

	private int xpos=100,ypos=0;
	private SquareShape currShape;
	private Image buffer;//畫布對象
    private Graphics bg;
    private Thread th;
    private JButton btnStart=new JButton("開始");
    private boolean filled[][]=new boolean[10][20];
    private boolean next=false;//是否開始下一個圖形
    private boolean going=false;//線程是否在運行
    
    public Game()
    {
    	th=new Thread(this);
    	
    	for(int i=0;i<10;i++)
    	{
    		for(int j=0;j<20;j++)
    		{
    			filled[i][j]=false;
    		}
    	}
    }
	public void init() {
		
		this.setLayout(null);
		
		buffer=this.createImage(200,400);//創建畫布大小	
		bg=buffer.getGraphics();
		bg.fillRect(0,0,200,400);
		
		currShape=new Ding();
		currShape.setPlace(xpos,ypos);

		btnStart.setBounds(220,20,60,20);
		btnStart.addMouseListener(new MouseAdapter()
		{
			public void mouseClicked(MouseEvent e)
			{
				going=true;
				th.start();
				
				requestFocus(true);//讓applet得到焦點
		    }
		}
		);
		this.add(btnStart);
		
		this.addKeyListener(new GameKeyLister());
	}

	public void update(Graphics g)//實現不閃爍
	{
		g.clipRect(0,0,200,400);
		paint(g);
	}
	
	public void paint(Graphics g) {//圖畫由兩部分組成,一部分為背景,另一部分為圖形
	   
	   btnStart.repaint();

	   g.drawImage(buffer,0,0,null);//背景
	   currShape.drawShape(g);//圖形
	}
	public void run()
	{
		while(going)
		{
			if(next)
			{
				currShape=new Ding();
				xpos=100;
				ypos=0;
				next=false;
			}
			else if(currShape.getBottom()==400)
			{
				setFill();

				currShape=new Ding();
				xpos=100;
				ypos=0;
			}
			else
			{
				ypos+=20;
				currShape.setPlace(xpos,ypos);
				if(isFilled())
				{
					ypos-=20;
					currShape.setPlace(xpos,ypos);
					
					setFill();
					currShape=new Ding();
					xpos=100;
					ypos=0;
				}
			}
		
			repaint();
			try{
				
				Thread.sleep(500);				
			}
			catch(InterruptedException e)
			{	}
		}
		
	}
	private int getTopRow()
	{
		int topRow=19;
		int i,j;
		for(i=19;i>=0;i--)
		{
			for(j=0;j<10;j++)
			{
				if(filled[j][i])
					break;
			}
			if(j==10)
			{
				topRow=i+1;
				break;
			}
		}
		return topRow;
	}

	private void setFill()
	{
		int first[]=currShape.getFirstPlace();
		int second[]=currShape.getSecondPlace();
		int third[]=currShape.getThirdPlace();
		int fourth[]=currShape.getFourthPlace();
		filled[first[0]][first[1]]=true;
		filled[second[0]][second[1]]=true;
		filled[third[0]][third[1]]=true;
		filled[fourth[0]][fourth[1]]=true;
		
		currShape.drawShape(bg);//
		
		//判斷是否結束
		boolean isOver=false;
		for(int i=0;i<10;i++)
		{
			if(filled[i][0])
				isOver=true;
		}
		if(isOver)
		{
			going=false;
		}
		
		//判斷是否有滿行
		int topRow=getTopRow();
		System.out.println(topRow);
		for(int i=19;i>=topRow;i--)
		{
			int j;
			for(j=0;j<10;j++)
			{
				if(!filled[j][i])
					break;
			}
			if(j==10)//i行是滿的
			{    
			    System.out.println(i);
				for(int ii=i-1;ii>=topRow-1;ii--)
				{
					bg.copyArea(0,(ii)*20,200,20,0,20);						
				}
				for(int ii=i-1;ii>=topRow-1;ii--)
				{
					for(int jj=0;jj<10;jj++)
					{
						filled[jj][ii+1]=filled[jj][ii];
					}
				}
				i++;
				topRow++;	
				}
		}
				
	}
	
	private boolean isFilled()
	{
		int first[]=currShape.getFirstPlace();
		int second[]=currShape.getSecondPlace();
		int third[]=currShape.getThirdPlace();
		int fourth[]=currShape.getFourthPlace();	
		if(filled[first[0]][first[1]] || filled[second[0]][second[1]] || filled[third[0]][third[1]] || filled[fourth[0]][fourth[1]])
		{
			return true;
		}
		else
		{
			return false;
		}
	}	
	class GameKeyLister extends KeyAdapter
	{
		public void keyReleased(KeyEvent e)
		{
			int keyCode=e.getKeyCode();
			if(keyCode==KeyEvent.VK_UP)
			{
				currShape.rotate();
				currShape.setPlace(xpos,ypos);
				
				while(currShape.getLeft()<0)
				{
					xpos+=20;
					currShape.setPlace(xpos,ypos);
				}
				while(currShape.getRight()>200)
				{
					xpos-=20;
					currShape.setPlace(xpos,ypos);					
				}
				while(currShape.getBottom()>400)
				{
					ypos-=20;
					currShape.setPlace(xpos,ypos);										
				}
				if(isFilled())
				{
					currShape.contraRotate();
					currShape.setPlace(xpos,ypos);
				}
				repaint();
			}
			else if(keyCode==KeyEvent.VK_RIGHT && currShape.getRight()<200)
			{
				xpos+=20;
				currShape.setPlace(xpos,ypos);
				
				if(isFilled())
				{
					xpos-=20;
					currShape.setPlace(xpos,ypos);
				}
				
				repaint();
			}
			else if(keyCode==KeyEvent.VK_LEFT && currShape.getLeft()>0)
			{
				xpos-=20;
				currShape.setPlace(xpos,ypos);
				
				if(isFilled())
				{
					xpos+=20;
					currShape.setPlace(xpos,ypos);
				}
				
				repaint();
				
			}
			else if(keyCode==KeyEvent.VK_DOWN && currShape.getBottom()<400)
			{
				ypos+=20;
				currShape.setPlace(xpos,ypos);
				
				if(isFilled())
				{
					ypos-=20;
					currShape.setPlace(xpos,ypos);
					
					setFill();
					next=true;										
				}
				else if(currShape.getBottom()==400)
				{
					setFill();
					next=true;
				}
				
				repaint();
				
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级中文字| 9久草视频在线视频精品| 欧美精品丝袜中出| 男女激情视频一区| 欧美成人精品福利| 国产丶欧美丶日本不卡视频| 国产精品天美传媒| 91论坛在线播放| 天天综合色天天综合| 欧美精品一区二区三区久久久| 成人黄色777网| 亚洲三级电影网站| 欧美日韩日本视频| 亚洲国产毛片aaaaa无费看| 91精品国产aⅴ一区二区| 精品亚洲国产成人av制服丝袜| 国产精品一区专区| 精品久久久网站| 91小视频在线| 蜜桃av一区二区| 国产亚洲成aⅴ人片在线观看 | 欧美一级精品大片| 精品制服美女丁香| 国产精品激情偷乱一区二区∴| 午夜不卡av免费| 精品国产污污免费网站入口 | 精品国产乱码久久久久久免费| 亚洲天堂av一区| 91精品在线麻豆| 成人av在线播放网站| 无吗不卡中文字幕| 亚洲国产成人自拍| 欧美精选一区二区| 成人黄色大片在线观看| 免费观看一级特黄欧美大片| 国产亚洲综合在线| 欧美日高清视频| 国产99久久久国产精品 | 欧美成人精品1314www| 粉嫩一区二区三区在线看| 亚洲bt欧美bt精品| 国产精品护士白丝一区av| 欧美一二三区精品| 欧美性感一类影片在线播放| 国产乱子伦视频一区二区三区| 欧美成人女星排行榜| 欧美性受极品xxxx喷水| 国产白丝网站精品污在线入口| 久久综合久久综合久久综合| 一本色道久久综合精品竹菊| 精品一区二区三区免费| 五月综合激情网| 亚洲免费伊人电影| 国产精品丝袜一区| 久久久久久亚洲综合| 欧美电影影音先锋| 欧美午夜精品久久久久久超碰| 亚洲一区二区在线视频| 国产精品久久久久久久久果冻传媒 | 韩国中文字幕2020精品| 亚洲sss视频在线视频| 一区二区三区蜜桃| 国产精品理论片| 欧美激情在线观看视频免费| 26uuu国产一区二区三区| 日韩欧美中文字幕公布| 3d成人h动漫网站入口| 欧美日韩一区三区四区| 日本高清成人免费播放| 99re视频精品| 91免费国产视频网站| av爱爱亚洲一区| 成人91在线观看| 成人久久久精品乱码一区二区三区 | 高清在线不卡av| 韩国精品主播一区二区在线观看 | 26uuu久久综合| 久久亚洲私人国产精品va媚药| 国产一区二区三区综合| 日韩精品欧美精品| 日本不卡中文字幕| 日本欧美一区二区| 久久er99热精品一区二区| 另类欧美日韩国产在线| 毛片av一区二区| 久草这里只有精品视频| 国产一区二区三区免费看 | 26uuu久久综合| 欧美国产日本韩| 综合色中文字幕| 亚洲国产视频网站| 日韩—二三区免费观看av| 久久国产精品免费| 国产盗摄精品一区二区三区在线| 亚洲视频精选在线| 亚洲一区二区三区视频在线播放| 日韩一区二区视频在线观看| 日韩亚洲国产中文字幕欧美| 久久这里都是精品| 国产偷国产偷亚洲高清人白洁| 99精品国产热久久91蜜凸| 91国产成人在线| 欧美一区永久视频免费观看| 日韩欧美你懂的| 国产日本一区二区| 最新久久zyz资源站| 日韩激情在线观看| 成人app下载| 4438成人网| 中文字幕一区二区三区视频| 亚洲韩国精品一区| 九九九久久久精品| jizzjizzjizz欧美| 日韩视频永久免费| 国产精品久99| 日韩成人免费在线| 99国产精品久| 日韩一区二区电影网| 亚洲欧美在线观看| 美女诱惑一区二区| 91久久国产最好的精华液| 日韩美女主播在线视频一区二区三区| 欧美午夜精品一区| 国产日韩成人精品| 亚洲v日本v欧美v久久精品| 国产一级精品在线| 欧美日韩五月天| 国产精品久久一卡二卡| 日本不卡高清视频| 91免费精品国自产拍在线不卡| 97成人超碰视| 精品久久久三级丝袜| 亚洲午夜精品网| 成人av在线观| 精品国产乱码久久久久久浪潮 | 91污片在线观看| 久久日韩粉嫩一区二区三区| 一区二区三区久久| 国产乱码精品1区2区3区| 欧美高清视频在线高清观看mv色露露十八| 波多野洁衣一区| 精品av久久707| 日韩成人免费电影| 欧美人妇做爰xxxⅹ性高电影| 色噜噜狠狠成人中文综合| 久久久亚洲精华液精华液精华液| 日韩欧美亚洲另类制服综合在线| 日韩女优毛片在线| 亚洲国产综合色| 色琪琪一区二区三区亚洲区| 国产精品污污网站在线观看| 久久99精品国产.久久久久久| 国产麻豆视频一区二区| 日韩免费在线观看| 免费看日韩精品| 91麻豆精品国产91久久久| 一个色妞综合视频在线观看| av中文字幕一区| 亚洲欧美乱综合| 在线观看视频91| 亚洲最新视频在线观看| 欧美专区日韩专区| 亚洲一本大道在线| 欧美高清性hdvideosex| 亚洲高清免费观看| 欧美剧在线免费观看网站| 亚洲sss视频在线视频| 91精品国产麻豆| 日韩电影一区二区三区| 日韩欧美色综合| 国产一区中文字幕| 国产精品美女一区二区在线观看| 亚洲最色的网站| 欧美美女黄视频| 九一九一国产精品| 国产亚洲欧美激情| 成人免费观看男女羞羞视频| 中文字幕欧美三区| av在线播放一区二区三区| 自拍偷拍国产亚洲| 欧美色区777第一页| 日本一道高清亚洲日美韩| 欧美xxx久久| 国产成人超碰人人澡人人澡| 欧美激情中文不卡| 欧美亚洲国产一区二区三区va| 国产欧美日韩亚州综合| 成人天堂资源www在线| 亚洲欧美日韩国产中文在线| 欧美日韩精品福利| 另类综合日韩欧美亚洲| 久久精品亚洲精品国产欧美kt∨| 亚洲成人1区2区| 日韩欧美国产麻豆| 国产不卡视频一区| 夜夜嗨av一区二区三区网页| 日韩欧美一区二区久久婷婷| 韩国成人在线视频| 国产精品久久久久久久第一福利 | 欧美午夜影院一区|