Nearly two weeks of pairing programming are coming to an end. Here we will release our game rollingchecker, introduce it, and write some feelings about this project.
Rollingchecker, is a 3D checkers, address here: http://home.ustc.edu.cn /~ Tdwjl/
Help documentation can be downloaded here: http://home.ustc.edu.cn /~ Tdwjl/rollingcheckerker
At the very beginning, we were not very clear about the rules of checkers. I believe many people do not know about them. I would like to introduce them here. Checkers is a very simple chess game. In less than five minutes, we can understand its rules:
The game is playing with a two-color checker, but in fact it only uses half of the checker. The two sides are on one side of the board, and the first two or three rows (more can also be) of the dark lattice are filled with the chess pieces.
Both parties walk in turn. A piece that is not king can only take a grid in the upper left or upper right corner. When eating, the enemy's pawns must be in the upper left or upper right corner of the top left corner of the opponent's pawns, and the upper left or upper right corner of the enemy's pawns must have no pawns. When the final line of a piece is stopped, it becomes "King" and can be moved backward later.
If a piece can play chess, it must. Chess pieces can be eaten together. That is to say, if a chess piece has eaten an enemy's chess piece, if it has a new position, it can also eat another enemy's chess piece, it must eat again until it cannot eat again.
Winning or losing criteria: if a player cannot walk or all the chess pieces are eaten, the loss is counted.
You can try it on rollingchecker first. There are prompts at the top of each step of the game interface. In practice, it is easy to understand what the above rules are.
What are the highlights of rollingchecker? The following is a summary:
1. freely select the size and number of chess pieces
As mentioned above, the size of the Board that is popular in different countries in the world is different. To overcome this restriction, you can choose the rollingchecker and the number of chess pieces.
2. 3D view, rotating the Board
For rollingcheker. This is a cylindrical board. The biggest difference from the traditional 2D board is that the edge of the board is connected. Even so, the game rules have not changed, so it is easy to learn.
3. Save the Board function.
In many chess games, it may take a very long time to play a game. This requires you to save the Board while resting in the middle. rollingchecker adds this function to play a game, click the save key to save the current game board and load it later.
If you find any bugs or have any comments during the playing process, please leave a message below. Thank you!
The entire game system consists of two parts: one part is the UI of a 3D game made using Silverlight, which includes the design, storage, and play of the board and pawns, regret and other functions. In order to be simple and easy to play, and not to undermine the rules of the original checkers, we use a cylindrical board. If this board is expanded, it is a square board, just connecting the two sides. The other part is the processing of the underlying checkers rules, including determining whether jump is required and whether jump can be performed continuously. This part is the same as that of the traditional checkers program. The separation of the checkers interface and the checkers algorithm makes debugging easier and more functions can be developed in the future.
We have learned a lot in the process of doing this project. At the beginning, we didn't even know what Pair programming was. It was just the course of Zou Xin, at first, I was skeptical about this new programming method, because most of the previous work was done independently. Even if it is cooperation, it is also a division of labor.
The advantage of Pair programming is that it allows two people to have a full understanding of their own systems. In the past, the division of labor and cooperation model was easy to show that they did not know what the other party did, in the Pair programming mode, we can better avoid this situation. In the case of Pair programming, two people can form a unified programming specification to better complete the system.
In the past, I felt that the efficiency of Pair programming was not high, because only one person could be coding. Later I found that this was not the case. When two people are together, one person knocks on the code, the other person can detect errors in time, and can discuss any problems together. In fact, the efficiency is higher. When two people work together, they can devote more energy to each other and learn a lot from each other. In short, through this pair programming, I feel a lot of benefits.
Thank you, Mr. Zou Xin, for providing us with this opportunity.
No picture, no truth:
By Hao Fu and jialei Wang