📄 configstorage.java
字号:
import java.io.*;
public class ConfigStorage {
String name;
int level;
int player;
String wall[];
int orientation;
static final int ORIENTATION_LANDSCAPE=0;
static final int ORIENTATION_PORTRAIT=1;
double ball_diameter;
int ball_shape;
static final int BALL_SHAPE_ROUND=0;
double ball_initpos_width;
double ball_initpos_height;
double ball_initspeed_width;
double ball_initspeed_height;
int brick_bounce_type;
static final int BRICK_BOUND_SIMPLE=0;
int brick_onhit_score;
int brick_shape;
static final int BRICK_SHAPE_RECT=0;
double brick_width;
double brick_height;
double brick_position[][];
PaddleConfig paddles[];
String items[];
public ConfigStorage()
{
}
public void processLine(String input){
int i;
int j;
String line[];
line=count(input,0,':');
if(line[0].compareTo("Name")==0) {
name=line[1];
String tempname[]=count(line[1],0,' ');
level=java.lang.Integer.parseInt(tempname[tempname.length-1]);
} else if(line[0].compareTo("Players")==0) {
player=java.lang.Integer.parseInt(line[1]);
paddles=new PaddleConfig[player];
} else if(line[0].compareTo("Orientation")==0) {
if(line[1].compareTo("landscape")==0) {
orientation=ORIENTATION_LANDSCAPE;
} else if(line[1].compareTo("portrait")==0) {
orientation=ORIENTATION_PORTRAIT;
}
}
else if(line[0].compareTo("Walls")==0) {
String[] _wall=count(line[1],0,',');
wall=new String[_wall.length];
wall=_wall;
} else if(line[0].compareTo("Ball")==0) {
String[] _ball=count(line[1],0,',');
for(i=0;i<_ball.length;i++) {
String _ball_conf[] = count(_ball[i],0,'=');
items=count(_ball_conf[1],0,'/');
if(_ball_conf[0].compareTo("shape")==0) {
ball_diameter=java.lang.Double.parseDouble(items[1]);
} else if(_ball_conf[0].compareTo("initpos")==0) {
ball_initpos_width=java.lang.Double.parseDouble(items[0]);
ball_initpos_height=java.lang.Double.parseDouble(items[1]);
} else if(_ball_conf[0].compareTo("initspeed")==0) {
ball_initspeed_width=java.lang.Double.parseDouble(items[0]);
ball_initspeed_height=java.lang.Double.parseDouble(items[1]);
}
}
} else if(line[0].compareTo("Brick")==0) {
String[] _brick=count(line[1],0,',');
for(i=0;i<_brick.length;i++)
{
String _brick_conf[] = count(_brick[i],0,'=');
items=count(_brick_conf[1],0,'/');
if(_brick_conf[0].compareTo("onhit")==0)
{
brick_onhit_score=java.lang.Integer.parseInt(items[4]);
}
else if(_brick_conf[0].compareTo("shape")==0)
{
brick_width=java.lang.Double.parseDouble(items[1]);
brick_height=java.lang.Double.parseDouble(items[2]);
}
else if(_brick_conf[0].compareTo("positions")==0)
{
brick_position=new double[items.length/2][2];
for (i=0;i<items.length;i++)
{
brick_position[i/2][i%2]=java.lang.Double.parseDouble(items[i]);
}
}
}
}else if(line[0].compareTo("Paddle")==0){
PaddleConfig onepaddle=new PaddleConfig();
onepaddle.processPaddle(line[1]);
int x=onepaddle.id;
paddles[onepaddle.id-1]=onepaddle;
}
}
public void processDoc(String path)
{
String text;
text = readText(path);
processText(text);
}
public void processText(String doc) {
String[] eachline;
eachline=count(doc.trim(),1,'>');
for(int i=0;i<eachline.length;i++) {
processLine(eachline[i]);
}
for(int x=0;x<wall.length;x++) {
}
}
public void printConfig(){
int i;
for(i=0;i<wall.length;i++)
{
}
System.out.println(orientation);
for(i=0;i<paddles.length;i++)
{
}
for(int x=0;x<brick_position.length;x++)
{
}
}
private String readText(String filepath)
{
InputStream is = getClass().getResourceAsStream(filepath);
try
{
StringBuffer sb = new StringBuffer();
int chr, i = 0;
while ((chr = is.read()) != -1)
sb.append((char) chr);
return sb.toString();
}
catch (Exception e)
{
}
return null;
}
static public String[] count(String string1, int num,char divider) {
String text = string1.substring(num);
text=text.trim();
int count = 0;
char separator = divider;
int index = 0;
do
{
++count;
++index;
index = text.indexOf(separator, index);
}
while (index != -1);
String[] subStr = new String[count];
index = 0;
int endIndex = 0;
for(int i = 0; i < count; i++) {
endIndex = text.indexOf(separator,index);
if(endIndex == -1) {
subStr[i] = text.substring(index);
} else {
subStr[i] = text.substring(index, endIndex);
index = endIndex + 1;
}
}
return subStr;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -