J2ME: Tic Tac Toe By Jud Porter and John Tat. Goals for Project  Design and implement multiplayer game  Network connectivity between mobile devices.

Slides:



Advertisements
Similar presentations
MIDP Mobile Information Device Profile Johnny Yau CIS 642 Prof. Insup Lee.
Advertisements

Learning Through a Mobile Device David McDyre Dr Averil Meehan Dr Stephen Wright.
J2ME & BREW Game Design Code running on the handset (at last) Greg Costikyan
Introduction of J2ME Mobile solutions. Overview What is J2ME. How does J2ME work? Java J2ME Carriers and Products. The Two Configuration of J2ME. Profiles.
EEE436 / CS422 Final Presentation Group
Battleship J2ME Mobile Game Frank Ng. Approach Installed J2ME and Eclipse to edit the Java code Learned J2ME/Java by looking at example code Created a.
Tic Tac Toe Architecture CSE 5290 – Artificial Intelligence 06/13/2011 Christopher Hepler.
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
1 Developing Mobile Applications ID2216/UMT Checkers Game By: Behzad Salim Aroony Kambiz Ghoorchian.
Real-Time Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09.
1 L54 Networking (3). 2 OBJECTIVES In this chapter you will learn:  To understand Java networking with URLs, sockets and datagrams.  To implement Java.
Interactive Visual System By Arthur Evans, John Sikorski, and Patricia Thomas.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Molde University College INF 245 Fall 2007 OBø 1 INF245 Mobile Applications Networking H 2007 Ola Bø.
1 Java Networking – Part I CS , Spring 2008/9.
Pundik Dmitry & Blekhman Alexandr 2001/02 Final Presentation Semester A הטכניון - מכון טכנולוגי לישראל המעבדה למערכות ספרתיות מהירות הפקולטה להנדסת חשמל.
1 L53 Networking (2). 2 OBJECTIVES In this chapter you will learn:  To understand Java networking with URLs, sockets and datagrams.  To implement Java.
System Programming Practical session 10 Java sockets.
PDA Programming Using J2ME Presenter :涂俊凱 Date : 2003/4/8.
Network Programming. The biggest difficult part in networking programming lies in understanding networking not in using java networking package. Since.
The 21th century Repairman Agenda Introduction J2EE J2ME Demonstration.
Online Chess Project 3 Due date: April 17 th. Introduction Third in series of three projects This project focuses on adding online support –2 players.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved L22 (Chapter 25) Networking.
University of Jyväskylä 1 MODPA Platform Independent Design of Mobile Applications WIM Workshop 2004 Teemu Ihalainen Information Technology Research.
SM3121 Software Technology Mark Green School of Creative Media.
An Introduction to the Java ME Project Jens A Andersson.
Socket Programming -What is it ? -Why bother ?. Basic Interface for programming networks at transport level It is communication end point Used for inter.
Bluetooth Remote Control This paper appears in: Information and Communication Technologies, ICTTA '06. 2nd On page(s): Location: Damascus.
Home Automation Console Publish/Subscribe Server for interoperability and reduction of complexity at end devices.
EUROCON “Computer as a Tool”, Belgrade, 24 th November 2005 (1) Paul Killoran EUROCON 2005 Paul Killoran, Fearghal Morgan & Michael Schukat National.
Developed as a partial fulfillment of the requirements of ID2216 Sumanta Saha Md Sakhawat Hossen Md Safiqul Islam sumanta, hossen, BlueTTT.
Getting Started with JXTA for J2ME Advisor : Dr. Ching-Long Yeh Report : DI.2, 洪泰昌 ( ) Course: XML 文件管理.
Michael Brockway Advanced Applications Development in Java J2ME -- Introduction l Introduction / Overview l Java 2 Micro Edition n CLDC n MIDP l Examples.
Eduardo Araujo Dustin Littau. Agenda Introduction Requirements Design Testing Conclusion.
Small Devices on DBGlobe System George Samaras Chara Skouteli.
Computer Science Wi-Fi App using J2ME and MVC Architecture Advisor : Dr. Chung-E Wang Department of Computer Science Sacramento State University Date:
1Basics of J2ME. 2 Objectives –Understand the different java API’s and how the mobile edition API’s fit in –Understand what a mobile configuration and.
Spong Bluetooth game Developed by: Erik Matzols Fredrik Lindberg.
Chapter 18 Networking F Client/Server Communications F Simple Client/Server Applications F Serve Multiple Clients F Create Applet Clients F Send and Retrieve.
RGEC MEERUT(IWT CS703) 1 Java Networking RGEC Meerut.
Timeouts: The Missing Piece James Whorley. IMPLEMENTING TIMEOUTS IN JAVA SOCKETS Java Socket Programming.
A ISP free video conferencing application for mobile devices using wireless and VoIP Technology.
Other Popular Java Technologies Internationalization in Java Graphics Programming in Java Security Programming in Java Collections and Data Structures.
L 2 - 1 3( 1/ 20) : Java Network Programming. The Socket API The previous contents describe client-server interaction that application programs use when.
Project 2 Mobile Game: Hexagon Zhong Zou, Joseph Ferrara EE194 WIR.
Prepared by: Azara Prakash L.. Contents:-  Data Transmission  Introduction  Socket Description  Data Flow Diagram  Module Design Specification.
Joe Cohen Presentation Overview  Project definition and requirements  Solution process and explanation  Methodology.
EE-194 Wireless InterNetworking Jean Whitehead. Project #2 Goal: Develop a multi-player game for deployment on mobile devices. Mobile devices, very small.
Socket Programming.
Background Real-time environmental monitoring is a field garnering an ever-increasing amount of attention. The ability for sensors to make and publish.
Protocols Monil Adhikari. Agenda Introduction Port Numbers Non Secure Protocols FTP HTTP Telnet POP3, SMTP Secure Protocols HTTPS.
Peer to peer networks. Peer to peer is when digital devices communicate wirelessly with each others without the need for a transmitter. Wi-Fi Direct 1-
EE-194WIR Projects J2ME-based Mobile Phone Game Application TinyOS Implementation Project Team: David Louie Greg Truhlar.
Mobile Programming Mobile Programming - Ordibehesht Ordibehesht 1390.
Busta’ Sandwich Life Cycle Architecture. Specifications.
Multi player client sever Snake Game Technology : JAVA (swing for user interface and Socket for passing coordinates of snakes, food item and score)
Enhanced mobile services in Java enabled phones Björn Hjelt Sonera zed ltd Supervisor: Professor Jorma Jormakka.
Network Programming. These days almost all devices.
Advance Computer Programming Market for Java ME The Java ME Platform – Java 2 Micro Edition (J2ME) combines a resource- constrained JVM and a set of Java.
The Java Platform Micro Edition Java ME
Introduction to Android App Development
Next Level Tic-Tac-Toe
Wireless Instant Messaging Using J2ME
Chapter 18 Networking Client/Server Communications
Fight Game Brian Kessler.
Mobile Gaming Through The Wireless Internet
Tic-Tac-Toe Game Engine
Presentation transcript:

J2ME: Tic Tac Toe By Jud Porter and John Tat

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

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

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

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

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

Game Structure

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

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

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

Server/Client Screenshots

Game Screenshots

Winner Screenshots