Coder Social home page Coder Social logo

scrabble's Introduction

Scrabble Game

jdk maven

Introduction

Scrabble is a very popular crossword puzzle, multiple players place letters on one board to form a word to earn points, and the player with the highest total score will win the game. The purpose of this project is to develop a multiplayer online Scrabble game include the server and client by using Java programming language. The player opens the client to connect server and plays the game with other online players. Our design allowed multiplayer play multi-game at the same time. The system will automatically handle the player's actions and push the game's progress.
The application was developed by using the concept of sockets for communication between the different clients and the game server. TCP Sockets are used for communication. The concurrency in the game is achieved through multi-threading. The client has two thread and the server has multi-thread which is the thread-per-connection structure. Threads help in executing one or more tasks concurrently in a java program. The message passing between different clients and the game server is IO objects stream, implemented by sending objects through sockets using the concept of serialization. The error handling is implemented through Exception handling in Java. And the Graphical User Interface is implemented using JavaFX and Cascading Style Sheets.

Architecture

The system architecture is Client-Server architecture and used the classic two-tier model. The Client has two thread one thread is for GUI and catches user’s operation then send to the Server, the other one is listening to the response from the Server and represent on the GUI. The Server used multi-thread, the server threading architectures is thread-per-connection. The main thread will always listen for the connection request, once the client connects to the server, the server will create a new thread for the client. The client will interact with the thread for it on the server. The broadcast will be used on Server to transfer message to Client.

Contribution

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.