Skip to content

brumocas/Tiki_Taka_Toe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


TikiTakaToe Game Repository

Server Application (C++)

The Server application, implemented in C++, serves as the central hub for all TikiTakaToe game operations. It acts as the brain of the game, responsible for executing the game logic and managing connections from clients, providing a seamless remote gaming experience.

Key Features:

  • Game Logic Execution: The Server runs the intricate TikiTakaToe game logic, ensuring fair and accurate gameplay for all connected clients.
  • Connection Management: It handles the task of accepting and managing connections from clients, facilitating a smooth and responsive gaming experience.

Client Application (Java)

The Client application, developed in Java, serves as the user interface that links players to the Server. With a user-friendly graphical user interface (GUI), it enhances the overall gaming experience.

Key Features:

  • User-Friendly GUI: JavaFX libraries are leveraged to create an intuitive and visually appealing graphical interface for players.
  • Connection Establishment: The Client is responsible for establishing and maintaining connections with the Server, enabling players to seamlessly engage in remote TikiTakaToe games.

Why Java and C++ together?

Portability and Platform Independence:

  • Java: The choice of Java for the Client application ensures platform independence, allowing users to enjoy the game on various operating systems without modification.
  • C++: The Server, implemented in C++, takes advantage of its performance benefits while still being deployable across different operating systems.

Concurrency and Multi-Threading:

  • Java: Built-in support for multi-threading in Java aids in managing concurrent tasks on the client side, enhancing the responsiveness of the user interface.
  • C++: Multi-threading capabilities in C++ are crucial for handling multiple game instances and efficiently managing server-side connections.

User Interface Development:

  • Java: The Swing or JavaFX libraries simplify GUI development, making it easier to create an engaging and user-friendly interface for players.
  • C++: While C++ has GUI libraries like Qt, Java's tools are more intuitive for developing client-side interfaces.

Networking Capabilities:

  • Java: The java.net package facilitates straightforward network programming, ensuring seamless communication between the Client and Server.
  • C++: Robust networking libraries, such as <arpa/inet.h>, are utilized on the server side to efficiently manage connections.

Performance Considerations:

  • C++: Chosen for the Server application due to its performance benefits, as it is compiled to native machine code, providing optimal execution of game logic and connection management.
  • Java: Although slightly slower in certain scenarios, Java's performance is generally good and is outweighed by its ease of development and platform independence for client applications.

Integration and Component Compatibility:

  • The choice between Java and C++ is influenced by existing libraries or components, with C++ being historically popular in game development and Java being well-suited for client-side applications.

In summary, the combination of Java and C++ in this TikiTakaToe game repository represents a thoughtful and balanced approach, leveraging the strengths of each language to deliver a portable, performant, and user-friendly gaming experience for players.

License

This repository is licensed under the MIT License. See the LICENSE file for more details.

About

Tic Tac Toe Trivia Football Game

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published