我正在尝试制作老虎机游戏。我搜索过其他论坛,但他们似乎都在使用int的方式与我尝试使用它们的方式略有不同
我有4个课程,这是一个简单的版本:
import java.util.*;
public class ExampleCode {
public static void main(String[] args) {
int a = 0;
int b = 0;
int c = 0;
SlotLeft left = new SlotLeft();
SlotMid mid = new SlotMid();
SlotRight right = new SlotRight();
left.left(a);
mid.mid(b);
right.right(c);
if(a==b){
System.out.println("text");
}
if(a==c){
System.out.println("different text");
}
if(b==c){
System.out.println("More text");
}
if(a==b&&a==c&&b==a&&b==c&&c==a&&c==b){
System.out.println("last text");
}
}
}
//left class
import java.util.*;
public class SlotLeft {
public void left(int a) {
int 1;
}
}
//mid class
import java.util.*;
public class SlotMid {
public void mid(int b) {
int b = 1;
}
}
//right class
import java.util.*;
public class SlotRight {
public void right(int c) {
int c = 1;
}
}
括号可能搞砸了,但这不是我关注的问题。我试图在三个类中设置某些int,然后能够在主类中给它们这个值并比较这三个数字。有什么建议吗?
编辑:尝试使其更加明确,对不起相对较新的Java。
答案 0 :(得分:0)
为每个插槽使用数组而不是类:
public static final int SLOT_LEFT = 0 ;
public static final int SLOT_MID = 1 ;
public static final int SLOT_RIGHT = 2 ;
int[] slots = new int[3];
设置广告位的值:
slots[SLOT_MID] = 1;
您还可以将所有内容集成到一个类
中class SlotManager {
public static final int SLOT_LEFT = 0 ;
public static final int SLOT_MID = 1 ;
public static final int SLOT_RIGHT = 2 ;
int[] slots = new int[3];
public void setSlot(int slotId, int value) {
slots[slotId] = value;
}
}
答案 1 :(得分:0)
直接为传递给方法的参数赋值不会在调用方法中更改它。换句话说:
public class Test {
public static void main(String[] args) {
int i = 0;
foo(i);
System.out.println(i); // Prints "0", not "1"
}
public void foo(int i) {
i = 1;
}
}
这会打印0
,而不是1
。同样,直接赋值不会更改调用方法中的值。相反,做这样的事情:
public class Test {
public static void main(String[] args) {
int i = foo();
System.out.println(i); // Prints "1"
}
public int foo() {
return 1;
}
}