나는 지뢰 찾기 게임을 디자인하고 있는데, 보드 열림 방법에 대한 알고리즘을 찾을 수 없습니다. Minesweeper를 사용한 적이 있다면, 처음 클릭하면 타일이 많이 표시됩니다. 그 뒤에있는 알고리즘은 무엇입니까?지뢰 찾기 보드 "열림"
답변
flood-fill과 유사하지만 주변 폭탄이없는 셀 ("0"또는 값 없음)과 주변 셀에만 해당됩니다.
일부 의사 코드 :이가 '정상'홍수 채우기 알고리즘 다른 방법
floodFill(cell)
if !cell.isOpen
cell.open()
if cell.hasNeighbouringBombs
for each neighbour n of cell
floodFill(n)
참고 :
floodFill(cell)
if cell.hasNeighbouringBombs && !cell.isOpen
cell.open()
for each neighbour n of cell
floodFill(n)
의 차이에 대한 이유는 예에서 볼 수 있습니다. 을 감안할 때 : 따라서 우리는 우리가 현재 셀을 연 후에 만 hasNeighbouringBombs
을 확인해야합니다,
1 1 2
2 0 3
1 2 3
정상적인 일 만 0
채울 것이다, 그러나 우리는 위의 모든 채우려. 이 위의 알고리즘의 처리 될 것 - 0이 아닌 값 셀에 클릭을 시작하면, 다른 세포는 (적어도 게임의 대부분의 버전에) 개방되지 않도록
참고.
그리고 광산을 클릭하기 시작하면 광산이 다른 위치로 이동하므로 처음 클릭 할 때 죽지 않습니다. – Teepeemm
@Teepeemm 게임에 따라 시작하려면 광산을 클릭하게되어 기쁘게 생각합니다. 그러나 첫 번째 클릭을 기반으로 게임을 생성하는 것이 더 나은 아이디어처럼 보입니다 (그러나 분명히 더 복잡합니다). – Dukeling
@Dukeling''오픈 '이란 무엇을 의미하는지 잘 모르겠다. psuedocode에서'open'의 다른 용도에 대해 자세히 설명해 주시겠습니까? – LazySloth13
Flood fill 중 하나 일 수 있습니다.
- 1. 지뢰 찾기 문제
- 2. 지뢰 찾기 해시
- 3. 지뢰 찾기 알고리즘
- 4. 지뢰 찾기 코드 오류
- 5. 지뢰 찾기 번호 자바
- 6. VB.NET 지뢰 찾기 문제
- 7. uva 10189 지뢰 찾기
- 8. 지뢰 찾기 전용 케이스
- 9. 2D Char 배열 지뢰 찾기 게임 루프
- 10. 지뢰 찾기 UI 컨트롤 만들기?
- 11. 재귀 지뢰 찾기 "0- 채우기"
- 12. 캐스케이드 공개를위한 지뢰 찾기 재귀
- 13. vb.net : 지뢰 찾기 이벤트를 클릭하십시오.
- 14. 지뢰 찾기 JavaFX에서 오른쪽 클릭
- 15. 지뢰 찾기 루비 감지기 배열 색인 밖으로
- 16. 간단한 지뢰 찾기 게임을 파이썬으로 만들려고 시도합니다.
- 17. 지뢰 찾기 GUI 게임에 깃발 깃발 넣기
- 18. 직렬화를 사용하여 게임 (지뢰 찾기) 진행 진행
- 19. 자바 프로그래밍 - 지뢰 찾기 게임을위한 루프에 중첩
- 20. 지뢰 찾기 인접 격자 지의 개수가 증가합니다
- 21. x와 y 위치. 지뢰 찾기 스타일
- 22. 지뢰 찾기 클론에서 스택 오버플로 방지
- 23. 지뢰 찾기 게임의 모든 공간을 공개합니다.
- 24. 지뢰 찾기의 알고리즘 솔루션
- 25. 큰 열림 목록을 사용한 * 길 찾기 작업
- 26. Java 지뢰 찾기 게임 문제입니다. 게임 시작시 광산을 숨기고 있습니까?
- 27. 지뢰 찾기 게임 저장하기 직렬화를 사용하여 컴퓨터 과학 수업을 위해
- 28. 폭탄을 표시하기 위해 setIcon()을 오른쪽 클릭하십시오 - 지뢰 찾기
- 29. 벡터 배열을 사용하여 C++에서 지뢰 찾기 만들기
- 30. 지뢰 찾기 유형 격자를 나타내는 다차원 배열 만들기 및 채우기
그냥 좋은 '회귀. 사용자가 square (x, y)를 클릭합니까? 'show (x, y)'. 함수 내에서 사각형을 보여줍니다. * 사각형이 비어 있으면 *,'show (x-1, y)','show (x + 1, y)','show (x, y-1))'와'show (x, y + 1)'를 사용한다. (대각선도 가능 합니다만, 지금은 기억이 안납니다.) –
영원한 루프에주의하십시오. – ChronoTrigger