Skip to content

Improvement yavuz#2

Open
yavuzDemir21 wants to merge 5 commits intoTanujcbe:masterfrom
yavuzDemir21:improvement-yavuz
Open

Improvement yavuz#2
yavuzDemir21 wants to merge 5 commits intoTanujcbe:masterfrom
yavuzDemir21:improvement-yavuz

Conversation

@yavuzDemir21
Copy link

Description

A dynamic Tictactoe game environment created. Object oriented structure used in the code. Algorithms became efficient and small. Code became easy to read and open for development. Issue #1

Change list

  • Code structure change into an Object Oriented structure. SOLID principles are applied in the code development process. However, there should be still plenty of refactoring according to SOLID principles.

  • Game environment become dynamic. It depends on user whether the user wants to play on a traditional board or a custom one. Each static operation is replaced with a dynamic one.

  • Computer's move become more efficient. It gets the empty cell in O(1).

  • Algorithm for checking winning state become more efficient. It only checks the last move's directions for winning condition.

Affected Dependencies

I did not add any import statement. No dependencies affected at all.

How has this been tested?

  • 3 winning states checked:
  1. Player human has won
  2. Player computer has won
  3. Stalemate
  • User input misbehaviors checked.

  • Board image on different row and col metrics checked

Checklist

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant