작은 텍스트 게임을 만들고 있습니다. 시작 대화는 내 (정적) 방법입니다. 거기에서, 그것은 당신의 선택에 따라 다른 방법으로 당신을 보낸다.정적 및 비 정적 메서드에서 인스턴스를 사용해야합니다.
이제이 작업을 수행하려면 클래스의 인스턴스가 있어야한다고 생각합니다. 예를 들어
:
Program p = new Program();
if(stuff){
p.room1();
}
else{
p.room2();
}
그 다른 방법 내에서 변경됩니다 전역 변수가있다.
그래서 주요 방법 위에있다 :
public bool hasItem = false;
그래서 들어 Booth는() 나는 주요 방법으로 뭔가 위로를 속이고있어 알고
public void room1(){
if(stuff){
p.hasItem = true;
}
}
처럼 보일 것이다. main 메소드의 내부 또는 외부에 인스턴스 "p"를 선언합니까? 둘 다 시도했지만 두 가지 방법으로 오류가 발생합니다.
편집 : 메인 메서드 외부에서 정적 "프로그램"을 선언하는 결과가 발생했습니다. 도와 주셔서 감사합니다!
나는 귀하의 질문에 전혀 답변하지 않습니다. 문제는 당신이'hasItem'을 선언 할 곳을 모른다는 것입니까? 나는 당신이 * item *을 가진 물건 (room, world, player, 무엇이든)을 나타내는 객체의 멤버 변수로 선언 할 것을 제안한다. –
나는 그것이 방법의 밖에서 그것을 선언함으로써 한 것이라고 생각했습니다. 그렇지 않은가요? – coinbird