⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setupcanvas.java

📁 这是一个Java编写的手机象棋游戏
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.GameCanvas;
import java.io.*;

public class SetupCanvas extends GameCanvas implements Runnable
{
	private MainSelect  mainSelect = null;
	//画布变量部分
	private int[][] chess = null;
	private int		m,n,y,x, dm, dn, dy, dx, d;
	private String	str[] = null;
	private final	int		WIDTH,HEIGHT,width,height,hy,vx,bandLength,charHeight,vLocation;
	private			int		k;
	private	Graphics g = null;
	private boolean stop = false;
	//系统设置变量部分
	//背景色彩
	private int	bgColorR = 0, bgColorG = 0, bgColorB = 0;
	//棋盘色彩
	private int	chessColorR = 0, chessColorG = 0, chessColorB = 0;
	//楚河汉界色彩
	private int	riverColorR = 0, riverColorG = 0, riverColorB = 0;
	//计时器色彩
	private int	timeColorR = 0, timeColorG = 0, timeColorB = 0;
	//我方棋子色彩
	private int	myColorR = 0, myColorG = 0, myColorB = 0;
	//对方棋子色彩
	private int	yourColorR = 0, yourColorG = 0, yourColorB = 0;
	//字符色彩
	private int	fontColorR = 0, fontColorG = 0, fontColorB = 0;
	//我方棋子选择后的色彩
	private int	selectedColorR = 0, selectedColorG = 0, selectedColorB = 0;
	//选择框的色彩
	private int	selectColorR = 0, selectColorG = 0, selectColorB = 0;
	//休眠时间,如果反应太快的话,可以手动增加它的值
	private int	sleepTime = 0;
	//每次变化量
	private final int ColorNumber;
	private int which = 0;
	private SetupRecord record = null;
	private Setup		setup = null;
	private	int[][] setupData = null;
	
	public SetupCanvas(MainSelect ms, int which, int sleepTime, int colorNumber)
	{
		super(true);
		mainSelect = ms;
		this.which = which;
		this.sleepTime = sleepTime;
		ColorNumber = colorNumber;
		//画布变量初始化
		setFullScreenMode(true);
		WIDTH=getWidth();
		HEIGHT=getHeight();
		width=WIDTH/10;
		Font	f = Font.getDefaultFont();
		charHeight = f.getHeight();
		height=(HEIGHT - 2*charHeight)/10;
		hy = (HEIGHT - 9 * height)/2;
		vx = (WIDTH - 8 * width)/2;
		bandLength = Math.min(width ,height);
		vLocation = vx + width * 4;
		g=getGraphics();
		//初始化象棋字符
		str=new String[33];
		str[0]="将";
		str[1]="兵";
		str[2]="兵";
		str[3]="兵";
		str[4]="兵";
		str[5]="兵";
		str[6]="炮";
		str[7]="炮";
		str[8]="车";
		str[9]="车";
		str[10]="马";
		str[11]="马";
		str[12]="相";
		str[13]="相";
		str[14]="士";
		str[15]="士";
		str[16]="帅";
		str[17]="卒";
		str[18]="卒";
		str[19]="卒";
		str[20]="卒";
		str[21]="卒";
		str[22]="炮";
		str[23]="炮";
		str[24]="车";
		str[25]="车";
		str[26]="马";
		str[27]="马";
		str[28]="象";
		str[29]="象";
		str[30]="仕";
		str[31]="仕";
		str[32]="";
		initServer();
	}
	private void initServer()
	{
		chess=new int[10][9];
		chess[0][0]=8;
		chess[0][1]=10;
		chess[0][2]=12;
		chess[0][3]=14;
		chess[0][4]=0;
		chess[0][5]=15;
		chess[0][6]=13;
		chess[0][7]=11;
		chess[0][8]=9;
		for(int i=0;i<9;i++)
			chess[1][i]=32;
		chess[2][0]=32;
		chess[2][1]=6;
		chess[2][2]=32;
		chess[2][3]=32;
		chess[2][4]=32;
		chess[2][5]=32;
		chess[2][6]=32;
		chess[2][7]=7;
		chess[2][8]=32;
		chess[3][0]=1;
		chess[3][1]=32;
		chess[3][2]=2;
		chess[3][3]=32;
		chess[3][4]=3;
		chess[3][5]=32;
		chess[3][6]=4;
		chess[3][7]=32;
		chess[3][8]=5;
		for(int i=0;i<9;i++)
			chess[4][i]=32;
		for(int i=0;i<9;i++)
			chess[5][i]=32;
		chess[6][0]=21;
		chess[6][1]=32;
		chess[6][2]=20;
		chess[6][3]=32;
		chess[6][4]=19;
		chess[6][5]=32;
		chess[6][6]=18;
		chess[6][7]=32;
		chess[6][8]=17;
		chess[7][0]=32;
		chess[7][1]=23;
		chess[7][2]=32;
		chess[7][3]=32;
		chess[7][4]=32;
		chess[7][5]=32;
		chess[7][6]=32;
		chess[7][7]=22;
		chess[7][8]=32;
		for(int i=0;i<9;i++)
			chess[8][i]=32;
		chess[9][0]=25;
		chess[9][1]=27;
		chess[9][2]=29;
		chess[9][3]=31;
		chess[9][4]=16;
		chess[9][5]=30;
		chess[9][6]=28;
		chess[9][7]=26;
		chess[9][8]=24;
		getUserSetup();
		//********开启绘制线程
		new Thread(this).start();
	}
	private void getUserSetup()
	{
		record = new SetupRecord();
		setup = record.getUserSetup();
		setupData = setup.getCanvas();
		bgColorR = setupData[0][0];
		bgColorG = setupData[0][1];
		bgColorB = setupData[0][2];
		chessColorR = setupData[1][0];
		chessColorG = setupData[1][1];
		chessColorB = setupData[1][2];
		riverColorR = setupData[2][0];
		riverColorG = setupData[2][1];
		riverColorB = setupData[2][2];
		timeColorR = setupData[3][0];
		timeColorG = setupData[3][1];
		timeColorB = setupData[3][2];
		myColorR = setupData[4][0];
		myColorG = setupData[4][1];
		myColorB = setupData[4][2];
		yourColorR = setupData[5][0];
		yourColorG = setupData[5][1];
		yourColorB = setupData[5][2];
		fontColorR = setupData[6][0];
		fontColorG = setupData[6][1];
		fontColorB = setupData[6][2];
		selectedColorR = setupData[7][0];
		selectedColorG = setupData[7][1];
		selectedColorB = setupData[7][2];
		selectColorR = setupData[8][0];
		selectColorG = setupData[8][1];
		selectColorB = setupData[8][2];
	}
	private void setChance()
	{
		setupData[0][0] = bgColorR;
		setupData[0][1] = bgColorG;
		setupData[0][2] = bgColorB;
		setupData[1][0] = chessColorR;
		setupData[1][1] = chessColorG;
		setupData[1][2] = chessColorB;
		setupData[2][0] = riverColorR;
		setupData[2][1] = riverColorG;
		setupData[2][2] = riverColorB;
		setupData[3][0] = timeColorR;
		setupData[3][1] = timeColorG;
		setupData[3][2] = timeColorB;
		setupData[4][0] = myColorR;
		setupData[4][1] = myColorG;
		setupData[4][2] = myColorB;
		setupData[5][0] = yourColorR;
		setupData[5][1] = yourColorG;
		setupData[5][2] = yourColorB;
		setupData[6][0] = fontColorR;
		setupData[6][1] = fontColorG;
		setupData[6][2] = fontColorB;
		setupData[7][0] = selectedColorR;
		setupData[7][1] = selectedColorG;
		setupData[7][2] = selectedColorB;
		setupData[8][0] = selectColorR;
		setupData[8][1] = selectColorG;
		setupData[8][2] = selectColorB;
		setup.setCanvas(setupData);
		setup.setSleepTime(sleepTime);
		record.modifySetup(setup);
		record.closeSetupRecord();
	}
	public void run()
	{
		//System.out.println("进入画布绘制线程");
		while(!stop)
		{
			long startTime = System.currentTimeMillis();
			//***********************键响应
			int keyState=getKeyStates();
			if((keyState&GameCanvas.UP_PRESSED)!=0)
			{
				if(which == 0)
				{
					bgColorR = bgColorR + ColorNumber;
					if(bgColorR >255)
					{
						bgColorR = 255;
					}
				}
				if(which == 1)
				{
					chessColorR = chessColorR + ColorNumber;
					if(chessColorR >255)
					{
						chessColorR = 255;
					}
				}
				if(which == 2)
				{
					riverColorR = riverColorR + ColorNumber;
					if(riverColorR >255)
					{
						riverColorR = 255;
					}
				}
				if(which == 3)
				{
					timeColorR = timeColorR + ColorNumber;
					if(timeColorR >255)
					{
						timeColorR = 255;
					}
				}
				if(which == 4)
				{
					myColorR = myColorR + ColorNumber;
					if(myColorR >255)
					{
						myColorR = 255;
					}
				}
				if(which == 5)
				{
					yourColorR = yourColorR + ColorNumber;
					if(yourColorR >255)
					{
						yourColorR = 255;
					}
				}
				if(which == 6)
				{
					fontColorR = fontColorR + ColorNumber;
					if(fontColorR >255)
					{
						fontColorR = 255;
					}
				}
				if(which == 7)
				{
					selectedColorR = selectedColorR + ColorNumber;
					if(selectedColorR >255)
					{
						selectedColorR = 255;
					}
				}
				if(which == 8)
				{
					selectColorR = selectColorR + ColorNumber;
					if(selectColorR >255)
					{
						selectColorR = 255;
					}
				}
			}
			if((keyState&GameCanvas.DOWN_PRESSED)!=0)
			{
				if(which == 0)
				{
					bgColorR = bgColorR - ColorNumber;
					if(bgColorR < 0)
					{
						bgColorR = 0;
					}
				}
				if(which == 1)
				{
					chessColorR = chessColorR - ColorNumber;
					if(chessColorR < 0)
					{
						chessColorR = 0;
					}
				}
				if(which == 2)
				{
					riverColorR = riverColorR - ColorNumber;
					if(riverColorR < 0)
					{
						riverColorR = 0;
					}
				}
				if(which == 3)
				{
					timeColorR = timeColorR - ColorNumber;
					if(timeColorR < 0)
					{
						timeColorR = 0;
					}
				}
				if(which == 4)
				{
					myColorR = myColorR - ColorNumber;
					if(myColorR < 0)
					{
						myColorR = 0;
					}
				}
				if(which == 5)
				{
					yourColorR = yourColorR - ColorNumber;
					if(yourColorR < 0)
					{
						yourColorR = 0;
					}
				}
				if(which == 6)
				{
					fontColorR = fontColorR - ColorNumber;
					if(fontColorR < 0)
					{
						fontColorR = 0;
					}
				}
				if(which == 7)
				{
					selectedColorR = selectedColorR - ColorNumber;
					if(selectedColorR < 0)
					{
						selectedColorR = 0;
					}
				}
				if(which == 8)
				{
					selectColorR = selectColorR - ColorNumber;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -