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

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

?? game.java

?? J2SE版的俄羅斯方塊。SWING界面.有分數(shù)記錄功能
?? JAVA
字號:
import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.KeyStroke;

/*
*J2SE俄羅斯方塊1.0
*作者:hangtao
*http://hangtao.5d6d.com
*最后修改時間2008/8/5
*
*/

@SuppressWarnings("serial")
class DrawGround extends JPanel
{

	private BackGround BG;
	public DrawGround(BackGround BG)
	{
	this.BG=BG;	
	}
		
	public void paint(Graphics g)
	{
		//setVisible(false);
		Image[] bg= new Image[6];
		bg[5]=Toolkit.getDefaultToolkit().getImage("block.png");
		bg[4]=Toolkit.getDefaultToolkit().getImage("blank.png");
		bg[3]=Toolkit.getDefaultToolkit().getImage("block.png");
		bg[2]=Toolkit.getDefaultToolkit().getImage("wall.png");
		for(int ly=0;ly<=630;ly=ly+30)
		{
			for(int lx=0;lx<=330;lx=lx+30)
			{
            g.drawImage(bg[BG.ground[ly/30+4][lx/30]], lx, ly, this);
			}
		}
		//setVisible(true);
	
	}

}
@SuppressWarnings("serial")
class ShowNextBoxPane extends JPanel
{
	private Box box;
    public ShowNextBoxPane(Box B)
    {
    	this.box=B;
    }
	public void paint(Graphics g)
	{
		//setVisible(false);
		Image[] img=new Image[2];
		img[0]=Toolkit.getDefaultToolkit().getImage("blank.png");
		img[1]=Toolkit.getDefaultToolkit().getImage("block.png");
		g.drawString("Next:", 0, 0);
        for(int ly=0;ly<=90;ly=ly+30)
        {
        	for(int lx=0;lx<=90;lx=lx+30)
        	{
        		g.drawImage(img[box.box[box.nextType][box.nextStat][ly/30][lx/30]],lx+30,ly+30,this);
        	
        	}

        }
       // setVisible(true);

    }
}
@SuppressWarnings("serial")
class ShowScore extends Canvas
{
	private Box box;
	private int rec;
	private String name;
	public ShowScore(Box box,String name,int rec)
	{
		this.box=box;
		this.name=name;
		this.rec=rec;
		
	}
	public void paint(Graphics g)
	{
		//setVisible(false);
		g.drawLine(0, 0, 200, 0);
		g.setFont(new Font("宋體",Font.BOLD,30));
		g.drawString("目前得分", 30, 30);
		g.setColor(Color.blue);
		g.drawString(""+box.score, 40, 70);
		g.setColor(Color.black);
		g.drawString("最高紀(jì)錄",30,100);
		g.setColor(Color.red);
		g.drawString(""+rec, 40, 140);
		g.setColor(Color.black);
		g.drawString("記錄保持者", 30, 170);
		g.setColor(Color.blue);
		g.drawString(name, 40, 210);
		//setVisible(true);
	}
	
}


public class Game
  {
	
	    JFrame jf=new JFrame();
	    JFrame jf2=new JFrame();
	    Box b=new Box();
	    JPanel KeyPane=new JPanel();
	    JPanel infPane=new JPanel();
	    JPanel BackPane=new JPanel();
	    JMenuBar bar=new JMenuBar();
		JMenu jm1=new JMenu("游戲");
		JMenu jm2=new JMenu("幫助");
		JMenuItem ji1=new JMenuItem("開始/暫停");
		JMenuItem ji2=new JMenuItem("重新開始");
		JMenuItem ji3=new JMenuItem("退出游戲");
		JMenuItem ji4=new JMenuItem("關(guān)于游戲");
		ShowNextBoxPane ShowNext=new ShowNextBoxPane(b);
		
		BackGround BG=new BackGround();
		DrawGround DG=new DrawGround(BG);
		Action action=new Action(b,BG);
		DataIO IO=new DataIO(BG,b);
		JButton right=new JButton("right");
		JButton left=new JButton("left");
		JButton down=new JButton("down");
		JButton up=new JButton("up");
		JButton space= new JButton("space");
		String name;
		int rec;
		File file;
		static Game game=new Game();
		
		
	
	public static void main(String agrs[])
	{
		    
			game.start();
	}
	public  void start()
	{
		
///
		file=new File("rec.dat");
		try {
			file.createNewFile();
		} catch (IOException e) {
			e.printStackTrace();
		}
		try {
			RandomAccessFile raf=new RandomAccessFile(file,"rw");
			raf.seek(0);
			name=raf.readUTF();
			rec=raf.readInt();
			raf.close();
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		ShowScore showscore =new ShowScore(b,name,rec);
		
		bar.add(jm1);
		bar.add(jm2);
		jm1.add(ji1);
		jm1.add(ji2);
		jm1.add(ji3);
		jm2.add(ji4);
		ji1.addActionListener(new MenuListener(b,game));
		ji2.addActionListener(new MenuListener(b,game));
		ji3.addActionListener(new MenuListener(b,game));
		ji4.addActionListener(new MenuListener(b,game));
		
		
///			
		BackPane.setLayout(new GridLayout(1,2));
		
		infPane.setLayout(new GridLayout(2,1));
		infPane.add(ShowNext);
		infPane.add(showscore);
		
		///
		right.setSize(0, 0);
		right.registerKeyboardAction(new KeyRight(b,action,DG),KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT,0),JComponent.WHEN_IN_FOCUSED_WINDOW);
		left.setSize(0, 0);
		left.registerKeyboardAction(new KeyLeft(b,action,DG),KeyStroke.getKeyStroke(KeyEvent.VK_LEFT,0),JComponent.WHEN_IN_FOCUSED_WINDOW);
		down.setSize(0, 0);
		down.registerKeyboardAction(new KeyDown(b,action,DG),KeyStroke.getKeyStroke(KeyEvent.VK_DOWN,0),JComponent.WHEN_IN_FOCUSED_WINDOW);
		up.setSize(0, 0);
		up.registerKeyboardAction(new KeyUP(b,action,DG),KeyStroke.getKeyStroke(KeyEvent.VK_UP,0),JComponent.WHEN_IN_FOCUSED_WINDOW);
		space.setSize(0, 0);
		space.registerKeyboardAction(new KeySpace(b,action,DG),KeyStroke.getKeyStroke(KeyEvent.VK_Z,0),JComponent.WHEN_IN_FOCUSED_WINDOW);
		///
		
		jf.setSize(750,750);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.add(right,BorderLayout.SOUTH);
		jf.add(left,BorderLayout.SOUTH);
		jf.add(down,BorderLayout.SOUTH);
		jf.add(up,BorderLayout.SOUTH);
		jf.add(space,BorderLayout.SOUTH);
		jf.add(KeyPane,BorderLayout.SOUTH);
		jf.add(bar,BorderLayout.NORTH);
		
		BackPane.add(DG);
		
		BackPane.add(infPane);
		infPane.setLocation(30, 0);
		jf.add(BackPane);
		jf.setLocation(60,0);
		jf.setResizable(false);
		jf.setVisible(true);
		
		for(;;)
	       {
			   
			   if(b.score<1000)
			   b.delay=1000-(b.score/100)*100;
	    	   action.newbox();
	    	   ShowNext.repaint();
	    	   showscore.repaint();
	    	   
			for(;;)
	        {
	        	while (b.cmd==0)
	        	{
	        		//空循環(huán)用于暫停
	        	}
				if(action.down())
	        	{ 
	        		DG.repaint();
	        		action.delay(b.delay);
	        	}
	        	else 
	        		
	        		{
	        		
	        		IO.WriteBoxToGround();
	        		action.clear();
	        		DG.repaint();
	        		if(b.y<=1)game.gameover();
	        		break;
	        		}
	        }
	        

	      /*
			for(int y=3;y<26;y++)
	       {
	       	for(int x=0;x<12;x++)
	       	{
	       		System.out.printf("%d", BG.ground[y][x]);
	       	}
	       	System.out.println();
	       }
	       */
	       
	       
			//System.out.println(b.score);
	    }
		
	}
	
	
	public  void restart()
	{

        BackGround bg2=new BackGround();
		
		BG.ground=bg2.ground;
		b.score=0;
		b.x=5;
		b.y=0;
		
	}
	public void gameover()
	{
		int rcd=rec;
		if(b.score>rcd)
		{
			name=JOptionPane.showInputDialog("恭喜你打破了記錄,請輸入您的大名:")+"\n";
			rec=b.score;
		file=new File("rec.dat");
		try {
			file.createNewFile();
		} catch (IOException e) {
			e.printStackTrace();
		}
		try {
			RandomAccessFile raf=new RandomAccessFile(file,"rw");
			raf.seek(0);
			raf.writeUTF(name);
			raf.writeInt(rec);
			raf.close();
			game.restart();
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		}
		else
		{
			JOptionPane.showMessageDialog(null,"很遺憾,請繼續(xù)努力吧!","游戲結(jié)束",JOptionPane.INFORMATION_MESSAGE);
			b.cmd=0;
			game.restart();
		}
		
	}
	public void about()
	{
		String message=String.format("%s\n%s\n%s\n%s","J2SE俄羅斯方塊1.0,游戲版權(quán)歸俄羅斯方塊發(fā)明人","俄國人Alexey Pajitnov和Vadim Gerassimov所有!","程序代碼歸hangtao所有!","歡迎訪問:http://hangtao.5d6d.com");
		JOptionPane.showMessageDialog(null, message, "關(guān)于游戲 Tonysoft",JOptionPane.INFORMATION_MESSAGE);
	}
	
}

	
	



?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91视频国产观看| 成人午夜视频网站| 欧美日韩国产首页| 一区二区三区在线播放| 在线免费不卡电影| 日韩国产一二三区| 日韩午夜在线观看视频| 狠狠色综合播放一区二区| 久久亚洲精品国产精品紫薇| 国产曰批免费观看久久久| 国产精品污www在线观看| 成人黄色网址在线观看| 一区二区高清在线| 欧美一级片在线观看| 久久99热国产| 国产精品久久久久影院| 91免费国产视频网站| 香蕉成人伊视频在线观看| 日韩一二在线观看| 不卡的av在线| 石原莉奈在线亚洲二区| 久久日韩精品一区二区五区| 91影院在线观看| 免费美女久久99| 中文字幕一区二区三区在线不卡| 欧美中文字幕一区| 国产美女娇喘av呻吟久久| 亚洲激情自拍视频| 欧美变态tickle挠乳网站| 成人av网站在线| 蜜桃精品视频在线| 亚洲一区中文日韩| 91精品国产综合久久福利| 成人黄页毛片网站| 人妖欧美一区二区| 一区二区日韩电影| 国产清纯白嫩初高生在线观看91 | 国产98色在线|日韩| 一区二区三区在线影院| 精品国产123| 欧美日韩一区久久| 成人一区二区视频| 精品一区二区三区在线观看 | 日本成人在线一区| 亚洲人精品一区| 国产人伦精品一区二区| 9191成人精品久久| 色8久久精品久久久久久蜜| 国产一区二区三区蝌蚪| 日韩电影一二三区| 亚洲午夜激情网站| 一区二区中文字幕在线| 久久久久久一二三区| 91精品综合久久久久久| 欧美综合在线视频| 91视频精品在这里| av中文字幕一区| 国产黄色成人av| 国内精品自线一区二区三区视频| 午夜亚洲福利老司机| 亚洲靠逼com| 中文字幕一区二区三区四区不卡| 国产午夜精品在线观看| 日韩精品专区在线| 欧美mv日韩mv亚洲| 日韩免费电影网站| 日韩精品一区二区三区四区视频| 欧美日韩一区二区三区在线| 欧洲另类一二三四区| 色系网站成人免费| jvid福利写真一区二区三区| 成人视屏免费看| 国产高清不卡二三区| 国产激情视频一区二区三区欧美 | 午夜成人免费电影| 日韩国产一二三区| 免费在线观看成人| 美女视频一区在线观看| 蜜臀va亚洲va欧美va天堂 | 在线免费不卡视频| 欧洲精品中文字幕| 欧美日韩国产高清一区二区三区 | 美国三级日本三级久久99| 日韩不卡手机在线v区| 日本va欧美va欧美va精品| 蜜臀国产一区二区三区在线播放 | 一区二区不卡在线视频 午夜欧美不卡在 | 激情六月婷婷综合| 久久国内精品自在自线400部| 久久精品国产在热久久| 国产一区二区三区在线看麻豆| 国产一区二区三区黄视频| 国产精品一区专区| a在线播放不卡| 欧美丝袜自拍制服另类| 日韩欧美自拍偷拍| 国产调教视频一区| 亚洲日本一区二区三区| 亚洲国产毛片aaaaa无费看| 青青草97国产精品免费观看 | 视频一区二区三区中文字幕| 欧美aaa在线| 国产mv日韩mv欧美| 99re热视频这里只精品| 777奇米四色成人影色区| 日韩精品在线看片z| 国产欧美中文在线| 亚洲自拍偷拍九九九| 免费在线观看一区| 成人av资源下载| 欧美亚洲动漫另类| 国产夜色精品一区二区av| 亚洲欧美激情插| 美女mm1313爽爽久久久蜜臀| 成人免费高清视频在线观看| 欧美亚洲禁片免费| 精品久久久三级丝袜| 欧美国产成人在线| 亚洲bt欧美bt精品777| 国产精品18久久久| 欧美精品777| 国产精品久久一卡二卡| 日本中文字幕一区二区有限公司| 成人精品一区二区三区四区| 欧美精品xxxxbbbb| 国产精品女人毛片| 久久精品国产99久久6| 91丨porny丨首页| 久久久久久久精| 日韩中文字幕不卡| 一本一道久久a久久精品| 久久亚洲影视婷婷| 亚洲va国产天堂va久久en| 国产xxx精品视频大全| 欧美二区乱c少妇| 亚洲人精品一区| 丰满亚洲少妇av| 精品国免费一区二区三区| 午夜欧美电影在线观看| 99国产欧美久久久精品| 久久精品男人天堂av| 免费国产亚洲视频| 欧美日韩国产123区| 亚洲区小说区图片区qvod| 国产成人精品三级| xf在线a精品一区二区视频网站| 亚洲第一福利视频在线| 91免费国产视频网站| 欧美激情一区二区三区四区| 黑人巨大精品欧美一区| 91麻豆精品国产91久久久| 亚洲激情在线播放| 色综合婷婷久久| 成人免费在线观看入口| www.综合网.com| 国产精品乱人伦| av亚洲精华国产精华精| 国产精品乱子久久久久| 粉嫩绯色av一区二区在线观看| 精品国产乱码久久久久久图片 | 国产精品美女久久久久久2018| 久久精品国产99国产| 欧美丝袜丝nylons| 亚洲一区成人在线| 欧美日韩一区二区欧美激情 | 日韩电影在线观看一区| 制服丝袜中文字幕一区| 天天亚洲美女在线视频| 69堂国产成人免费视频| 日韩精品久久久久久| 91精品婷婷国产综合久久性色| 日韩精品福利网| 日韩精品一区二区三区三区免费 | 亚洲成人精品影院| 欧美剧情电影在线观看完整版免费励志电影 | 国产99精品国产| 国产精品天天看| 色哟哟国产精品免费观看| 夜夜操天天操亚洲| 91精品久久久久久久91蜜桃| 蜜臀久久久久久久| 国产视频不卡一区| 91女厕偷拍女厕偷拍高清| 洋洋av久久久久久久一区| 欧美色图一区二区三区| 日本aⅴ精品一区二区三区| 精品电影一区二区| 成人精品小蝌蚪| 一区二区高清视频在线观看| 91精品视频网| 国产福利不卡视频| 一级女性全黄久久生活片免费| 欧美精三区欧美精三区| 国产成人在线视频播放| 亚洲图片另类小说| 日韩欧美精品三级| 99re66热这里只有精品3直播| 亚洲国产成人高清精品| 久久综合九色综合欧美就去吻| 99视频在线观看一区三区|