Tôi đang tạo ra một trò chơi tương tự như Tetris, với hai điểm khác biệt chính: màn hình đã bắt đầu được lấp đầy bằng các ô (như trong Puzzle Quest cho Nintendo DS và PC) và mỗi ô riêng lẻ có một chữ cái trong đó. Mục tiêu của người chơi là loại bỏ các ô bằng cách tạo thành các từ hợp lệ với chúng. Các từ được hình thành bằng cách đặt các chữ cái cạnh nhau, theo bất kỳ hướng nào, ngoại trừ theo đường chéo.
Người chơi có thể di chuyển toàn bộ một hàng gạch sang trái hoặc sang phải hoặc toàn bộ một cột gạch lên hoặc xuống, trong bao nhiêu khoảng trống mà anh ta muốn (nếu chuyển động của một hàng / cột vượt quá giới hạn của bảng, chữ cái vượt quá giới hạn sẽ "chu kỳ", xuất hiện ở đầu kia của hàng / cột). Sau hành động của người chơi, trò chơi nên kiểm tra toàn bộ bảng để tìm các từ hợp lệ và xóa các chữ cái tạo thành các từ đó khỏi bảng. Các chữ cái phía trên những chữ cái đã bị xóa sẽ rơi xuống vị trí của những chữ cái đã bị xóa và các chữ cái mới sẽ rơi từ trên cùng của màn hình cho đến khi bảng được lấp đầy trở lại.
Tôi đã viết một thuật toán tuyến tính, đưa ra một chuỗi các ký tự, xác định xem đó có phải là một từ tiếng Anh hợp lệ hay không. Vấn đề tôi đang gặp phải là: làm thế nào tôi có thể kiểm tra các từ hợp lệ trên bảng? Là vũ phu là cách duy nhất? Kiểm tra tất cả các kết hợp có thể từ bảng để xem chúng có hợp lệ hay không là rất chậm, ngay cả đối với một bảng nhỏ (5x5). Bất kỳ trợ giúp sẽ được đánh giá rất cao, cảm ơn!