DOTSNBOXES. Overview Dots and Boxes is played originally with the use of paper, pen and 2 players. The Game board is a matrix of points and vary in size.

Slides:



Advertisements
Similar presentations
Mouse Tutorial for Win XP In this tutorial you will learn to: Move the mouse Click and double click Make selections Manage windows Use menus Click the.
Advertisements

COMPUTER PROGRAMMING I Essential Standard 5.02 Understand Breakpoint, Watch Window, and Try And Catch to Find Errors.
EEE436 / CS422 Final Presentation Group
SIS – NBS Online Specimen Tracking System Training
DNR-322L & DNR-326.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Yard Wars David Greer Alex Gross Ahsen Uppal. Goals Wireless, Portable Development Real Time Voice Conferencing Exciting, Expandable Game Engine.
Graphics and Client Design Overall Game Design Doug Camin.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
TRIRIGA Anywhere 10.4 Beta Registration Steps
JokerStars: Online Card Playing William Sanville Milestone 4.
VSP Video Station Protocol Presented by : Mittelman Dana Ben-Hamo Revital Ariel Tal Instructor : Sela Guy Presented by : Mittelman Dana Ben-Hamo Revital.
ShelterPoint™ Data-Entry Workflows. ShelterPoint v5.2.3.
HOW TO PULL YOUR VOICE MAILS INTO YOUR CLIENT Primary advantage: You will have a permanent.wav file on your PC and you choose when to delete it.
CONNECTION SETTINGS FOR USE WITH THE MOTION COMPUTING MODEL-F5 TABLET COMPUTER AKA: SIMON October 8, 2011 (And other useful information.)
Quoridor Classic Game Manager Kevin Dickerson April 2004.
Josh Probert – Yankee A Prototype based on Sierra’s SRS.
Assignment 3 A Client/Server Application: Chatroom.
MagicInfo Pro Server Software All control, content, and scheduling is performed within the MagicInfo Pro Server software previously installed. Before.
Today in CS161 Lecture #4 Solving Problems with Computers Walk through the Tic Tac Toe Algorithm Getting ready for Creating Programs Turn the Inches to.
Case Study: Game2D with Method Design
CSC 213 – Large Scale Programming Lecture 3: Object-Oriented Analysis.
Design Document Presentation. Review Quoridor – a board game played on a grid where players must advance tokens across a board to win. Our basic objective:
FTP Client Application CSC 8560 Brian Jorgage 4/27/2004.
Open the Goodyear Homepage Click on Teacher Tools.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
Spong Bluetooth game Developed by: Erik Matzols Fredrik Lindberg.
Alerts Manager Refer to Slide 2 for instructions on how to view the full-screen slideshow.Slide 2.
1 Chapter 28 Networking. 2 Objectives F To comprehend socket-based communication in Java (§28.2). F To understand client/server computing (§28.2). F To.
Texas Forty-Two By: Nate Normandin CS 470. What is Texas Forty-Two? A Domino Game A way for people to learn the game A way for people to play others A.
 The TenCup Entertainment Table is an interactive table that enhances the game-play experience of Beirut for both the player and the spectator.
Using Pro-Engineer to Create 3 Dimensional Shapes Kevin Manner Kevin Manner Tim Reynolds Tim Reynolds Thuy Tran Thuy Tran Vuong Nguyen Vuong Nguyen.
1.To begin click: File, New, then select Design 2.Draw a circle, then use the dimension tool to set it’s size to 84 diameter or 42 radius. 3. Next draw.
This demonstration will show you the steps for using SoliComm Online. SoliComm Online is a computer conferencing system on the Web. You can find it at:
1 Installation Training Everything you need to know to get up and running.
 The TenCup Entertainment Table is an interactive table that enhances the game-play experience of Beirut for both the player and the spectator.
Multi-Group Network Game Project A Project By: Erez Gazit and Sagi Katz.
AZGLA.COM Statistics & Game ResultsTutorial Available for download at By Andrew Kay.
Warlords Patrick Levoshko SE 558 – Multiplayer Game Design.
Networking OSI (Open Systems Interconnection) model of computer networking, seven layers (the Application, Presentation, Session, Transport, Network, Data.
JCPS Student Assignment – Middle School/High School Advance Program.
UNIT-6. Basics of Networking TCP/IP Sockets Simple Client Server program Multiple clients Sending file from Server to Client Parallel search server.
FlowLevel Client, server & elements monitoring and controlling system Message Include End Dial Start.
JCPS Student Assignment Advance Program – Elementary Schools.
Collaborate. Coordinate. Evaluate. Connecting Communities > Demonstrating Outcomes ™ / I&R Housing Youth & Family Services Older Adult Services ShelterPoint™
An introduction to PIC’s for KS3 and KS4. Mr Rooks Hetton School.
Java Networking I IS Outline  Quiz #3  Network architecture  Protocols  Sockets  Server Sockets  Multi-threaded Servers.
Busta’ Sandwich Life Cycle Architecture. Specifications.
Introducing Scratch Learning resources for the implementation of the scenario
Emdeon Office Batch Management Services This document provides detailed information on Batch Import Services and other Batch features.
Using Microsoft Outlook Training By Gary Lane.
SAP ERP Basic System Navigation
Assignment 3 A Client/Server Application: Chatroom
VIAPPL Instructions How to set up an experiment
Fight Game Brian Kessler.
FirstNet Access Features
I. Basic Network Concepts
Fantastic Graphics Inc. 2017
Google Classroom Setting Up Using a Computer.
Chapter 40 Remote Method Invocation
Introduction to TouchDevelop
Chapter 46 Remote Method Invocation
.Net Sockets.
Dell Latitude Laptop Student setup.
Chapter 46 Remote Method Invocation
Players choose either light or dark blue blocks to play.
Jim Fawcett CSE681 – Software Modeling & Analysis Fall 2008
Jim Fawcett CSE681 – Software Modeling & Analysis Fall 2008
Jim Fawcett CSE681 – Software Modeling & Analysis Fall 2008
Presentation transcript:

DOTSNBOXES

Overview Dots and Boxes is played originally with the use of paper, pen and 2 players. The Game board is a matrix of points and vary in size. However an odd number of squares is desired to reduce a tie. Players draw one line at a time. If they complete a square they get to put their initial in the box and go again. Ideally the goal of the game is to get as many boxes with your initial in it. This is ideally done with a long collection of boxes collected one after the other.

Requirements Design a graphical user interface Create a multi-threaded client/server application that utilizes stream sockets Handle disconnects on either the client or server side Server to support multiple game instances Appropriate edit-checking on user-submitted data

Additional Features Login screen for clients to choose their own usernames to uniquely identify themselves. Lobby area, to provide: – a list of all users currently online – a list of all active/pending games Shows the player(s) currently in the game Users may create new games or join games with an empty spot available Users may play multiple games simultaneously

Gameplay Logic At initialization:  Assign each edge an EdgeID, each box a BoxID.  For each box, assign its edges (Top, Bottom, Left, Right) the appropriate EdgeID.  For each edge, assign its boxes (max 2) the appropriate BoxID. During Gameplay:  For each edge that is drawn on by the players, 1.Flag the edges as ‘exists’. 2.Check the edge’s associated BoxID’s (up to 2) and check which edges exist.  If all four edges exist, then draw the box(es).

Network Interface/Infrastructure ClientServer  ClientNetworkInterface – Sets up a TcpClient, given the hostname and port  ServerNetworkInterface – Sets up a NetworkStream, given a socket  Mechanized Packets to send data across the connection  2 methods using BinaryFormatter: Convert serialized byte array to Packet Convert Packet to serialized byte array Client side module Server side module ClientNetworkInterfaceServerNetworkInterface Packet

Network Interface/Infrastructure Packet Structure Type : byte Header Body ConnectResponse ClientID Player1Name Player2Name CreateGameSuccess PortNumber GameName Player1Name Player2Name PlayerTurn PlayerID

Game Form Lobby Server System Block Diagram Thread Socket s User Network Interface s User s TcpListener Login Lobby Form Client Server Game Server TcpListener Login Form s Player2 s Player1 Port Ports Game Form List

Game Form Lobby Server Connecting GetStream Socket s User1 Network Interface s User2 TcpListener Login Lobby Form1 Client Server Game Server TcpListener Login Form1 s Player2 s Player1 Port Ports Game Form List User1 Thread User2 Thread Example TcpClient Neutral Thread Login Form1 BinaryReader BinaryWriter TcpClient GetStream

Disconnect Handling ClientServer ClientNetworkInterface ServerNetworkInterface Packet  bytes (b) – The size in bytes of the packet.  BinaryWriter (Success) – Write method sends a packet of size b across the connection.  BinaryWriter (Failure) – Write method throws a System.IO.IOException exception.  BinaryReader (Success) – Read method accepts a packet and returns its size b.  BinaryReader (Failure) – Read method returns 0 upon disconnection. b > 0 BinaryWriter BinaryReader

0 Lobby Server Game Server SocketException Attempting to reconnect... 0 Game Form Disconnect Handling Neutral Thread Socket s User1 Network Interface s User2 Lobby Form Lobby Form ClientServer Login Form Login Form s Player1 Game Form User1 Thread User2 Thread Login Form 0 Login Form s Player2 You win by default. Example 0

Error Checking Prevent duplicate users Prevent duplicate game names Prevent user from joining his own game Prevent user from joining a full game Prevent user from joining a game that no longer exists Prevent multiple servers on the same port Prevent erroneous user input Handle disconnects accordingly

Screenshots - Client Client Without a Server to Connect to will retry to Connect.

Screenshots - Client Once the Server is stated, the Client will automatically connect!

Screenshots - Lobby Once connected a lobby will show Games and Players on the Server. Currently No Games There is only currently one player

Screenshots - Lobby Entering a GAME name in the box and clicking “Create Game” will add a new game to the lobby and start you in a new game of DotsNBoxes. One Game is Waiting Players myNewGame

Screenshots - Lobby When more games are created, users wanting to play a game can see the Games in the Lobby. If a User Clicks “Join” they will start a game with the other player

Screenshots - Client Both Users will have a game console like the one below. Moving the mouse around Will highlight clickable spots for User selection

Screenshots - Client The User can highlight over edges and the boxes will light up. Once a User selects a line the server will register the click and it will be the other player’s turn if it’s not a box creation.

Screenshots - Client After boxes are created they light up with the players texture. The Score is shown to the right.

Screenshots - Client Once a user wins the game They will see a flashing happy face.. As for the loser…

Screenshots - Client The Loser gets a flashing Sad face. Both Users now have to click the EXIT button to return back to the lobby.

Screenshots - Client Users may play multiple games simultaneously by going back to the lobby and creating/joining new games.

Screenshots - Server Throughout all the connections and game interactions, the server shows information being written to a console output.

Obstacles – Unexpected Game Over What happens if a player quits in the middle of a game? This will automatically send a message to the user still in game that the user has ended the game and they may click “Exit” to return to the lobby. Sadly... You will not see the happy face for this type of win.

Questions?