📄 toolkit.java
字号:
package lib;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import java.io.*;
//工具包
public class Toolkit{
private static java.util.Random random=new java.util.Random();
private Toolkit(){
}
//区域绘制
public static void drawRegion(Graphics g,Image src,int srcX,int srcY,int width,
int height,int destX,int destY){
int tarX,tarY;
tarX=destX-srcX;
tarY=destY-srcY;
g.setClip(destX,destY,width, height);
g.drawImage(src,tarX,tarY,0);
g.setClip(0,0,XCanvas.WIDTH,XCanvas.HEIGHT);
// g.drawRegion(src,srcX,srcY,width,height,javax.microedition.lcdui.game.Sprite.TRANS_NONE,
// destX,destY,0);
}
public static void drawRegion(Graphics g,Image src,Rectangle rect,int destX,int destY){
drawRegion(g,src,rect.x,rect.y,rect.width,rect.height,destX,destY);
}
public static void drawRegion(Graphics g,Image src,Rectangle rect,Point point){
drawRegion(g,src,rect.x,rect.y,rect.width,rect.height,point.x,point.y);
}
//平铺
public static void drawTile(Graphics g,Image src,int destX,int destY,int width,int height){
for(int i=destX;i<destX+width;i+=src.getWidth())
for(int j=destY;j<destY+height;j+=src.getHeight()){
g.drawImage(src,i,j,0);
}
}
//获得随机数
public static int getInt(int start,int end){
int max,min;
if(start==end)
return start;
if(start>end){
max=start;
min=end;
}
else{
max=end;
min=start;
}
return Math.abs(random.nextInt())%(max-min+1)-(0-min);
}
//写数据
public static void writeData(int[] intData) throws Exception{
RecordStore rs=RecordStore.openRecordStore("data",true);
RecordEnumeration re=rs.enumerateRecords(null,null,false);
ByteArrayOutputStream bout=new ByteArrayOutputStream();
DataOutputStream dout=new DataOutputStream(bout);
//写int数据
if(intData!=null) {
for(int i=0;i<intData.length;i++)
dout.writeInt(intData[i]);
}
byte[] data=bout.toByteArray();
if(re.hasNextElement()){
rs.setRecord(re.nextRecordId(),data,0,data.length);
}
else{
rs.addRecord(data,0,data.length);
}
rs.closeRecordStore();
}
//读数据
public static boolean readData(int[] intData) throws Exception{
RecordStore rs=RecordStore.openRecordStore("data",true);
RecordEnumeration re=rs.enumerateRecords(null,null,false);
ByteArrayInputStream bin;
DataInputStream din;
if(re.hasNextElement()){
bin=new ByteArrayInputStream(re.nextRecord());
din=new DataInputStream(bin);
//读int数据
if(intData!=null){
for(int i=0;i<intData.length;i++)
intData[i]=din.readInt();
}
rs.closeRecordStore();
return true;
}
else{
rs.closeRecordStore();
return false;
}
}
//分解数字1
public static void analyzeNum1(int num,int[] result){
int[] buffer=new int[20];
int count=0;
do{
buffer[count] =num%10;
num/=10;
count++;
}while(num!=0);
buffer[count]=count;
for (int i=0;count>=0;count--,i++){
result[i]=buffer[count];
}
}
//分解数字2
public static void analyzeNum2(int num,int[] result){
for(int i=result.length-1;i>=0;i--){
result[i]=num%10;
num=num/10;
}
}
//排序
public static void sort(int[] num,int count,boolean order){
int tmp;
int index;
for(int i=0;i<count-1;i++){
index=i;
for(int j=i;j<count;j++){
//降序
if(order && num[j]>num[index])
index=j;
//升序
else if(!order && num[j]<num[index])
index=j;
}
tmp=num[i];
num[i]=num[index];
num[index]=tmp;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -