Download presentation
Presentation is loading. Please wait.
Published byCody Walton Modified over 9 years ago
1
J2ME: Tic Tac Toe By Jud Porter and John Tat
2
Goals for Project Design and implement multiplayer game Network connectivity between mobile devices Keep scoring for the game Implement a cursor to select positions Design and implement multiplayer game Network connectivity between mobile devices Keep scoring for the game Implement a cursor to select positions
3
Why Tic Tac Toe? Simple game to implement Framework can be used to implement more complex game Designed and implemented in J2ME Java Micro Edition Wireless Toolkit 2.2 Generic toolkit instead of vendor specific Better chance of working on a variety of devices Simple game to implement Framework can be used to implement more complex game Designed and implemented in J2ME Java Micro Edition Wireless Toolkit 2.2 Generic toolkit instead of vendor specific Better chance of working on a variety of devices
4
J2ME and Wireless Toolkit Device that program is implemented on must be specified Device implements profile Profiles are built upon configuration MIDP 2.0 Mobile Information Device Profile 2.0 CLDC 1.1 Connection Limited Device Configuration 1.1 Device that program is implemented on must be specified Device implements profile Profiles are built upon configuration MIDP 2.0 Mobile Information Device Profile 2.0 CLDC 1.1 Connection Limited Device Configuration 1.1
5
Tic Tac Toe Classes TacTacToeMidlet First class that runs Allows the user to select between Client and Server Creates a new instance of Client or Server depending on choice TicTacToeCanvas Drawing of the board Key Pressed Check for winner Keeps track of scores Updates opponents pieces TacTacToeMidlet First class that runs Allows the user to select between Client and Server Creates a new instance of Client or Server depending on choice TicTacToeCanvas Drawing of the board Key Pressed Check for winner Keeps track of scores Updates opponents pieces
6
Tic Tac Toe Classes Cont’d TicTacToeServer Creates instance of TicTacToeCanvas class Communication scheme with client First to move Sends an integer to client of grid selection Waits to receive integer for client of grid selection TicTacToeClient Creates instance of TicTacToeCanvas class Communication scheme with server Wait for server to move receives the integer and places a piece accordingly onto the board TicTacToeServer Creates instance of TicTacToeCanvas class Communication scheme with client First to move Sends an integer to client of grid selection Waits to receive integer for client of grid selection TicTacToeClient Creates instance of TicTacToeCanvas class Communication scheme with server Wait for server to move receives the integer and places a piece accordingly onto the board
7
Game Structure
8
Communication Scheme Bluetooth Protocol too difficult for scope of this project Could not get simple application to work Other Protocols: Datagram, Socket, COMM Moved onto Socket Protocol Endpoint for communication of two devices Socket connection on port localhost 5000 InputStream and OutputStream are opened when server discovers the client or client finds server Two way communication scheme Bluetooth Protocol too difficult for scope of this project Could not get simple application to work Other Protocols: Datagram, Socket, COMM Moved onto Socket Protocol Endpoint for communication of two devices Socket connection on port localhost 5000 InputStream and OutputStream are opened when server discovers the client or client finds server Two way communication scheme
9
Communication Scheme Server has first move Client waits for server to move On move (when Fire key is pressed) location of move encoded as integer is sent to other device On receipt of location, other client now has control of board to send next move Server has first move Client waits for server to move On move (when Fire key is pressed) location of move encoded as integer is sent to other device On receipt of location, other client now has control of board to send next move
10
TicTacToeCanvas Paint Draws board Draws pieces Draws cursor SetPiece Stores client/server moves Change turns keyPressed Moves the cursor on the screen Selects the board position and sends it to the client/server CheckWinner Checks for a winner Reset Resets the board for both client and server Paint Draws board Draws pieces Draws cursor SetPiece Stores client/server moves Change turns keyPressed Moves the cursor on the screen Selects the board position and sends it to the client/server CheckWinner Checks for a winner Reset Resets the board for both client and server
11
Server/Client Screenshots
12
Game Screenshots
13
Winner Screenshots
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.