Tôi là một người không thích. Tôi đã quyết định viết một solitaire solitaire solver như là một bài tập đầu tiên để tìm hiểu ngôn ngữ và lập trình chức năng nói chung.Lặp lại một Danh sách ở Scala
Tôi muốn tạo một bộ bài xáo trộn ngẫu nhiên các thẻ chứa 1, 2 hoặc 4 bộ quần áo. Dưới đây là những gì tôi đã đưa ra:
val numberOfSuits = 1
(List("clubs", "diamonds", "hearts", "spades").take(numberOfSuits) * 4).take(4)
mà nên trở
List("clubs", "clubs", "clubs", "clubs")
List("clubs", "diamonds", "clubs", "diamonds")
List("clubs", "diamonds", "hearts", "spades")
tùy thuộc vào giá trị của numberOfSuits, ngoại trừ không có List "nhân" hoạt động mà tôi có thể tìm thấy. Tôi đã bỏ lỡ nó? Có cách nào tốt hơn để tạo boong hoàn chỉnh trước khi xáo trộn không?
BTW, tôi dự định sử dụng Bộ đếm cho phù hợp, nhưng sẽ dễ dàng hơn khi nhập câu hỏi của tôi bằng chuỗi. Tôi sẽ lấy Danh sách tạo ra ở trên và sử dụng một cho hiểu, lặp lại trên các bộ quần áo và một danh sách tương tự của thẻ "xếp hạng" để tạo ra một sàn hoàn chỉnh.
Phần thú vị của dự án này sẽ tạo ra các thế hệ bất chính của phong cảnh (bố cục hiện tại của thẻ). Tôi yêu cầu báo cáo hiện tại cho một danh sách các hành động pháp lý, được trả về dưới dạng bộ dữ liệu (cột nguồn, cột đích và vị trí nguồn). Sau đó tôi áp dụng từng tableau hiện tại theo kiểu đệ quy bằng cách sử dụng một số thuật toán mini-max để tìm di chuyển "tốt nhất".Tôi cũng muốn các đối tượng thẻ là bất biến, vì vậy các tableaus ("tableaux") sẽ phải biết nếu một thẻ đang đối mặt. – Ralph