|Date Added:||6 May 2005|
|File Size:||14.54 Mb|
|Operating Systems:||Windows NT/2000/XP/2003/2003/7/8/10 MacOS 10/X|
|Price:||Free* [*Free Regsitration Required]|
Java Programing: Solution to Programming Exercise
The new issue gomo,u that now this program detects wins gomok else except when connected to row 18 and column The changes you suggested have definitely put me in the right direction. My winner method just calls this method for each of the four directions:. The values of these variables for each of the four directions are:.
The problem is that my program only detects the wins when the player starts from the outer most row and column on the board. The current player is recorded in an instance variable named currentPlayer. This method contains the code given in the exercise.
Robert Robert 57 1 1 gold badge 4 4 silver badges 14 14 bronze badges. It returns the number of pieces found.
The value in each position of the array is one of three constants: If so, the move is made. This code counts the number of pieces that the user has in a row in a specified direction. Rows work the same way. The hardest part of the program is checking whether the move that a player makes is a winning move.
I do this, rather than call repaintto avoid the flicker that would be visible if the entire board were repainted. Here is my code: Here is my applet. Players take turns placing pieces on a board.
Subscribe to RSS
Sorry it has taken me so long to get back to you. Could these if else statements work in a while loop or is the do while loop necessary? Since I wanted something about the same size as the original checkerboard, I choose x to be 12, giving a board width of I wrote a method ” int count int player, int row, int col, int dirX, int dirY that counts the gooku of pieces the specified player has in a row, starting from the square in row number row and column number col and looking in the direction indicated by dirX and dirY.
If the number is five or more iava any direction, then that player wins.
The dimension of the board is set in the main applet class. The method must look in each of the four possible directions from the square where the user has placed a piece.
This ensures that the value of this variable will be -1 whenever the game is not gonoku won. And there is a 2-pixel border on each side, for another 4 pixels added to the width.
It’s possible for a player to get more than 5 pieces in a row, if the player plays a piece in an empty square that joins two shorter rows of pieces together. These require another 12 pixels. The logic of the GoMoku game itself is mostly in the method ” void doClickSquare int row, int col “, which is called by the mousePressed method when the user clicks on the square in row number row and column number col.
I added some code to the winner and count methods to set the values of these variables properly.