Trang Chủ Tài chính Cá nhân Java Programming Challenge: Thêm lớp vào chương trình Tic-Tac-Toe đơn giản

Java Programming Challenge: Thêm lớp vào chương trình Tic-Tac-Toe đơn giản

Video: How to learn to code (quickly and easily!) 2025

Video: How to learn to code (quickly and easily!) 2025
Anonim

Trong thử thách này, bạn cải tiến trò chơi Tic-Tac-Toe bằng cách thêm một lớp lập trình Java, cho phép chương trình thực hiện một nỗ lực thô sơ hướng tới chiến lược khi xác định máy tính di chuyển.

Trong Java Programming Challenge: Trò chơi Tic-Tac-Toe đơn giản bạn sẽ được yêu cầu viết một chương trình để chơi trò chơi đơn giản của Tic-Tac-Toe. Trong thử thách này, bạn sửa đổi mã nguồn cho giải pháp trước của bạn để giúp máy tính chiến thuật.

Mặc dù các quy tắc của trò chơi là rất đơn giản, việc tạo ra một chương trình máy tính có thể chơi các trò chơi có thể phức tạp. Một số chi tiết phức tạp có thể cần được đưa vào chương trình. Cụ thể:

  • Chương trình phải có một cách để nội bộ thể hiện tình trạng của mỗi trong chín ô vuông tạo nên bảng Tic-Tac-Toe.

  • Chương trình phải cung cấp cách để đăng ký di chuyển cho một trong hai cầu thủ và phải đảm bảo rằng mỗi động thái là hợp lệ (ví dụ: một người chơi không được chơi trong một hình vuông đã được chiếm bởi một X hoặc O.

  • Chương trình phải có khả năng xác định khi nào người chơi đã giành chiến thắng bằng cách nhìn vào tất cả tám kết hợp ba trong một hàng: Ba hàng, ba cột, và hai đường chéo.

  • Chương trình cũng phải có khả năng xác định khi trò chơi là một trận hòa - tức là khi tất cả 9 ô vuông đã được chơi và không ai thắng cả.

Đồng thời, chương trình phải quản lý các chi tiết tương tác với người dùng bằng cách yêu cầu người dùng nhập vào di chuyển của mình, thông báo chơi trên máy tính, hiển thị bản cập nhật của bảng sau mỗi lần chơi, và tuyên bố người chiến thắng hoặc thông báo rút thăm khi trận đấu kết thúc

Trong thử thách này, bạn sẽ được yêu cầu tách hai yếu tố này trong chương trình Tic-Tac-Toe: phần của e quản lý tình trạng và tiến độ của trò chơi và một phần của chương trình để xử lý sự tương tác với người dùng. Bạn sẽ làm điều đó bằng cách tạo ra một lớp có tên là TicTacToeBoard cung cấp các phương pháp có thể được gọi để chơi một trò chơi hoàn chỉnh. Sau đó, bạn được yêu cầu viết một chương trình sử dụng lớp TicTacToeBoard để cho phép một đối thủ của con người chơi trò chơi Tic-Tac-Toe chống lại máy tính.

Theo quan điểm của người dùng, chương trình này sẽ hoạt động giống hệt với chương trình được tạo ra để giải quyết các cuộc thách thức trò chơi Tic-Tac-Toe đơn giản, với một sự khác biệt: Đối với phiên bản này của trò chơi, chương trình làm cho một nỗ lực thô sơ hướng tới chiến lược khi xác định các động thái của máy tính.Máy tính không chơi hoàn hảo, vì vậy nó vẫn dễ dàng đánh bại được. Nhưng nó thực hiện một số nỗ lực không chỉ đơn giản là chơi trong các hình vuông trống đầu tiên nó nhìn thấy.

Bảng dưới đây liệt kê các phương pháp mà lớp TicTacToeBoard nên thực hiện. Hãy nhớ rằng, bạn sẽ cần phải tạo ra hai. java để giải quyết thách thức này. Việc đầu tiên, TicTacToeBoard. java, thực hiện lớp TicTacToeBoard. Thứ hai, được đặt tên chỉ đơn giản là TicTacToe. java, là chương trình người dùng sẽ chạy để chơi một trò chơi của Tic-Tac-Toe chống lại máy tính.

TicTacToeBoard Class
Constructor Mô tả
TicTacToeBoard Tạo một TicTacToeBoard mới với tất cả các ô vuông trống.
Phương pháp Mô tả
void reset () Đặt lại trạng thái của mỗi ô vuông để trống.
int getSquare (String square) Trả về trạng thái của hình vuông được xác định bởi hình vuông, nó phải là một trong các dây A1, A2, A3, B1, B2, B3, C1, C2 hoặc C3. Trả về 0 nếu hình vuông trống, 1 nếu nó có chứa một X, và 2 nếu nó chứa một chữ O. Hủy IllegalArgumentException nếu hình vuông không phải là một trong các giá trị cho phép.
void playAt (String square, int player) Đánh dấu ô xác định (A1, A2, A3, B1, B2, B3, C1, C2, C3) cho người chơi đã chỉ định (1 cho X, 2 O). Ném IllegalArgumentException nếu hình vuông không phải là một trong các giá trị cho phép, người chơi không phải là 1 hoặc 2, hoặc hình vuông được chỉ định không rỗng.
int isGameOver () Xác định xem trận đấu đã kết thúc hay không. Trả về 0 nếu trận đấu kết thúc, 1 nếu X đã thắng, 2 nếu O thắng, và 3 nếu trận đấu là hòa. Các điều kiện kết thúc trò chơi như sau:

1: Nếu bất kỳ hàng, cột hoặc đường chéo nào chứa tất cả các X.

2: Nếu bất kỳ hàng, cột hoặc đường chéo nào chứa tất cả Os.

3: Nếu không có ô vuông trống và X cũng không phải O đã thắng.

int getNextMove () Trả về một số nguyên đại diện cho bước di chuyển kế tiếp cho đối thủ của máy tính. Phương pháp này nên thực hiện một nỗ lực thô sơ để chọn một động thái tốt, theo chiến lược sau:

* Nếu trung tâm (hình vuông B2) trống, hãy chơi hình vuông trung tâm.

* Nếu trung tâm không rỗng nhưng bất kỳ góc nào trong bốn góc (ô vuông A1, A3, C1, hoặc C3) đều trống rỗng, hãy chơi một trong các góc (không quan trọng).

* Nếu trung tâm không rỗng và không có góc nào, hãy chơi một trong các cạnh (hình vuông A2, B1, B3, hoặc C2).

Chuỗi toString () Trả về một chuỗi đại diện cho hiện trạng của bảng. Chuỗi bao gồm các ký tự dòng mới để hiển thị hàng, cũng như các dòng phân cách trên các dòng điều khiển riêng, như trong ví dụ này:

O | | O

- | - | -

| X |

- | - | -

| X |

Nếu bạn gặp rắc rối, bạn có thể tìm thấy giải pháp trên tab Tải xuống của Tất cả trong một dành cho người khổng lồ, trang sản phẩm Phiên bản 4.

Chúc may mắn!

Java Programming Challenge: Thêm lớp vào chương trình Tic-Tac-Toe đơn giản

Lựa chọn của người biên tập

Cách lọc một nguồn dữ liệu kết hợp trong Word 2013 - núm vú

Cách lọc một nguồn dữ liệu kết hợp trong Word 2013 - núm vú

Trong tài liệu Word 2013, lọc một nguồn dữ liệu loại trừ các bản ghi nhất định (hoặc xem một cách khác, nó chỉ bao gồm một số bản ghi) dựa trên một hoặc nhiều tiêu chí mà bạn chỉ định. Ví dụ: bạn có thể muốn chỉ bao gồm các địa chỉ từ một thành phố hoặc tiểu bang nhất định, hoặc chỉ những địa chỉ phù hợp với địa chỉ ...

Cách Tìm Stuff bạn không thể gõ trong Word 2007 - núm vú

Cách Tìm Stuff bạn không thể gõ trong Word 2007 - núm vú

Word 2007 giúp tìm các ký tự đặc biệt, không in được trong tài liệu của bạn. Sử dụng hộp thoại Tìm và Thay thế, bạn có thể tìm kiếm những thứ như tab, dấu phân cách, dấu thập phân, khoảng trống và những thứ khác mà bạn không thể tạo ra từ bàn phím. Gọi hộp thoại Tìm và Thay thế. Nếu cần thiết, hãy nhấp vào nút Thêm để ...

Cách Tìm Định dạng trong Word 2007 - núm vú

Cách Tìm Định dạng trong Word 2007 - núm vú

Bạn có thể sử dụng lệnh Tìm để đánh cắp tài liệu Word 2007 của bạn để định dạng thông tin. Ví dụ, nếu bạn chỉ muốn tìm những trường hợp của từ lie có chữ đậm, bạn có thể làm điều đó. Ví dụ này tìm kiếm trứng ngỗng văn bản với kích thước phông chữ là 24 điểm trong một ...

Lựa chọn của người biên tập

Làm thế nào để Thoả Nhận Hợp Đồng Máy chủ Web - núm vú

Làm thế nào để Thoả Nhận Hợp Đồng Máy chủ Web - núm vú

Trên thực tế, đa số của máy chủ web không hoàn lại tiền nếu bạn để lại trước khi thời hạn hợp đồng của bạn kết thúc. Trong thực tế, nếu bạn có một thỏa thuận giá rẻ trên hosting của bạn, nó có thể có các điều khoản và điều kiện yêu cầu bạn xem ra thời hạn của hợp đồng hoặc trả tiền cho đặc quyền ...

Cách quản lý tập tin với Control Panel của Website - núm vú

Cách quản lý tập tin với Control Panel của Website - núm vú

Bảng điều khiển của bạn cung cấp cho bạn một cách tiện dụng để quản lý các tệp của bạn mà không cần máy chủ FTP được lưu trữ trên web. Đây là một cái gì đó phổ biến cho hầu hết các bảng điều khiển nhưng đôi khi có nhãn khác nhau một chút. Ví dụ, hầu hết các máy chủ gọi nó là File Manager, nhưng DreamHost gọi nó là webFTP. Sử dụng Trình quản lý Tệp là

Cách Quản lý Người dùng với Quản lý Máy chủ Web - núm vú

Cách Quản lý Người dùng với Quản lý Máy chủ Web - núm vú

Cây thư mục riêng trên máy chủ nơi tập tin của nó được giữ. Là chủ sở hữu của máy chủ, bạn có quyền truy cập superuser cho toàn bộ máy chủ, có nghĩa là bạn có thể xem tất cả các tệp tin của chủ tài khoản khác. Tất cả các tập tin tài khoản được lưu giữ trong các thư mục bên trong một thư mục gọi là home, ...

Lựa chọn của người biên tập

Tạo một Cột trang web mới trong SharePoint 2010 - núm vú

Tạo một Cột trang web mới trong SharePoint 2010 - núm vú

SharePoint 2010 có một thực thể cột trang web cho phép bạn để sử dụng lại các cột trên nhiều danh sách. Khi bạn tạo một cột mới trong danh sách của mình, bạn tạo ra một cột danh sách - có nghĩa cột chỉ có thể được sử dụng trong danh sách đó. Các cột của trang web được tạo ở cấp cao nhất của trang web nhóm của bạn và có thể ...

Tạo Tuỳ chỉnh Chủ đề cho SharePoint 2010 Sử dụng PowerPoint - núm vú

Tạo Tuỳ chỉnh Chủ đề cho SharePoint 2010 Sử dụng PowerPoint - núm vú

Cho nhiều nhà thiết kế trang web và chủ sở hữu SharePoint 2010 , ý tưởng để có thể tùy chỉnh chủ đề của họ là rất thú vị. Mặt khác, nhiệm vụ chọn nhiều màu có thể có vẻ khó chịu với những người biết họ thích gì khi họ nhìn thấy nó nhưng gặp sự cố khi lựa chọn. Nếu bạn ở trong ...

Tạo trang web mới trong SharePoint 2010 - núm vú

Tạo trang web mới trong SharePoint 2010 - núm vú

Bạn có thể tạo một bộ sưu tập trang web mới trong SharePoint theo hai cách - bằng cách sử dụng Quản trị Trung tâm hoặc thông qua Tạo trang web Tự phục vụ. Sử dụng Quản trị Trung tâm đòi hỏi các quyền được cấp phép, thường là hạn chế đối với nhân viên CNTT. Tạo trang web tự tạo là một tính năng của SharePoint cho phép CNTT trao quyền cho việc tạo bộ sưu tập trang web mới ...