我一般对编程和Java还是陌生的。我目前是一名学生,我正尝试在课堂外做一个项目,以使自己更加精通Java。 目前,我正在研究基于文本的RPG,我试图在其中创建主要角色,为角色分配基本技能点并在整个游戏中使用该信息。 到目前为止,我已经制作了一个jframe类,其中用户具有6个基本值为1的不同技能。用户可以使用加号和减号按钮从特定技能中添加或减去一个值。 这就是我卡住的地方。我不知道如何将这些值保存到其他类可以使用的对象。 我会很感激我能得到的任何帮助。 谢谢。
public class CharacterStatsGUI extends javax.swing.JFrame {
static int skill1 = 1;
static int skill2 = 1;
static int skill3 = 1;
static int skill4 = 1;
static int skill5 = 1;
static int skill6 = 1;
static int skillPoints = 10;
private void txthealthActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
txthealth.setText(String.valueOf(skill1));
}
private void btnhpActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(skillPoints >= 1){
skill1++;
skillPoints--;
txthealth.setText(String.valueOf(skill1));
txtpoints.setText(String.valueOf(skillPoints));
}
else{
JOptionPane.showMessageDialog(null, "You dont have enough skills points");
}
}
private void btnhmActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(skillPoints >= 0 && skill1 > 1){
skill1--;
skillPoints++;
txthealth.setText(String.valueOf(skill1));
txtpoints.setText(String.valueOf(skillPoints));
}
else{
JOptionPane.showMessageDialog(null, "Minimum skill value is 1.");
}
}
答案 0 :(得分:0)
有多个解决此问题的方法。 并非所有这些方法都是有效的,也不是全部都是美丽的,但是如果“要使自己更加精通Java,那么最好了解各种方法!这是一些选择:
static int skill1 = 1;
更改public static int skill1 = 1;
,然后通过调用myCharacterStatsGUI.skill1
来删除数据。private
并创建一些公共方法,例如public int getSkill1
或public int getSkill(int numSkill)
来返回正确技能的int值。MainCharacter
,该类包含所有字符值和所包含的技能。此类必须实现选项2方法。除了第三点,您还可以将MainCharacter类与其值分开,并将所有技能存储在内部类Skills中。当您想通过调用特定方法来获取这些值时。在下面的代码中,我想向您显示此选项:
public Class MainChar{
private Skills skills;
public MainChar(){
this.skills=new Skills();
}
/* Call it from your CharacterStatsGUI class,
in the method txthealthActionPerformed */
public void augmentSkill(){
skills.augment()
}
public int getHealt(){
return skills.getHealt();
}
private class Skills{
/*This example use only a skill, but
you can extend it with others values*/
private int health;
public Skills(){
health=1;
}
public void augment(){
health++;
}
public int getHealt(){
return health;
}
}
}