Triển khai mẫu quan sát


7

Để dạy bản thân lập trình trò chơi cơ bản, tôi sẽ lập trình một bản sao của Pông. Tôi sẽ sử dụng mẫu thiết kế Observer, với giao diện giữa đầu vào và công cụ trò chơi. Tuy nhiên, tôi không chắc giao diện nên làm gì. Một ý tưởng tôi có là giao diện đầu vào nói với công cụ trò chơi rằng (ví dụ) màn hình đã được nhấp, sau đó để cho công cụ trò chơi quyết định làm gì với thông tin đó (ví dụ như bắn một viên đạn). Một ý tưởng khác mà tôi có là về giao diện nhập liệu, đã bắt được nhấp chuột, để nói với công cụ trò chơi bắn một viên đạn.

Phương pháp nào sẽ tốt hơn cho tôi để sử dụng?


+1 Bạn không thể chọn một nơi tốt hơn để bắt đầu
John McDonald

2
Đạn trong tiếng Pông có vẻ thú vị.
MichaelHouse

1
Trong tương lai tôi khuyên bạn nên thêm (các) ngôn ngữ triển khai vào thẻ của mình vì kiến ​​trúc có thể bị ảnh hưởng và ví dụ đưa ra có thể được điều chỉnh theo nhu cầu của bạn, cộng với nhận xét về việc lập trình viên có kinh nghiệm trong ngôn ngữ đó sẽ giúp người trả lời nói chuyện với bạn ở mức phù hợp .
Patrick Hughes

Câu trả lời:


7

Phương pháp đầu tiên là triển khai mẫu quan sát viên, phương pháp thứ hai thì không. Đối tượng quan sát (giao diện đầu vào của bạn) không cần biết đối tượng quan sát (công cụ trò chơi của bạn) sẽ làm gì với thông báo, chỉ có điều nó muốn được thông báo.

Tuy nhiên, tôi không chắc tại sao bạn lại quyết định sử dụng mẫu quan sát viên ở đây. Trừ khi bạn sẽ có nhiều người quan sát, có vẻ như đó là một biến chứng có thể tránh được. Nếu nhấp luôn làm điều tương tự, thì chỉ cần có giao diện báo cho công cụ trò chơi thực hiện điều đó. Giữ mọi thứ đơn giản nhất có thể giúp bạn dễ dàng hơn. Điều này không có nghĩa là không bao giờ sử dụng các mẫu thiết kế, nhưng nhìn chung bạn tiếp cận ứng dụng của họ theo hướng ngược lại với những gì bạn đang làm. IE: bắt đầu với vấn đề và chọn mẫu thiết kế để giải quyết nó, thay vì bắt đầu với mẫu thiết kế và tìm ra cách giải quyết vấn đề của bạn với nó.


2
Sử dụng các ý tưởng mới như Người quan sát trong các dự án đơn giản là một cách tốt để tìm hiểu các mẫu; Vì việc học là kết quả mong muốn ở đây, không chỉ đơn giản là làm cho trò chơi Pông hoạt động, tôi nghĩ sẽ rất tốt nếu đưa ra câu trả lời để bao quát cả hai.
Patrick Hughes

Như anh ấy nói rằng anh ấy muốn học lập trình trò chơi cơ bản, không phải thiết kế các mẫu, tôi nghĩ chỉ dễ tập trung vào khía cạnh đó. Nếu bạn cố gắng học quá nhiều cùng một lúc, cuối cùng bạn sẽ học được rất ít. Cụ thể trong trường hợp này, trong đó mẫu có thể không thực sự hữu ích, học khi KHÔNG sử dụng mẫu thiết kế cũng có giá trị như ngược lại.
Chewy Gumball

Tôi đã dự đoán rằng sự phản đối với một bình luận ở câu hỏi chính để anh ta đưa một số thông tin về trình độ chuyên môn hiện tại vào các lĩnh vực khác, để tránh nhầm lẫn trong các câu hỏi trong tương lai. Dựa trên cách diễn đạt và vẻ bề ngoài của anh ấy đã đọc trước tôi không thể đồng ý với bạn 100%, nhưng có thể đồng ý đủ cho +1 vì dù sao đó cũng là một câu trả lời hữu ích =)
Patrick Hughes

2

Nếu bạn muốn gắn bó với mẫu Observer, thì đó phải là ý tưởng đầu tiên. Lập luận mạnh mẽ nhất mà tôi có thể nghĩ đến là giao diện đầu vào là một thành phần chung mà có lẽ bạn cũng sẽ muốn sử dụng lại trong các trò chơi khác. Vì vậy, thật hợp lý khi giữ nó miễn phí khỏi bất kỳ thông tin cụ thể nào của trò chơi, nếu không bạn sẽ không thể sử dụng nó trong bối cảnh khác. Nói chung, hãy suy nghĩ cẩn thận về trách nhiệm của các lớp học của bạn và cố gắng giữ cho chúng tập trung và giới hạn trong bối cảnh của lớp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.