本次实验中,你将用 Qt
开发一款“不围棋联机对战游戏”。
-
task/
目录下准备了实验要求和评分标准等。 -
guidance/
目录下准备了Git, Qt, Markdown, 不围棋等你可能用得到的教程,和其他说明,你可以随着task
中每一阶段的建议,慢慢读完这些 guidance。 -
network/
目录下是本实验要用到的二次封装的Qt
网络库。 -
submission/
是你们的实验报告提交目录。
2023 **人民大学 程序设计Ⅱ荣誉课程 大作业:不围棋
Home Page: http://nogo.panjd.net
In the explanation of the rule,
如果一方落子后吃掉了对方的棋子,则落子一方判负(顾名不围棋)
对弈禁止自杀,落子自杀一方判负
注意:不可能平手,无处落子时只能认输或者自杀
There is an ambiguity on suiciding. According to the second sentence, it means to put a stone to be captured, then the last sentence should be modified to "无处落子时只能认输、自杀或吃掉对方的棋子".
In the current protocol used by TuringNoGo, the repeated READY_OP
operation is used for confirmation. However, the Role
field for the repeated READY_OP
is currently marked as optional in the protocol specification. This optional designation may cause confusion for the client, as it may interpret the repeated READY_OP
as an application rather than a confirmation.
To improve clarity and prevent misinterpretation, it is recommended to update the protocol specification to clearly indicate that the Role
field should be left empty when sending a repeated READY_OP
for confirmation.
This clarification will prevent confusion on the client's side and ensure that the repeated READY_OP
is correctly understood as a confirmation, even in cases where the initial READY_OP
was lost or ignored.
This protocol change is expected to have minimal impact and should not cause significant changes or difficulties for most clients. Many existing clients already follow the practice of leaving the Role field empty when repeating READY_OP
for confirmation purposes, even though it is not explicitly specified in the current protocol. By formally incorporating this behavior into the protocol specification, we aim to enhance the robustness and reliability of TuringNoGo and standardize the practice across all clients and provide clear guidance for future implementations.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.