我用JAVA SE 写了个休闲养成游戏,里边的那些值,比如 金钱数 public static int money=10000; 年龄,public static int age=20; 等等之类什么的都是用静态变量。 现在我存档和读档要怎么做?我老师说可能要序列化,反序列化。我不明白,因为他没做过这个所以也说不明白 只好向各位大大求助!只要行的通,什么方法都可以。
用静态还是非静态变量,不在于用起来是不是方便,而在于你要表达的东西是一种事物类型,还是一个具体事物个体。
静态不会带来任何方便,比如假设你游戏里加几个玩家,需要多个 Value 同时存在的时候,你就会发现静态的东西非常不方便。
如果你觉得写 set get 方法不方便,可以用 IDE 生成,敲键盘的次数绝对比用 static 少很多
ps。刚学两个星期,就做这么多行的程序,还真是心急
@SuppressWarnings("unchecked")
public Music(){
switch(Value.Select){
case 1:{Class music = this.getClass();
java.net.URL url = music.getResource("/music/zt.wav");
AudioClip clip = Applet.newAudioClip(url);
//设置播放条件
if(Value.music=true){clip.play();}
if(Value.music=false){clip.stop();}break;
}
case 2:{Class music = this.getClass();
java.net.URL url = music.getResource("/music/瓦妮莎的微笑.wav");
AudioClip clip = Applet.newAudioClip(url);
//设置播放条件
if(Value.music=true){clip.play();}
if(Value.music=false){clip.stop();}break;
}
case 3:{Class music = this.getClass();
java.net.URL url = music.getResource("/music/天空之城.mid");
AudioClip clip = Applet.newAudioClip(url);
//设置播放条件
if(Value.music=true){clip.play();}
if(Value.music=false){clip.stop();}break;
}
case 4:{Class music = this.getClass();
java.net.URL url = music.getResource("/music/遇见.mid");
AudioClip clip = Applet.newAudioClip(url);
//设置播放条件
if(Value.music=true){clip.play();}
if(Value.music=false){clip.stop();}break;
}
case 5:{Class music = this.getClass();
java.net.URL url = music.getResource("/music/安妮的仙境.mid");
AudioClip clip = Applet.newAudioClip(url);
//设置播放条件
if(Value.music=true){clip.play();}
if(Value.music=false){clip.stop();}break;
}
case 6:{Class music = this.getClass();
java.net.URL url = music.getResource("/music/克罗地亚狂想曲.mid");
AudioClip clip = Applet.newAudioClip(url);
//设置播放条件
if(Value.music=true){clip.play();}
if(Value.music=false){clip.stop();}break;
}
case 7:{Class music = this.getClass();
java.net.URL url = music.getResource("/music/zj01.mid");
AudioClip clip = Applet.newAudioClip(url);
//设置播放条件
if(Value.music=true){clip.play();}
if(Value.music=false){clip.stop();}break;
}
case 8:{Class music = this.getClass();
java.net.URL url = music.getResource("/music/zj02.mid");
AudioClip clip = Applet.newAudioClip(url);
//设置播放条件
if(Value.music=true){clip.play();}
if(Value.music=false){clip.stop();}break;
}
case 9:{Class music = this.getClass();
java.net.URL url = music.getResource("/music/zj03.mid");
AudioClip clip = Applet.newAudioClip(url);
//设置播放条件
if(Value.music=true){clip.play();}
if(Value.music=false){clip.stop();}break;
}
case 10:{Class music = this.getClass();
java.net.URL url = music.getResource("/music/zj04.mid");
AudioClip clip = Applet.newAudioClip(url);
//设置播放条件
if(Value.music=true){clip.play();}
if(Value.music=false){clip.stop();}break;
}
}
}
}
package mian;
public class Value {
//设定游戏中所需要的静态公共值
public static int jiankang=200; //健康
public static int jinqian=2000000; //金钱
public static int nengli=100; //能力
public static int jingyan=100; //经验
public static int kuaile=200; //心态
public static int daode=200; //道德
public static int jiaoji=100; //交际
public static int nianling=22; //年龄
public static int yuefen=96; //剩余月份
public static int guoquyuefen=0; //已经过去的月份
public static int gongzi=2200; //工资
public static int shijian=0+(22*8+(30*16-22*16)); //空闲时间
public static int gongzuo=0+Value.gongzi; //根据一个月的工作时间计算所应得到的工资数
public static int randomj=0; //随机数0为加1为减。
public static int random=0; //随机加减股票指数值的存放处
public static int yingkui; //盈亏率
public static int gupiaozhishu=1000;//股票指数
public static int chigushoushu=0; //持股手数
public static int jiaoyi; //交易的手数
public static int gupiaoshizhi=0; //所持股票市值
public static boolean boy; //主角为男孩是女,true为男,false为女.
public static int Select; //选择播放哪首音乐
public static boolean music=true; //片场音乐是否播放
public static int fangchanzhishu=110; //房产指数
public static int fangjia=80000; //1房1厅,房价基数
public static int fangjia2=100000; //2房1厅,房价基数
public static int fangjia3=200000; //2房2厅,房价基数
public static int fangjia4=240000; //3房1厅,房价基数
public static int fangjia5=300000; //3房2厅,房价基数
public static int fangjia6=360000; //4房2厅,房价基数
public static int fangjia7=1500000; //市郊别墅,房价基数
public static int fangjia8=3000000; //城区别墅,房价基数
public static int fangzileibie=0; //房子的类别,1——8分别等于上面的房子款式,0为空。
public static int Clicked=0; //
public static String zhiwu="国内中心公司基层员工"; //职务
public static String banlv="你目前还没有伴侣"; //伴侣
public static String qiche="你目前还没有汽车"; //汽车
public static String fangzi="你目前还没有房子"; //房子
}
package mian;
public class Value {
//设定游戏中所需要的静态公共值
public static int jiankang=200; //健康
public static int jinqian=2000000; //金钱
public static int nengli=100; //能力
public static int jingyan=100; //经验
public static int kuaile=200; //心态
public static int daode=200; //道德
public static int jiaoji=100; //交际
public static int nianling=22; //年龄
public static int yuefen=96; //剩余月份
public static int guoquyuefen=0; //已经过去的月份
public static int gongzi=2200; //工资
public static int shijian=0+(22*8+(30*16-22*16)); //空闲时间
public static int gongzuo=0+Value.gongzi; //根据一个月的工作时间计算所应得到的工资数
public static int randomj=0; //随机数0为加1为减。
public static int random=0; //随机加减股票指数值的存放处
public static int yingkui; //盈亏率
public static int gupiaozhishu=1000;//股票指数
public static int chigushoushu=0; //持股手数
public static int jiaoyi; //交易的手数
public static int gupiaoshizhi=0; //所持股票市值
public static boolean boy; //主角为男孩是女,true为男,false为女.
public static int Select; //选择播放哪首音乐
public static boolean music=true; //片场音乐是否播放
public static int fangchanzhishu=110; //房产指数
public static int fangjia=80000; //1房1厅,房价基数
public static int fangjia2=100000; //2房1厅,房价基数
public static int fangjia3=200000; //2房2厅,房价基数
public static int fangjia4=240000; //3房1厅,房价基数
public static int fangjia5=300000; //3房2厅,房价基数
public static int fangjia6=360000; //4房2厅,房价基数
public static int fangjia7=1500000; //市郊别墅,房价基数
public static int fangjia8=3000000; //城区别墅,房价基数
public static int fangzileibie=0; //房子的类别,1——8分别等于上面的房子款式,0为空。
public static int Clicked=0; //
public static String zhiwu="国内中心公司基层员工"; //职务
public static String banlv="你目前还没有伴侣"; //伴侣
public static String qiche="你目前还没有汽车"; //汽车
public static String fangzi="你目前还没有房子"; //房子