Советы по преобразованию моего процедурного кода в объектно-ориентированную программуJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Советы по преобразованию моего процедурного кода в объектно-ориентированную программу

Сообщение Anonymous »

Я создавал игру Connect Four процедурным способом. Может ли кто-нибудь дать несколько рекомендаций, как мне преобразовать этот код в объектно-ориентированную программу? Я впервые попробую объектно-ориентированное программирование, поэтому буду признателен за любые советы/подсказки.
Я знаю, что мне нужно разделить код на разные классы, чтобы сделать его ООП, поэтому Я думал о создании доски | и Основной класс. Будет ли этого достаточно, или мне следует подумать о других классах?
Я читал об интерфейсах и также подумывал об использовании одного из них для игроков (игрок-человек и Компьютерный проигрыватель), но я не уверен, как это лучше всего сделать.
ConnectFourGame.java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;

public class ConnectFourGame {

int totalPlayed;
int[][] gameBoard;
final int widthOfBoard=7;
final int heightOfBoard=7;

public ConnectFourGame(){
gameBoard = new int[widthOfBoard][widthOfBoard];
totalPlayed=0;
}

public static void main(String args[])throws IOException{

ConnectFourGame Connect4 = new ConnectFourGame();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

System.out.println("Welcome to Connect 4");
System.out.println("There are 2 players red and yellow");
System.out.println("Player 1 is Red, Player 2 is Yellow");
System.out.println("To play the game type in the number of the boardColumn you want to drop you counter in");
System.out.println("A player wins by connecting 4 counters in a row - vertically, horizontally or diagonally");
System.out.println("");
Connect4.printBoard();
outer:

while(true){

int boardColumn = 0;

//Player One Logic
while(true){
System.out.println("");
System.out.println("Player 1, please select your column:");
boardColumn = Integer.parseInt(br.readLine());
if(Connect4.canMakeMove(boardColumn)){
if(Connect4.placeCounter(boardColumn, 1)){
Connect4.printBoard();
System.out.println("\n\nPlayer 1 wins!!!");
break outer;
}
break;
}
else
System.out.println("Column "+boardColumn+" is already full!!");
}
Connect4.printBoard();

//PLAYER 2.
while(true){
System.out.println("");
System.out.println("Player 2, please select your column");

Random r = new Random();
int num = r.nextInt(7);

boardColumn=num;

if(Connect4.canMakeMove(boardColumn)){
if(Connect4.placeCounter(boardColumn, 2)){
Connect4.printBoard();
System.out.println("\n\nPlayer 2 wins!!!");
break outer;
}
break;
}
else
System.out.println("Column "+boardColumn+" is already full!!");
}
Connect4.printBoard();

if(Connect4.gameTied()){
System.out.print("The game has ended in a draw. Please start the game again.");
break;
}
}
}

public void printBoard(){
for(int i=0;i

Подробнее здесь: https://stackoverflow.com/questions/559 ... ed-program
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Новичок в Hyperland на Manjaro - какие -нибудь советы или советы? [закрыто]
    Anonymous » » в форуме Linux
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Status_stack_overflow при преобразовании моего кода в объектно -ориентированный php
    Anonymous » » в форуме Php
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Status_stack_overflow при преобразовании моего кода в объектно -ориентированный php
    Anonymous » » в форуме Php
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Status_stack_overflow при преобразовании моего кода в объектно -ориентированный php
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Status_stack_overflow при преобразовании моего кода в объектно -ориентированный PHP [закрыто]
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»