“Link All Together” – Linktile 2D game programming

Slides:



Advertisements
Similar presentations
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Advertisements

Handball Scoreboard Information System HB-SIS Applied since 2004 IAW IHF Playing Rules Applied since 2004 IAW IHF Playing Rules.
Idea Pitch - Android Game Suite WVU CS480 Benjamin Carpenter Jay Greene Ryan Daugherty Jack Dehlin.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
LYU0503 Document Image Reconstruction on Mobile Using Onboard Camera Supervisor: Professor Michael R.Lyu Group Members: Leung Man Kin, Stephen Ng Ying.
A game of logic where the player must assign the numbers 1..9 to cells on a 9x9 grid. The placement of the numbers must be such that every number must.
With Alex Conger – President of Webmajik.com FrontPage 2002 Level I (Intro & Training) FrontPage 2002 Level I (Intro & Training)
Chapter 17 Putting It All Together. Viewing the Preloader To view the preloader, 1.CTRL-Enter to test the movie. 2.View > Simulate Download.
Quoridor Classic Game Manager Kevin Dickerson April 2004.
Project 3 File, Document, Folder Management, Windows XP Explorer Windows XP Service Pack 2 Edition Comprehensive Concepts and Techniques.
Putting together a complete system Chapter 10. Overview  Design a modest but complete system  A collection of objects work together to solve a problem.
Connect Four AI Robert Burns and Brett Crawford. Connect Four  A board with at least six rows and seven columns  Two players: one with red discs and.
Test vs. inspection Part 2 Tor Stålhane. Testing and inspection A short data analysis.
Microsoft Office 2007 Access Chapter 3 Maintaining a Database.
1.1 CAS CS 460/660 Introduction to Database Systems Relational Algebra.
N-space Snakes are special maximal length loops through an N-space cube. They ’ re full of intriguing symmetries, puzzles and surprises. They ’ re simple.
The course. Description Computer systems programming using the C language – And possibly a little C++ Translation of C into assembly language Introduction.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 41 JavaServer Face.
Yen-Ting Yu Iris Hui-Ru Jiang Yumin Zhang Charles Chiang DRC-Based Hotspot Detection Considering Edge Tolerance and Incomplete Specification ICCAD’14.
Advanced Java Session 4 New York University School of Continuing and Professional Studies.
Our project main purpose is to develop a tool for a combinatorial game researcher. Given a version of combinatorial puzzle game and few more parameters,
Introduction to KE EMu Unit objectives: Introduction to Windows Use the keyboard and mouse Use the desktop Open, move and resize a.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Client-Server applications Introduction to Java Applets Client-server architectures Why do Applets exist? What can an Applet do?
FlowLevel Client, server & elements monitoring and controlling system Message Include End Dial Start.
Software Design– Unit Testing SIMPLE PRIMER ON Junit Junit is a free simple library that is added to Eclipse to all automated unit tests. The first step,
Efficient Map Path Finding with Realistic Conditions Third Quarter Version Olex Ponomarenko.
Modeling the Game of Brain Cube Leslie Muzulu, Kristal Jameson, and Kathy Radloff; St. Catherine University Game Description Brain Cube is a puzzle game.
Introducing Scratch Learning resources for the implementation of the scenario
To play, start slide show and click on circle Access 1 Access 2 Access 3 Access 4 Access Access
Efficient Graph Traversal with Realistic Conditions by Olex Ponomarenko st Quarter Draft----
Automata Editor Tool with GEF and EMF
Working with Cascading Style Sheets
Fundamental of Databases
Free Projects For CENG 3430 CENG3430 Free Projects v.7c.
Software architecture
Click through this presentation at your own pace.
MS Access Forms, Queries, Reports Matt Martin
Using Unity as an Animator and Simulator for PaypyrusRT Models
Music Editing Software
CSC 321: Data Structures Fall 2016
Building a User Interface with Forms
Content - Introduction. - Problem statement. - Objectives.
A CIS 5603 Course Project By: Qizhong Mao, Baiyi Tao, Arif Aziz
Tarneeb Game.
Chap 7. Building Java Graphical User Interfaces
DB Implementation: MS Access Forms
Graphical User Interfaces -- Introduction
Tutorial Introduction to support.ebsco.com.
The Birds of a Feather Research Challenge
Network Visualization
CS5103 Software Engineering
Board: Objects, Arrays and Pedagogy
Android App Developing with communication included
Common computer terminology
Exercise: Dice roll sum
Technical Implementations
DB Implementation: MS Access Forms
GRAPHIC ALARM MANAGEMENT SYSTEM
Database Connectivity and Web Development
Introduction: Why Study Algorithms?
Topic 7: Visualization Lesson 1 – Creating Charts in Excel
Features - Benefits Major Release January 2019
Introduction to EBSCOhost
The Strategic Game of Links
Efficient Graph Traversal with Realistic Conditions
Layout Terms Visual Hierarchy
Learning Intention I will learn about the standard algorithm for input validation.
Tutorial Introduction to help.ebsco.com.
JLSim – customizable traffic simulation application
Presentation transcript:

“Link All Together” – Linktile 2D game programming Guanhua Xie CS 491B Fall 2008

Introduction to the Game A puzzle game similar to “Mahjong” in China. Match and eliminate the tiles on board. Easy to learn but hard to stop from playing.

Rule of the Game Match and link the pairs of the same tiles under time limitations. The path for the pair elimination should take no more than two turns.

Layout of the Game Blue : Valid Match Red: Invalid Match

Deadlock Situation

Motivation Interesting game to implement. Find efficient algorithm to determine the valid match for the two selected tiles and detect deadlock situation. Design online two user competition mode for this game.

Technology Used Programming Language Development Tool Java 2 Standard Edition 5.0 Development Tool Eclipse

System Component User Visible User Invisible Single user mode Main Menu Control Panel Game Board Two user online competition mode User Invisible Algorithm to determine the valid match Algorithm to detect the deadlock

Algorithm for deadlock detection Brutal force search (Last quarter) Inefficiency. Keep a list of eliminable pairs of tiles Remove and add tile pair after each elimination. Check the size of the list. More time efficient.

Extra Features Different tile representation. Game sound and music. Path display.

Online two user competition mode Simple server Accepts two clients to form a session Each session is a thread Client Graphical User interface Pass the user input to the server Receive game status from the server

Transition between each round of the game

Gain from the project A functional version of the single user mode and a working version of online competition mode of the game. Learn techniques like java sound, networking programming. Experiences with developing a project. Learn the technique writing and presentation.

Algorithm for Valid Match Trivial Case Two tiles are not the same. (Reject) Two same tiles are adjacent to each other. (Accept) One of the two tiles are surrounded by other tiles in four directions. (Reject)

Algorithm for Valid Match Generic Situation Composed of at most three sub-paths. Find the range of two tiles can freely move in its column or row (Reject if the two ranges do not intersect). Find a free horizontal or vertical path in the intersection of the two ranges(Reject if no such path exist).