Đưa ra một tập hợp các ô trên lưới, tôi muốn xác định:
- Nếu gạch tạo thành một hình kèm theo
- Nếu các ô tạo thành một hình kèm theo khi bạn đếm các cạnh của bảng là một cạnh của hình
- Nếu một trong hai câu lệnh trước là đúng, thì các ô bổ sung nằm trong hình được đính kèm, mẫu gạch ban đầu.
Người chơi sẽ bắt đầu bằng cách nhấn xuống một ô, sau đó kéo ngón tay của họ sang các ô khác để tạo ra một chuỗi các ô cùng màu. Tôi sẽ kiểm tra khi tôi đi xem gạch tiếp theo có hợp lệ không. Ví dụ. Nếu người chơi bắt đầu trên một ô màu đỏ, bước di chuyển hợp lệ tiếp theo của họ là một ô màu đỏ liền kề (các đường chéo sẽ được tính). Khi người dùng nhấc ngón tay lên, tôi cần có thể kiểm tra 3 mục trên.
Vì vậy, suy nghĩ ban đầu của tôi là, vì tôi đã kiểm tra tính hợp lệ của chuỗi mỗi lần tôi đi, khi người chơi nhấc ngón tay lên, tôi có thể kiểm tra xem các ô đầu tiên và cuối cùng có liền kề hay không. (Tôi đã biết chúng có cùng màu.) Nếu chúng liền kề tôi có linh cảm tôi đã tạo ra một hình người kèm theo, và tôi sẽ đến đây để thử xem tôi có thiếu thứ gì lớn không, và để có được một số loại bằng chứng logic / toán học cho thấy linh cảm của tôi là đúng (hoặc một ví dụ chứng minh nó không chính xác.)
Nhưng đó là khi tôi nghĩ đến mục số 2: Tôi cũng phải tính đến các chuỗi sử dụng một cạnh của bảng như một mặt của hình kèm theo. Trong trường hợp đó, các mục đầu tiên và cuối cùng trong chuỗi sẽ không liền kề, nhưng tôi vẫn sẽ có một hình kèm theo. Vì vậy, bây giờ tôi trở lại một hình vuông, một chút.
Tôi có thể làm gì với chuỗi tọa độ lưới này để tìm hiểu xem chúng có tạo hình kín hay không? Và khi tôi làm biết tôi có một nhân vật kín, cách tốt nhất để có được một danh sách bổ sung của tất cả các gạch rơi bên trong giới hạn của nó là gì?
Ở trên tôi đã vẽ những bức tranh về những gì tôi mong đợi 4 kết quả có thể có của bài kiểm tra này.
Chuỗi không tạo ra một con số kèm theo.
Chuỗi này làm cho một con số kèm theo.
Nếu bạn tính các cạnh của bảng là một cạnh (hoặc nhiều hơn một cạnh) của hình, chuỗi sẽ tạo ra một hình kèm theo.
Chuỗi thực hiện một hình kèm theo, nhưng có các điểm dữ liệu bổ sung (được người dùng chọn hợp lệ là một phần của chuỗi) không phải là một phần của hình được tạo.
Trường hợp 4 là khó nhất, bởi vì bạn phải trích xuất các liên kết chuỗi "phụ" để tìm hình được đính kèm và các mảnh nằm bên trong nó (nhưng không phải xung quanh khu vực "không bị che khuất").
Vậy ... có ai có ý tưởng về một cách tốt để giải quyết vấn đề này không, hay chỉ là điểm khởi đầu cho tôi? Lúc này tôi đang đi theo vòng tròn và có thể sử dụng một đôi mắt khác.