My footsteps
일요일 혼공 / (오목 게임 함수화,생활코딩 static) 본문
728x90
package sunday;
import java.util.Scanner;
import saturday.Omok;
public class OmokSimulator {
public static void main(String[] args) {
OmokList list = new OmokList();
//초기화
list.initOmokList();
//게임 스타트
list.startOmokList();
while(true) {
//좌표 입력 및 중복 검사
list.inputOmokList();
//최종 출력
list.printOmokList();
}//while
}
}
package sunday;
import java.util.Scanner;
public class OmokList {
String[][] omoks;
//초기화
public void initOmokList() {
omoks = new String[10][10];
}
//게임 스타트
public void startOmokList() {
Omok omok = new Omok();
for(int i=0;i<10;i++) { //행
for(int j=0;j<10;j++) { //열
omoks[i][j] = omok.getShape();
System.out.print(omoks[i][j]);//바둑판 출력
}
System.out.println();
}
System.out.println("★오목 게임 시작!★");
}
//좌표 입력 및 중복 검사
public void inputOmokList() {
Omok omok = new Omok();
Scanner scan = new Scanner(System.in);
while(true) {
if(omok.index%2==1) {
System.out.printf("[턴 %d %s돌 입력]\n",omok.index,omok.name1);
}else
System.out.printf("[턴 %d %s돌 입력]\n",omok.index,omok.name2);
omok.num = scan.nextInt();
omok.num2 = scan.nextInt();
if(omoks[omok.num][omok.num2]==omok.shape) {
if(omok.index%2==1) {
omoks[omok.num][omok.num2]= "●";
}else {
omoks[omok.num][omok.num2]= "○";
}
omok.index++;
}else
System.out.println("이미 놓여진 자리입니다.");
printOmokList();
}
}
//최종 출력
public void printOmokList() {
for(int i=0;i<10;i++) { //행
for(int j=0;j<10;j++) { //열
System.out.print(omoks[i][j]);
}
System.out.println();
}
}
}
package saturday;
public class Omok {
int index=1;
String name1 = "흑";
String name2 = "백";
String shape = "┼";
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public String getName1() {
return name1;
}
public void setName1(String name1) {
this.name1 = name1;
}
public String getName2() {
return name2;
}
public void setName2(String name2) {
this.name2 = name2;
}
public String getShape() {
return shape;
}
public void setShape(String shape) {
this.shape = shape;
}
}
- static : 클래스 메소드 / no-static: 인스턴스 메소드
- 메소드가 인스턴스(클래스를 통해서 구현해야할 대상이 실제로 구현된 구체적인 실체) 소속일때는 static을 빼줘야 한다
- 반대로 메소드가 class소속일때는 static을 붙여줘야 한다
728x90
'Develop > 곤부📙' 카테고리의 다른 글
일요일 혼공 / (자바스크립트 onclick) (0) | 2023.03.26 |
---|---|
토요스터디 / 5주차 (0) | 2023.03.25 |
토요스터디 / 4주차 (0) | 2023.03.18 |
쪽지시험 / 2 (0) | 2023.03.18 |
토요스터디 / 3주차 (자리바꾸기 꿀팁 코드) (0) | 2023.03.12 |