Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 데이터테이블 데이터 넣기
- 공인IP
- mySQL_Replication
- timepicker
- Replication
- pm2 시작
- invalid data
- mosquitto
- DatePicker
- setInterval 중지
- allow_anonymouse
- setInterval 정지
- setInterval 외부 정지
- setInterval clear
- map이 undefined가 뜰 때
- pm2
- pm2 상태 확인
- listener 1883
- pm2 설치
- DataGridView 직접 입력
- 맥 어드레스
- c# datagridview 데이터 넣기
- transfer
- 서버동기화
- datagridview 직접입력
- html #select #option #multiple
- pm2 확인
- AntDesign
- mosquitto.conf
- 1883
Archives
- Today
- Total
개발 노트
[유니티 윷놀이] 윷놀이 판 갈림길 이동과 표시 본문
이전에 포스팅한 윷놀이 판 배열 설정이 있었다.
하지만 모든 블럭을 0~29번으로 나열 한것뿐이지 이 배치한 블럭이 윷놀이 갈림길 까지 고려할 수 없다는 것이다.
나의 블럭 배치 방식은 바깥 블럭 차레대로 0~19번으로 설정하고 갈림길 블럭을 29번까지 마무리 지었다.
그렇다면 말이 윷 값이 나와서 배열로 움직이면 갈림길 지점에 있어도 지름길을 타지 못하고 배열의 순서대로만 이동된다는 점이다.
그래서 단순하면서도 무식한 방식으로 이 갈림길로 이동할 수 있도록 설정했다.
if (currentWaypointIndex == 5)
{
if ((steps == 1 || steps == 2 || steps == 3 || steps == 4 || steps == 5))
{
currentWaypointIndex = 19 + steps;
}
else if (steps == -1)
{
currentWaypointIndex += steps;
}
}
else if (currentWaypointIndex == 1 && steps == -1)
{
currentWaypointIndex = 29;
}
else if (currentWaypointIndex == 10)
{
if ((steps == 1 || steps == 2))
{
currentWaypointIndex = 24 + steps;
}
else if (steps == 3)
{
currentWaypointIndex = 19 + steps;
}
else if (steps == 4 || (steps == 5))
{
currentWaypointIndex = 23 + steps;
}
else if (steps == -1)
{
currentWaypointIndex += steps;
}
}
else if(currentWaypointIndex == 15 )
{
if(steps ==1 || steps ==2 || steps == 3 || steps == 4)
{
currentWaypointIndex = 15 + steps;
}
if(steps == 5)
{
currentWaypointIndex = 29;
}
else if(steps == -1)
{
currentWaypointIndex += steps;
}
}
else if(currentWaypointIndex == 16 && (steps == 4 || steps ==5 ))
{
currentWaypointIndex = 25 + steps ;
}
else if(currentWaypointIndex == 17 && (steps == 3 || steps == 4 || steps == 5))
{
currentWaypointIndex = 26 + steps;
}
else if (currentWaypointIndex == 18 && (steps == 2 || steps == 3 || steps == 4 || steps == 5))
{
currentWaypointIndex = 27 + steps;
}
else if (currentWaypointIndex == 19 && (steps == 1||steps == 2 || steps == 3 || steps == 4 || steps == 5))
{
currentWaypointIndex = 28 + steps;
}
else if(currentWaypointIndex == 20)
{
if (steps == -1)
{
currentWaypointIndex = 5;
}
else if(steps == 5)
{
currentWaypointIndex = 15;
}
else
{
currentWaypointIndex += steps;
}
}
else if(currentWaypointIndex == 21 && (steps == 4 || steps ==5))
{
currentWaypointIndex = 12 + steps -1;
}
else if (currentWaypointIndex == 22)
{
if(steps == -1)
{
currentWaypointIndex = 21;
}
else if(steps == 1 || steps == 2 || steps == 3 || steps == 4 || steps == 5)
{
currentWaypointIndex = 27 + steps - 1;
}
}
else if(currentWaypointIndex == 23 && ( steps ==2 || steps == 3 || steps == 4 ||steps == 5))
{
currentWaypointIndex = 14 + steps -1;
}
else if(currentWaypointIndex == 24 && (steps == 1 || steps == 2 || steps == 3 || steps == 4 || steps == 5))
{
currentWaypointIndex =15 + steps -1;
}
else if ( currentWaypointIndex == 24)
{
currentWaypointIndex = 15 + steps - 1;
}
else if(currentWaypointIndex == 25)
{
if(steps ==1)
{
currentWaypointIndex += steps;
}
else if(steps == 2)
{
currentWaypointIndex = 20 + steps;
}
else if (steps == 3 || steps ==4 || steps == 5)
{
currentWaypointIndex = 24 + steps;
}
else if(steps == -1)
{
currentWaypointIndex = 10;
}
}
else if (currentWaypointIndex == 26)
{
if (steps == 1)
{
currentWaypointIndex = 21 + steps;
}
else if (steps == 2 || steps == 3 || steps == 4 || steps == 5)
{
currentWaypointIndex = 25 + steps;
}
}
else if (currentWaypointIndex == 27 && steps == -1)
{
currentWaypointIndex = 22;
}
else if (currentWaypointIndex == 29 && steps == -1)
{
currentWaypointIndex = 19;
}
else
{
// 갈림길을 지나지 않는 경우에만 steps를 더해줍니다.
currentWaypointIndex += steps;
}
말들을 움직이는 함수 중 블럭마다의 이동 판단을 보여주는 조건문이다 . 노가다로 작성한거지만 블럭 마다의 위치 현재 위치를 계속 확인하면서 윷을 던져 값이 나왔을대 그 값만큼 이동이 가능해진다.
이것만이 정답은 아니고 다른 방법으로도 더 짧고 간결하게 할 수 있겠지만 생각이 안나서 이렇게 했다.
이 코드를 적용해서 인게임에서 확인해보았다.
윷을 던져 개라는 값이 나왔다.
이렇게 빨갛게 표시되는 곳이 이동할 수 있는 블럭이다. 위와 같은 코드 작성으로 인해 원래 같으면 바깥쪽으로 2칸만큼 표시되어야 할 블럭이 지름길에 있는 표시로 2칸이동 표시가 된 것이다.
이 함수는 윷이 나온 값의 배열블럭 위치에 빨간색 표시를 해주는 함수로써, 위와 같은 배열 위치별 조건문을 달아 이동함수와 표시함수를 나타낼 수 있다.
'유니티' 카테고리의 다른 글
[유니티 윷놀이] 말 잡기와 업기 (0) | 2024.02.23 |
---|---|
유니티 에셋 (0) | 2024.02.23 |
[유니티 윷놀이] 윷 놀이 말 설정 (0) | 2024.02.23 |
[유니티 윷놀이] 턴제 (0) | 2024.02.23 |
[유니티 윷놀이] 윷놀이 판 배열 설정 (0) | 2024.02.23 |