SlideShare a Scribd company logo
1 of 6
Download to read offline
International Journal of Modern Engineering Research (IJMER)
www.ijmer.com Vol.3, Issue.2, March-April. 2013 pp-1129-1134 ISSN: 2249-6645
www.ijmer.com 1129 | Page
Justin R. Martinez, 1
Wenbin Luo2
12
Engineering Department, St. Mary's University, San Antonio, United States
Abstract: In this paper, we present the design, implementation, and testing of an Android game, called Foxes and Chickens.
It was developed for mobile devices with the Android mobile operating system. The Foxes and Chickens game itself has
origins in South America, where it is very popular in some countries. However, to the best of our knowledge, no digital
version of the game was available for mass consumption. Our research seeks to remedy this vacancy with the goal of adding
values and enjoyment to users of the Android mobile devices. After going through strict software engineering processes of
specification, design, coding, and testing, we successfully developed the game, as shown at the following link:
http://www.youtube.com/watch?v=xeXYiR3Qwio. The game Foxes and Chickens is available for download from the Google
play for anyone with an Android powered device. It has been tested for compatibility on the following mobile devices: T-
Mobile’s G1, HTC My Touch, and Verizon’s Motorola Droid. It should run on other compatible Android handsets as well.
Keywords: Android development, foxes and chickens, Java, mobile games, software development
I. INTRODUCTION
The Foxes and Chickens game is developed for mobile devices with an Android operating system, which was
designed as an operating system for mobile devices by Google and the Open Handset Alliance based on the Linux kernel [1].
The Foxes and Chickens game is a turn-based strategy game that has similarities to Checkers and Chess (rules of the game
can be found in Appendix). The game has two game modes (single player and two players) and three levels of difficulty
(easy, intermediate, and hard). The object of the game is to move nine of the initial twenty chickens on the game board to
safety, while the foxes attempt to prevent this by killing chickens within reach.
At the time of creation, game development on the Android platform was still in its early stage and few projects
existed where the development process and sources were available for others to utilize. This research sought to remedy this
vacancy by both documenting the creation and providing source code for others to learn from.
1.1 Product Features
A high level list of the major features of our developed game is as follows.
 Two operational modes: single player and two players.
 Three tiers of difficulty: easy, intermediate, and hard
 Invalid movements are not allowed.
 In-game rule-set, tutorial mode where invalid moves are explained.
 Non-Player Character (NPC) movement accomplished in fixed time.
 Intuitive and linear interface.
 Smooth animation system.
 Bright, vibrant colors.
These represent the major categories of the requirements and will be explained in more details in the remainder of this paper.
1.2 User Classes and Characteristics
There is one class of user for the game: the player class. The player can be either male or female, most likely
technically savvy (due to the target platform), and can be classified as a casual gamer. Casual gamers tend to enjoy simple,
yet dynamic games that are easy to understand, frequently reward the player, are short in duration (as opposed to games
where characters must be developed and nurtured), and have high re-playability by not becoming boring or repetitive.
1.3 Online Help
A help screen will be provided to assist in understanding the rule-set for the game. No other documentation will be
provided to the user. The linear and clean structure of the user interface makes additional help unnecessary. One of the help
screens is shown in Fig. 4 of section III: user interfaces. Help screens are intended to give the player an overview of how the
game is played.
II. SYSTEM ANALYSIS AND DESIGN
The system analysis of the proposed Foxes and Chickens game involved the formulation of use cases, sequence
diagrams, and state diagrams of the game. To properly understand and explicate out the game's flow, we developed a number
of use cases. All of these techniques allowed us to better articulate the requirements of the system in terms of objects,
classes, attributes, relationships, scenarios, and actors. A sample use case is shown below.
The Design and Implementation of an Android Game: Foxes
and Chickens
International Journal of Modern Engineering Research (IJMER)
www.ijmer.com Vol.3, Issue.2, March-April. 2013 pp-1129-1134 ISSN: 2249-6645
www.ijmer.com 1130 | Page
Figure 1. Use case
Sequence diagrams are the interaction diagrams that show how processes operate with one another and in what
order. The aforementioned use case was captured in the following sequence diagram which we developed for the Foxes and
Chickens game. In this use case, the player launches the game or has selected to reset the game while playing. If the player
has launched a new game the default values are used for the selection available to them, while a reset game will use the
setting from the previous play. After accepting the defaults or correcting them to the player’s desire, the game is launched.
Figure 2. Sequence diagram
International Journal of Modern Engineering Research (IJMER)
www.ijmer.com Vol.3, Issue.2, March-April. 2013 pp-1129-1134 ISSN: 2249-6645
www.ijmer.com 1131 | Page
At its most basic, the game functions as a simple state machine. As the player interacts with the system, control
flows between discreet points, each with separate logic. When the game is started, the user is prompted to select the number
of players, dynamic help and whether to enable audio. If the number of players is “one”, the user is then asked about the
difficulty level. After that, the game begins. After the user selects a piece to move and selects a destination, the move is
validated. In the case of the NPC mode, validation is skipped as it is an integral part of the artificial intelligent process in the
system. The system then checks the game for a game over state. If the game is over, the user is prompted to reset. Otherwise,
the active player is toggled and the process cycles.
Figure 3. State map
III. USER INTERFACES
Usability and portability are the most important quality attributes applicable to this research project. Since the Foxes
and Chickens game is targeted toward casual gamers, the interface and mechanics of game play are required to be simple and
straight forward. This section provides several sample screen images representing the general “look and feel” of the interface
and a visual representation of applicable system features and game states.
International Journal of Modern Engineering Research (IJMER)
www.ijmer.com Vol.3, Issue.2, March-April. 2013 pp-1129-1134 ISSN: 2249-6645
www.ijmer.com 1132 | Page
Figure 4. Sample screen images
Upon initial launch, the game enters SelectPlayersState, where the user notifies the system of the number of
players. In the sample images presented, the user would have selected “One”. This selection transitions to Select Dificulty
State where the user notifies the system of the difficulty level at which he could like to play. After Select Difficulty State, the
system has enough information to initialize the game and allow game play to begin. Game play State is not a single state but
an aggregation of several states. Upon completion of game play, the system transitions to the End Game State, where the
user is notified of his success or failure.
When the user options to be notified of invalid movements, he will see a text message appear in a notification area
after an invalid move attempt.
IV. IMPLEMENTATION AND TESTING
The software development utilized the Eclipse Integrated Development Environment (IDE) with the Android
Software Development Kit (SDK) that is cross platform among Windows, Linux, or Macintosh. In the case of this research
project, the following configuration was used: Windows Vista SP2, Java 1.6, Eclipse 3.5, and Android SDK 1.5r3. Testing
occurred on a T-Mobile G1 and HTC My Touch running the Android OS, versions 1.5 and 1.6 and on a Motorola Droid
running the Android OS version 2.0.
The figure below shows the deployment model for the Foxes and Chickens game. As stated previously, required is a
T-Mobile G1 Handset running the Android OS version 1.5. When packaged within Eclipse, the resultant file is of type *.apk,
which is an encrypted and compressed java package. When the game is installed on a target device, the application icon is
extracted and yet the application itself remains in the apk form.
Figure 5. Deployment model
International Journal of Modern Engineering Research (IJMER)
www.ijmer.com Vol.3, Issue.2, March-April. 2013 pp-1129-1134 ISSN: 2249-6645
www.ijmer.com 1133 | Page
The final step, which is arguably one of the most important, is testing. It is of crucial importance to ascertain
whether a software system does what it is supposed to do and fulfills the requirements set forth by the stakeholders of the
system. Testing occurred throughout the development process and the findings helped shape development and game features.
A few examples of the bugs found are listed below:
 Foxes, after completing a multi-jump, would land in invalid locations.
 Resetting the game would change the user selections from the previous launch.
 Several obscure issues that ended up being related to thread messaging.
At the time of this writing, there have been about 10,000~50,000 downloads of the Foxes and Chickens game from
Google play (https://play.google.com/). The game is free to use and the source code will be made available to the public to
help others learn about Android development. After we fixed issues found by users in the initial release of the game, users
posted very positive comments on the game, such as 1) Very challenging, which is what makes it fun; 2) Challenging works
flawlessly on Samsung Galaxy S; 3) Very smart game with cool graphics; 4) Fun game looks good; 5) Classic game - great
when waiting for a flight or similar; works well.
V. CONCLUSION
In this paper, we presented an Android game named Foxes and Chickens that we have successfully designed and
implemented for the Android mobile devices. Solid software engineering principles were utilized in the design and
implementation of the Foxes and Chickens game. In addition, we performed extensive testing to validate different
functionalities available in the game. Our testing and users' positive comments indicated that the Foxes and Chickens game
met user expectations and is a fun game to play on Android mobile devices.
REFERENCES
[1] Open Handset Alliance, http://www.openhandsetalliance.com/
[2] Android Developers Web Portal, http://developer.android.com/index.html
[3] J. Arlow and I. Neustadt, UML 2 and the unified process (Addison-Wesley, MA: Boston, 2005).
[4] C. Fox, Introduction to software engineering design (Addison-Wesley, MA: Boston, 2006).
[5] R. Pressman, Software engineering (McGraw-Hill, NY: New York, 2005).
APPENDICES I: the Foxes and Chickens game rules
 Both players must move each turn. If a player is unable to move any pieces, that player loses. In the case of foxes, if a
fox ever becomes trapped (i.e. cannot move), that fox is removed from the game.
 Foxes can move one unit in any direction, but in order to kill a chicken, the next unit beyond the chicken must be
vacant. (This is akin to jumping in checkers).
 Foxes can perform multiple kills per turn provided that they do not violate any other rule (multi-jumps).
 Chickens can only move one unit in a forward or side direction. They may not move backwards. (Forward is defined as
up, toward the chicken-pen).
 Movement is constrained to the directional paths as displayed on the game board.
 The chickens win by filling the pen with nine chickens. The foxes win by reducing the number of chickens on the board
to a number less than nine.
APPENDICES II: Code snippet: scoring a move
//At intermediate difficulty, this method generates a score for the position passed in. For the Hard //setting, this is expanded
to also take into account if a move will yield a future attack.
private int scoreMove(int curPos, int futPos, boolean hard) {
int retVal = INVALID_MOVE;
//foxes get a bonus for staying in the pen at hard difficulty
int additive = futPos < (curPos-5) ? 1 : 0;
if(fac.gameState[futPos] == 'x' || fac.gameState[futPos] == 'f')
retVal = INVALID_MOVE;//impossible move
else if (fac.gameState[futPos] == 's') {
if(checkIndexForFutureKills(futPos)) {
//movement which leads to a future kill (in one move)
retVal = KILL_NEXT_ROUND;
//if set to hard, give the applicable bonus
retVal = hard ? (retVal + additive) : retVal;
}
else if(hard) {
for(int i = 0; i < 8; i++) {
int tempIdx = fac.movementMatrix[futPos][i];
if(checkIndexForFutureKills(tempIdx))
//movement which leads to a future kill (in two moves) is worth 2
International Journal of Modern Engineering Research (IJMER)
www.ijmer.com Vol.3, Issue.2, March-April. 2013 pp-1129-1134 ISSN: 2249-6645
www.ijmer.com 1134 | Page
retVal = KILL_IN_2_ROUNDS;
}
//even if there are not future kill, this is still a valid move
if(retVal == INVALID_MOVE)
retVal = VALID_MOVE;
}
else
retVal = VALID_MOVE;
}
else {//fac.gameState[futPos] == 'c' ... we need to check for a kill, or multiple kills
if(checkIndexForKills(curPos, futPos) == false) {
retVal = INVALID_MOVE;//no kill = invalid move
}
else {
//by hitting this block we have a kill
retVal = KILL_THIS_ROUND;
//calculate the landing index
int diff = futPos - curPos;
int landingIdx = futPos + diff;
//check it for future kills
if(checkIndexForFutureKills(landingIdx)) {
retVal += KILL_NEXT_ROUND;//multiple kill
if(hard) {
for(int i = 0; i < 8; i++) {
int tempIdx = fac.movementMatrix[landingIdx][i];
if(checkIndexForFutureKills(tempIdx))
retVal += KILL_IN_2_ROUNDS;
}
}
}
retVal = hard ? (retVal + additive) : retVal;//if set to hard, give the applicable bonus
}
}
return retVal;
}

More Related Content

What's hot

Game Development Methodology Mapped on the EvoGlimpse Video Game Experiment
Game Development Methodology Mapped on the EvoGlimpse Video Game ExperimentGame Development Methodology Mapped on the EvoGlimpse Video Game Experiment
Game Development Methodology Mapped on the EvoGlimpse Video Game ExperimentZelia Blaga
 
Introduction to windows xp
Introduction to windows xpIntroduction to windows xp
Introduction to windows xpAbenezer Abiti
 
Introduction To Windows Xp Class 1
Introduction To Windows Xp   Class 1Introduction To Windows Xp   Class 1
Introduction To Windows Xp Class 1puter_geeket
 
Lecture 3 INTRODUCTION TO COMPUTER
Lecture 3 INTRODUCTION TO COMPUTERLecture 3 INTRODUCTION TO COMPUTER
Lecture 3 INTRODUCTION TO COMPUTERSultan Omar Shige
 
WEB310 CASE STUDY: COOKIE CLICKER by Angeline Hildreth
WEB310 CASE STUDY: COOKIE CLICKER by Angeline HildrethWEB310 CASE STUDY: COOKIE CLICKER by Angeline Hildreth
WEB310 CASE STUDY: COOKIE CLICKER by Angeline HildrethAngeline Hildreth
 
Lesson 1 desktop (grade 1) 4th qtr
Lesson 1 desktop (grade 1) 4th qtrLesson 1 desktop (grade 1) 4th qtr
Lesson 1 desktop (grade 1) 4th qtrShaw Cruz
 
Noughts and Crosses Design Information
Noughts and Crosses Design InformationNoughts and Crosses Design Information
Noughts and Crosses Design InformationChristopher Orchard
 
Operating system presentation
Operating system  presentationOperating system  presentation
Operating system presentationDescon
 

What's hot (10)

Basic Parts of a Desktop
Basic Parts of a DesktopBasic Parts of a Desktop
Basic Parts of a Desktop
 
Game Development Methodology Mapped on the EvoGlimpse Video Game Experiment
Game Development Methodology Mapped on the EvoGlimpse Video Game ExperimentGame Development Methodology Mapped on the EvoGlimpse Video Game Experiment
Game Development Methodology Mapped on the EvoGlimpse Video Game Experiment
 
Introduction to windows xp
Introduction to windows xpIntroduction to windows xp
Introduction to windows xp
 
Introduction To Windows Xp Class 1
Introduction To Windows Xp   Class 1Introduction To Windows Xp   Class 1
Introduction To Windows Xp Class 1
 
Windows operating system presentation
Windows operating system presentationWindows operating system presentation
Windows operating system presentation
 
Lecture 3 INTRODUCTION TO COMPUTER
Lecture 3 INTRODUCTION TO COMPUTERLecture 3 INTRODUCTION TO COMPUTER
Lecture 3 INTRODUCTION TO COMPUTER
 
WEB310 CASE STUDY: COOKIE CLICKER by Angeline Hildreth
WEB310 CASE STUDY: COOKIE CLICKER by Angeline HildrethWEB310 CASE STUDY: COOKIE CLICKER by Angeline Hildreth
WEB310 CASE STUDY: COOKIE CLICKER by Angeline Hildreth
 
Lesson 1 desktop (grade 1) 4th qtr
Lesson 1 desktop (grade 1) 4th qtrLesson 1 desktop (grade 1) 4th qtr
Lesson 1 desktop (grade 1) 4th qtr
 
Noughts and Crosses Design Information
Noughts and Crosses Design InformationNoughts and Crosses Design Information
Noughts and Crosses Design Information
 
Operating system presentation
Operating system  presentationOperating system  presentation
Operating system presentation
 

Viewers also liked

The Bloch Space of Analytic functions
The Bloch Space of Analytic functionsThe Bloch Space of Analytic functions
The Bloch Space of Analytic functionsIJMER
 
Bs31267274
Bs31267274Bs31267274
Bs31267274IJMER
 
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ (ΕΙΣΑΓΩΓΗ ΞΕΝΟΦΩΝΤΑ )
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ (ΕΙΣΑΓΩΓΗ ΞΕΝΟΦΩΝΤΑ )ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ (ΕΙΣΑΓΩΓΗ ΞΕΝΟΦΩΝΤΑ )
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ (ΕΙΣΑΓΩΓΗ ΞΕΝΟΦΩΝΤΑ )Popi Kaza
 
Radiation and Mass Transfer Effects on MHD Natural Convection Flow over an In...
Radiation and Mass Transfer Effects on MHD Natural Convection Flow over an In...Radiation and Mass Transfer Effects on MHD Natural Convection Flow over an In...
Radiation and Mass Transfer Effects on MHD Natural Convection Flow over an In...IJMER
 
Design and Analysis of Canister Testing Chamber
Design and Analysis of Canister Testing ChamberDesign and Analysis of Canister Testing Chamber
Design and Analysis of Canister Testing ChamberIJMER
 
Mgt 330 final exam set 3
Mgt 330 final exam set 3Mgt 330 final exam set 3
Mgt 330 final exam set 3liam111221
 
Ap3193100
Ap3193100Ap3193100
Ap3193100IJMER
 
Aw31133138
Aw31133138Aw31133138
Aw31133138IJMER
 
Static Analysis of a Pyro Turbine by using CFD
Static Analysis of a Pyro Turbine by using CFDStatic Analysis of a Pyro Turbine by using CFD
Static Analysis of a Pyro Turbine by using CFDIJMER
 
The Effect of Design Parameters of an Integrated Linear Electromagnetic Moto...
The Effect of Design Parameters of an Integrated Linear  Electromagnetic Moto...The Effect of Design Parameters of an Integrated Linear  Electromagnetic Moto...
The Effect of Design Parameters of an Integrated Linear Electromagnetic Moto...IJMER
 
Online Bus Arrival Time Prediction Using Hybrid Neural Network and Kalman fil...
Online Bus Arrival Time Prediction Using Hybrid Neural Network and Kalman fil...Online Bus Arrival Time Prediction Using Hybrid Neural Network and Kalman fil...
Online Bus Arrival Time Prediction Using Hybrid Neural Network and Kalman fil...IJMER
 
Intrusion Detection and Forensics based on decision tree and Association rule...
Intrusion Detection and Forensics based on decision tree and Association rule...Intrusion Detection and Forensics based on decision tree and Association rule...
Intrusion Detection and Forensics based on decision tree and Association rule...IJMER
 
FPGA Based Wireless Jamming Networks
FPGA Based Wireless Jamming NetworksFPGA Based Wireless Jamming Networks
FPGA Based Wireless Jamming NetworksIJMER
 
Seismic Pounding Effect in Framed Structures
Seismic Pounding Effect in Framed Structures Seismic Pounding Effect in Framed Structures
Seismic Pounding Effect in Framed Structures IJMER
 
Personalization of the Web Search
Personalization of the Web SearchPersonalization of the Web Search
Personalization of the Web SearchIJMER
 
Determination of Some Mechanical And Hydraulic Properties Of Biu Clayey Soils...
Determination of Some Mechanical And Hydraulic Properties Of Biu Clayey Soils...Determination of Some Mechanical And Hydraulic Properties Of Biu Clayey Soils...
Determination of Some Mechanical And Hydraulic Properties Of Biu Clayey Soils...IJMER
 
Testing of Already Existing and Developing New Compaction Equations during C...
Testing of Already Existing and Developing New Compaction  Equations during C...Testing of Already Existing and Developing New Compaction  Equations during C...
Testing of Already Existing and Developing New Compaction Equations during C...IJMER
 
Develop with love bb10
Develop with love bb10Develop with love bb10
Develop with love bb10Bhasker Thapan
 

Viewers also liked (20)

The Bloch Space of Analytic functions
The Bloch Space of Analytic functionsThe Bloch Space of Analytic functions
The Bloch Space of Analytic functions
 
Bs31267274
Bs31267274Bs31267274
Bs31267274
 
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ (ΕΙΣΑΓΩΓΗ ΞΕΝΟΦΩΝΤΑ )
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ (ΕΙΣΑΓΩΓΗ ΞΕΝΟΦΩΝΤΑ )ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ (ΕΙΣΑΓΩΓΗ ΞΕΝΟΦΩΝΤΑ )
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ (ΕΙΣΑΓΩΓΗ ΞΕΝΟΦΩΝΤΑ )
 
Radiation and Mass Transfer Effects on MHD Natural Convection Flow over an In...
Radiation and Mass Transfer Effects on MHD Natural Convection Flow over an In...Radiation and Mass Transfer Effects on MHD Natural Convection Flow over an In...
Radiation and Mass Transfer Effects on MHD Natural Convection Flow over an In...
 
Design and Analysis of Canister Testing Chamber
Design and Analysis of Canister Testing ChamberDesign and Analysis of Canister Testing Chamber
Design and Analysis of Canister Testing Chamber
 
new zealand
new zealandnew zealand
new zealand
 
Mgt 330 final exam set 3
Mgt 330 final exam set 3Mgt 330 final exam set 3
Mgt 330 final exam set 3
 
Ap3193100
Ap3193100Ap3193100
Ap3193100
 
Aw31133138
Aw31133138Aw31133138
Aw31133138
 
Static Analysis of a Pyro Turbine by using CFD
Static Analysis of a Pyro Turbine by using CFDStatic Analysis of a Pyro Turbine by using CFD
Static Analysis of a Pyro Turbine by using CFD
 
The Effect of Design Parameters of an Integrated Linear Electromagnetic Moto...
The Effect of Design Parameters of an Integrated Linear  Electromagnetic Moto...The Effect of Design Parameters of an Integrated Linear  Electromagnetic Moto...
The Effect of Design Parameters of an Integrated Linear Electromagnetic Moto...
 
Online Bus Arrival Time Prediction Using Hybrid Neural Network and Kalman fil...
Online Bus Arrival Time Prediction Using Hybrid Neural Network and Kalman fil...Online Bus Arrival Time Prediction Using Hybrid Neural Network and Kalman fil...
Online Bus Arrival Time Prediction Using Hybrid Neural Network and Kalman fil...
 
Intrusion Detection and Forensics based on decision tree and Association rule...
Intrusion Detection and Forensics based on decision tree and Association rule...Intrusion Detection and Forensics based on decision tree and Association rule...
Intrusion Detection and Forensics based on decision tree and Association rule...
 
FPGA Based Wireless Jamming Networks
FPGA Based Wireless Jamming NetworksFPGA Based Wireless Jamming Networks
FPGA Based Wireless Jamming Networks
 
Seismic Pounding Effect in Framed Structures
Seismic Pounding Effect in Framed Structures Seismic Pounding Effect in Framed Structures
Seismic Pounding Effect in Framed Structures
 
Personalization of the Web Search
Personalization of the Web SearchPersonalization of the Web Search
Personalization of the Web Search
 
Determination of Some Mechanical And Hydraulic Properties Of Biu Clayey Soils...
Determination of Some Mechanical And Hydraulic Properties Of Biu Clayey Soils...Determination of Some Mechanical And Hydraulic Properties Of Biu Clayey Soils...
Determination of Some Mechanical And Hydraulic Properties Of Biu Clayey Soils...
 
Bill gates
Bill gatesBill gates
Bill gates
 
Testing of Already Existing and Developing New Compaction Equations during C...
Testing of Already Existing and Developing New Compaction  Equations during C...Testing of Already Existing and Developing New Compaction  Equations during C...
Testing of Already Existing and Developing New Compaction Equations during C...
 
Develop with love bb10
Develop with love bb10Develop with love bb10
Develop with love bb10
 

Similar to Di3211291134

Kingston University AR Drone game-final report.pdf
Kingston University AR Drone game-final report.pdfKingston University AR Drone game-final report.pdf
Kingston University AR Drone game-final report.pdfAnne David
 
The influence of eyes and brain
The influence of eyes and brainThe influence of eyes and brain
The influence of eyes and brainijma
 
Project Report Tron Legacy
Project Report Tron LegacyProject Report Tron Legacy
Project Report Tron LegacyManpreet Singh
 
Learning to Play Complex Games
Learning to Play Complex GamesLearning to Play Complex Games
Learning to Play Complex Gamesbutest
 
Biological organism simulation using procedural growth "Organimo 1.0"
Biological organism simulation using procedural growth "Organimo 1.0"Biological organism simulation using procedural growth "Organimo 1.0"
Biological organism simulation using procedural growth "Organimo 1.0"Devyani Singh
 
Galactic Wars XNA Game
Galactic Wars XNA GameGalactic Wars XNA Game
Galactic Wars XNA GameSohil Gupta
 
The complete srs documentation of our developed game.
The complete srs documentation of our developed game. The complete srs documentation of our developed game.
The complete srs documentation of our developed game. Isfand yar Khan
 
Android gamesanalysis hunger-gamesfinal
Android gamesanalysis hunger-gamesfinalAndroid gamesanalysis hunger-gamesfinal
Android gamesanalysis hunger-gamesfinalMilind Gokhale
 
Final year project presentation
Final year project presentationFinal year project presentation
Final year project presentationSulemanAliMalik
 
Purge – First Person Shooting (FPS) Game
Purge – First Person Shooting (FPS) GamePurge – First Person Shooting (FPS) Game
Purge – First Person Shooting (FPS) GameIRJET Journal
 
Noughts and Crosses Specification
Noughts and Crosses SpecificationNoughts and Crosses Specification
Noughts and Crosses SpecificationChristopher Orchard
 
The Role of Shologuti in Artificial Intelligence Research: A Rural Game of Ba...
The Role of Shologuti in Artificial Intelligence Research: A Rural Game of Ba...The Role of Shologuti in Artificial Intelligence Research: A Rural Game of Ba...
The Role of Shologuti in Artificial Intelligence Research: A Rural Game of Ba...IJCSIS Research Publications
 
Ijipm jong hyounkim_ijipm1-070061ip
Ijipm jong hyounkim_ijipm1-070061ipIjipm jong hyounkim_ijipm1-070061ip
Ijipm jong hyounkim_ijipm1-070061ipJongHyoun
 
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web CameraGesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web CameraIJERD Editor
 
Car racing game for android
Car racing game for androidCar racing game for android
Car racing game for androidravijot singh
 
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINE
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINESTUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINE
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINEAIRCC Publishing Corporation
 

Similar to Di3211291134 (20)

intern.pdf
intern.pdfintern.pdf
intern.pdf
 
Kingston University AR Drone game-final report.pdf
Kingston University AR Drone game-final report.pdfKingston University AR Drone game-final report.pdf
Kingston University AR Drone game-final report.pdf
 
The influence of eyes and brain
The influence of eyes and brainThe influence of eyes and brain
The influence of eyes and brain
 
Project Report Tron Legacy
Project Report Tron LegacyProject Report Tron Legacy
Project Report Tron Legacy
 
Learning to Play Complex Games
Learning to Play Complex GamesLearning to Play Complex Games
Learning to Play Complex Games
 
Biological organism simulation using procedural growth "Organimo 1.0"
Biological organism simulation using procedural growth "Organimo 1.0"Biological organism simulation using procedural growth "Organimo 1.0"
Biological organism simulation using procedural growth "Organimo 1.0"
 
Galactic Wars XNA Game
Galactic Wars XNA GameGalactic Wars XNA Game
Galactic Wars XNA Game
 
The complete srs documentation of our developed game.
The complete srs documentation of our developed game. The complete srs documentation of our developed game.
The complete srs documentation of our developed game.
 
Android gamesanalysis hunger-gamesfinal
Android gamesanalysis hunger-gamesfinalAndroid gamesanalysis hunger-gamesfinal
Android gamesanalysis hunger-gamesfinal
 
Exploratory Analysis of AI Techniques in Computer Games and Challenges faced ...
Exploratory Analysis of AI Techniques in Computer Games and Challenges faced ...Exploratory Analysis of AI Techniques in Computer Games and Challenges faced ...
Exploratory Analysis of AI Techniques in Computer Games and Challenges faced ...
 
Final year project presentation
Final year project presentationFinal year project presentation
Final year project presentation
 
Purge – First Person Shooting (FPS) Game
Purge – First Person Shooting (FPS) GamePurge – First Person Shooting (FPS) Game
Purge – First Person Shooting (FPS) Game
 
Noughts and Crosses Specification
Noughts and Crosses SpecificationNoughts and Crosses Specification
Noughts and Crosses Specification
 
The Role of Shologuti in Artificial Intelligence Research: A Rural Game of Ba...
The Role of Shologuti in Artificial Intelligence Research: A Rural Game of Ba...The Role of Shologuti in Artificial Intelligence Research: A Rural Game of Ba...
The Role of Shologuti in Artificial Intelligence Research: A Rural Game of Ba...
 
R.A.W - THE GAME
R.A.W - THE GAMER.A.W - THE GAME
R.A.W - THE GAME
 
Ijipm jong hyounkim_ijipm1-070061ip
Ijipm jong hyounkim_ijipm1-070061ipIjipm jong hyounkim_ijipm1-070061ip
Ijipm jong hyounkim_ijipm1-070061ip
 
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web CameraGesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
 
Car racing game for android
Car racing game for androidCar racing game for android
Car racing game for android
 
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINE
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINESTUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINE
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINE
 
Js3516731693
Js3516731693Js3516731693
Js3516731693
 

More from IJMER

A Study on Translucent Concrete Product and Its Properties by Using Optical F...
A Study on Translucent Concrete Product and Its Properties by Using Optical F...A Study on Translucent Concrete Product and Its Properties by Using Optical F...
A Study on Translucent Concrete Product and Its Properties by Using Optical F...IJMER
 
Developing Cost Effective Automation for Cotton Seed Delinting
Developing Cost Effective Automation for Cotton Seed DelintingDeveloping Cost Effective Automation for Cotton Seed Delinting
Developing Cost Effective Automation for Cotton Seed DelintingIJMER
 
Study & Testing Of Bio-Composite Material Based On Munja Fibre
Study & Testing Of Bio-Composite Material Based On Munja FibreStudy & Testing Of Bio-Composite Material Based On Munja Fibre
Study & Testing Of Bio-Composite Material Based On Munja FibreIJMER
 
Hybrid Engine (Stirling Engine + IC Engine + Electric Motor)
Hybrid Engine (Stirling Engine + IC Engine + Electric Motor)Hybrid Engine (Stirling Engine + IC Engine + Electric Motor)
Hybrid Engine (Stirling Engine + IC Engine + Electric Motor)IJMER
 
Fabrication & Characterization of Bio Composite Materials Based On Sunnhemp F...
Fabrication & Characterization of Bio Composite Materials Based On Sunnhemp F...Fabrication & Characterization of Bio Composite Materials Based On Sunnhemp F...
Fabrication & Characterization of Bio Composite Materials Based On Sunnhemp F...IJMER
 
Geochemistry and Genesis of Kammatturu Iron Ores of Devagiri Formation, Sandu...
Geochemistry and Genesis of Kammatturu Iron Ores of Devagiri Formation, Sandu...Geochemistry and Genesis of Kammatturu Iron Ores of Devagiri Formation, Sandu...
Geochemistry and Genesis of Kammatturu Iron Ores of Devagiri Formation, Sandu...IJMER
 
Experimental Investigation on Characteristic Study of the Carbon Steel C45 in...
Experimental Investigation on Characteristic Study of the Carbon Steel C45 in...Experimental Investigation on Characteristic Study of the Carbon Steel C45 in...
Experimental Investigation on Characteristic Study of the Carbon Steel C45 in...IJMER
 
Non linear analysis of Robot Gun Support Structure using Equivalent Dynamic A...
Non linear analysis of Robot Gun Support Structure using Equivalent Dynamic A...Non linear analysis of Robot Gun Support Structure using Equivalent Dynamic A...
Non linear analysis of Robot Gun Support Structure using Equivalent Dynamic A...IJMER
 
Static Analysis of Go-Kart Chassis by Analytical and Solid Works Simulation
Static Analysis of Go-Kart Chassis by Analytical and Solid Works SimulationStatic Analysis of Go-Kart Chassis by Analytical and Solid Works Simulation
Static Analysis of Go-Kart Chassis by Analytical and Solid Works SimulationIJMER
 
High Speed Effortless Bicycle
High Speed Effortless BicycleHigh Speed Effortless Bicycle
High Speed Effortless BicycleIJMER
 
Integration of Struts & Spring & Hibernate for Enterprise Applications
Integration of Struts & Spring & Hibernate for Enterprise ApplicationsIntegration of Struts & Spring & Hibernate for Enterprise Applications
Integration of Struts & Spring & Hibernate for Enterprise ApplicationsIJMER
 
Microcontroller Based Automatic Sprinkler Irrigation System
Microcontroller Based Automatic Sprinkler Irrigation SystemMicrocontroller Based Automatic Sprinkler Irrigation System
Microcontroller Based Automatic Sprinkler Irrigation SystemIJMER
 
On some locally closed sets and spaces in Ideal Topological Spaces
On some locally closed sets and spaces in Ideal Topological SpacesOn some locally closed sets and spaces in Ideal Topological Spaces
On some locally closed sets and spaces in Ideal Topological SpacesIJMER
 
Natural Language Ambiguity and its Effect on Machine Learning
Natural Language Ambiguity and its Effect on Machine LearningNatural Language Ambiguity and its Effect on Machine Learning
Natural Language Ambiguity and its Effect on Machine LearningIJMER
 
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcess
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcessEvolvea Frameworkfor SelectingPrime Software DevelopmentProcess
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcessIJMER
 
Material Parameter and Effect of Thermal Load on Functionally Graded Cylinders
Material Parameter and Effect of Thermal Load on Functionally Graded CylindersMaterial Parameter and Effect of Thermal Load on Functionally Graded Cylinders
Material Parameter and Effect of Thermal Load on Functionally Graded CylindersIJMER
 
Studies On Energy Conservation And Audit
Studies On Energy Conservation And AuditStudies On Energy Conservation And Audit
Studies On Energy Conservation And AuditIJMER
 
An Implementation of I2C Slave Interface using Verilog HDL
An Implementation of I2C Slave Interface using Verilog HDLAn Implementation of I2C Slave Interface using Verilog HDL
An Implementation of I2C Slave Interface using Verilog HDLIJMER
 
Discrete Model of Two Predators competing for One Prey
Discrete Model of Two Predators competing for One PreyDiscrete Model of Two Predators competing for One Prey
Discrete Model of Two Predators competing for One PreyIJMER
 
Application of Parabolic Trough Collectorfor Reduction of Pressure Drop in Oi...
Application of Parabolic Trough Collectorfor Reduction of Pressure Drop in Oi...Application of Parabolic Trough Collectorfor Reduction of Pressure Drop in Oi...
Application of Parabolic Trough Collectorfor Reduction of Pressure Drop in Oi...IJMER
 

More from IJMER (20)

A Study on Translucent Concrete Product and Its Properties by Using Optical F...
A Study on Translucent Concrete Product and Its Properties by Using Optical F...A Study on Translucent Concrete Product and Its Properties by Using Optical F...
A Study on Translucent Concrete Product and Its Properties by Using Optical F...
 
Developing Cost Effective Automation for Cotton Seed Delinting
Developing Cost Effective Automation for Cotton Seed DelintingDeveloping Cost Effective Automation for Cotton Seed Delinting
Developing Cost Effective Automation for Cotton Seed Delinting
 
Study & Testing Of Bio-Composite Material Based On Munja Fibre
Study & Testing Of Bio-Composite Material Based On Munja FibreStudy & Testing Of Bio-Composite Material Based On Munja Fibre
Study & Testing Of Bio-Composite Material Based On Munja Fibre
 
Hybrid Engine (Stirling Engine + IC Engine + Electric Motor)
Hybrid Engine (Stirling Engine + IC Engine + Electric Motor)Hybrid Engine (Stirling Engine + IC Engine + Electric Motor)
Hybrid Engine (Stirling Engine + IC Engine + Electric Motor)
 
Fabrication & Characterization of Bio Composite Materials Based On Sunnhemp F...
Fabrication & Characterization of Bio Composite Materials Based On Sunnhemp F...Fabrication & Characterization of Bio Composite Materials Based On Sunnhemp F...
Fabrication & Characterization of Bio Composite Materials Based On Sunnhemp F...
 
Geochemistry and Genesis of Kammatturu Iron Ores of Devagiri Formation, Sandu...
Geochemistry and Genesis of Kammatturu Iron Ores of Devagiri Formation, Sandu...Geochemistry and Genesis of Kammatturu Iron Ores of Devagiri Formation, Sandu...
Geochemistry and Genesis of Kammatturu Iron Ores of Devagiri Formation, Sandu...
 
Experimental Investigation on Characteristic Study of the Carbon Steel C45 in...
Experimental Investigation on Characteristic Study of the Carbon Steel C45 in...Experimental Investigation on Characteristic Study of the Carbon Steel C45 in...
Experimental Investigation on Characteristic Study of the Carbon Steel C45 in...
 
Non linear analysis of Robot Gun Support Structure using Equivalent Dynamic A...
Non linear analysis of Robot Gun Support Structure using Equivalent Dynamic A...Non linear analysis of Robot Gun Support Structure using Equivalent Dynamic A...
Non linear analysis of Robot Gun Support Structure using Equivalent Dynamic A...
 
Static Analysis of Go-Kart Chassis by Analytical and Solid Works Simulation
Static Analysis of Go-Kart Chassis by Analytical and Solid Works SimulationStatic Analysis of Go-Kart Chassis by Analytical and Solid Works Simulation
Static Analysis of Go-Kart Chassis by Analytical and Solid Works Simulation
 
High Speed Effortless Bicycle
High Speed Effortless BicycleHigh Speed Effortless Bicycle
High Speed Effortless Bicycle
 
Integration of Struts & Spring & Hibernate for Enterprise Applications
Integration of Struts & Spring & Hibernate for Enterprise ApplicationsIntegration of Struts & Spring & Hibernate for Enterprise Applications
Integration of Struts & Spring & Hibernate for Enterprise Applications
 
Microcontroller Based Automatic Sprinkler Irrigation System
Microcontroller Based Automatic Sprinkler Irrigation SystemMicrocontroller Based Automatic Sprinkler Irrigation System
Microcontroller Based Automatic Sprinkler Irrigation System
 
On some locally closed sets and spaces in Ideal Topological Spaces
On some locally closed sets and spaces in Ideal Topological SpacesOn some locally closed sets and spaces in Ideal Topological Spaces
On some locally closed sets and spaces in Ideal Topological Spaces
 
Natural Language Ambiguity and its Effect on Machine Learning
Natural Language Ambiguity and its Effect on Machine LearningNatural Language Ambiguity and its Effect on Machine Learning
Natural Language Ambiguity and its Effect on Machine Learning
 
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcess
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcessEvolvea Frameworkfor SelectingPrime Software DevelopmentProcess
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcess
 
Material Parameter and Effect of Thermal Load on Functionally Graded Cylinders
Material Parameter and Effect of Thermal Load on Functionally Graded CylindersMaterial Parameter and Effect of Thermal Load on Functionally Graded Cylinders
Material Parameter and Effect of Thermal Load on Functionally Graded Cylinders
 
Studies On Energy Conservation And Audit
Studies On Energy Conservation And AuditStudies On Energy Conservation And Audit
Studies On Energy Conservation And Audit
 
An Implementation of I2C Slave Interface using Verilog HDL
An Implementation of I2C Slave Interface using Verilog HDLAn Implementation of I2C Slave Interface using Verilog HDL
An Implementation of I2C Slave Interface using Verilog HDL
 
Discrete Model of Two Predators competing for One Prey
Discrete Model of Two Predators competing for One PreyDiscrete Model of Two Predators competing for One Prey
Discrete Model of Two Predators competing for One Prey
 
Application of Parabolic Trough Collectorfor Reduction of Pressure Drop in Oi...
Application of Parabolic Trough Collectorfor Reduction of Pressure Drop in Oi...Application of Parabolic Trough Collectorfor Reduction of Pressure Drop in Oi...
Application of Parabolic Trough Collectorfor Reduction of Pressure Drop in Oi...
 

Di3211291134

  • 1. International Journal of Modern Engineering Research (IJMER) www.ijmer.com Vol.3, Issue.2, March-April. 2013 pp-1129-1134 ISSN: 2249-6645 www.ijmer.com 1129 | Page Justin R. Martinez, 1 Wenbin Luo2 12 Engineering Department, St. Mary's University, San Antonio, United States Abstract: In this paper, we present the design, implementation, and testing of an Android game, called Foxes and Chickens. It was developed for mobile devices with the Android mobile operating system. The Foxes and Chickens game itself has origins in South America, where it is very popular in some countries. However, to the best of our knowledge, no digital version of the game was available for mass consumption. Our research seeks to remedy this vacancy with the goal of adding values and enjoyment to users of the Android mobile devices. After going through strict software engineering processes of specification, design, coding, and testing, we successfully developed the game, as shown at the following link: http://www.youtube.com/watch?v=xeXYiR3Qwio. The game Foxes and Chickens is available for download from the Google play for anyone with an Android powered device. It has been tested for compatibility on the following mobile devices: T- Mobile’s G1, HTC My Touch, and Verizon’s Motorola Droid. It should run on other compatible Android handsets as well. Keywords: Android development, foxes and chickens, Java, mobile games, software development I. INTRODUCTION The Foxes and Chickens game is developed for mobile devices with an Android operating system, which was designed as an operating system for mobile devices by Google and the Open Handset Alliance based on the Linux kernel [1]. The Foxes and Chickens game is a turn-based strategy game that has similarities to Checkers and Chess (rules of the game can be found in Appendix). The game has two game modes (single player and two players) and three levels of difficulty (easy, intermediate, and hard). The object of the game is to move nine of the initial twenty chickens on the game board to safety, while the foxes attempt to prevent this by killing chickens within reach. At the time of creation, game development on the Android platform was still in its early stage and few projects existed where the development process and sources were available for others to utilize. This research sought to remedy this vacancy by both documenting the creation and providing source code for others to learn from. 1.1 Product Features A high level list of the major features of our developed game is as follows.  Two operational modes: single player and two players.  Three tiers of difficulty: easy, intermediate, and hard  Invalid movements are not allowed.  In-game rule-set, tutorial mode where invalid moves are explained.  Non-Player Character (NPC) movement accomplished in fixed time.  Intuitive and linear interface.  Smooth animation system.  Bright, vibrant colors. These represent the major categories of the requirements and will be explained in more details in the remainder of this paper. 1.2 User Classes and Characteristics There is one class of user for the game: the player class. The player can be either male or female, most likely technically savvy (due to the target platform), and can be classified as a casual gamer. Casual gamers tend to enjoy simple, yet dynamic games that are easy to understand, frequently reward the player, are short in duration (as opposed to games where characters must be developed and nurtured), and have high re-playability by not becoming boring or repetitive. 1.3 Online Help A help screen will be provided to assist in understanding the rule-set for the game. No other documentation will be provided to the user. The linear and clean structure of the user interface makes additional help unnecessary. One of the help screens is shown in Fig. 4 of section III: user interfaces. Help screens are intended to give the player an overview of how the game is played. II. SYSTEM ANALYSIS AND DESIGN The system analysis of the proposed Foxes and Chickens game involved the formulation of use cases, sequence diagrams, and state diagrams of the game. To properly understand and explicate out the game's flow, we developed a number of use cases. All of these techniques allowed us to better articulate the requirements of the system in terms of objects, classes, attributes, relationships, scenarios, and actors. A sample use case is shown below. The Design and Implementation of an Android Game: Foxes and Chickens
  • 2. International Journal of Modern Engineering Research (IJMER) www.ijmer.com Vol.3, Issue.2, March-April. 2013 pp-1129-1134 ISSN: 2249-6645 www.ijmer.com 1130 | Page Figure 1. Use case Sequence diagrams are the interaction diagrams that show how processes operate with one another and in what order. The aforementioned use case was captured in the following sequence diagram which we developed for the Foxes and Chickens game. In this use case, the player launches the game or has selected to reset the game while playing. If the player has launched a new game the default values are used for the selection available to them, while a reset game will use the setting from the previous play. After accepting the defaults or correcting them to the player’s desire, the game is launched. Figure 2. Sequence diagram
  • 3. International Journal of Modern Engineering Research (IJMER) www.ijmer.com Vol.3, Issue.2, March-April. 2013 pp-1129-1134 ISSN: 2249-6645 www.ijmer.com 1131 | Page At its most basic, the game functions as a simple state machine. As the player interacts with the system, control flows between discreet points, each with separate logic. When the game is started, the user is prompted to select the number of players, dynamic help and whether to enable audio. If the number of players is “one”, the user is then asked about the difficulty level. After that, the game begins. After the user selects a piece to move and selects a destination, the move is validated. In the case of the NPC mode, validation is skipped as it is an integral part of the artificial intelligent process in the system. The system then checks the game for a game over state. If the game is over, the user is prompted to reset. Otherwise, the active player is toggled and the process cycles. Figure 3. State map III. USER INTERFACES Usability and portability are the most important quality attributes applicable to this research project. Since the Foxes and Chickens game is targeted toward casual gamers, the interface and mechanics of game play are required to be simple and straight forward. This section provides several sample screen images representing the general “look and feel” of the interface and a visual representation of applicable system features and game states.
  • 4. International Journal of Modern Engineering Research (IJMER) www.ijmer.com Vol.3, Issue.2, March-April. 2013 pp-1129-1134 ISSN: 2249-6645 www.ijmer.com 1132 | Page Figure 4. Sample screen images Upon initial launch, the game enters SelectPlayersState, where the user notifies the system of the number of players. In the sample images presented, the user would have selected “One”. This selection transitions to Select Dificulty State where the user notifies the system of the difficulty level at which he could like to play. After Select Difficulty State, the system has enough information to initialize the game and allow game play to begin. Game play State is not a single state but an aggregation of several states. Upon completion of game play, the system transitions to the End Game State, where the user is notified of his success or failure. When the user options to be notified of invalid movements, he will see a text message appear in a notification area after an invalid move attempt. IV. IMPLEMENTATION AND TESTING The software development utilized the Eclipse Integrated Development Environment (IDE) with the Android Software Development Kit (SDK) that is cross platform among Windows, Linux, or Macintosh. In the case of this research project, the following configuration was used: Windows Vista SP2, Java 1.6, Eclipse 3.5, and Android SDK 1.5r3. Testing occurred on a T-Mobile G1 and HTC My Touch running the Android OS, versions 1.5 and 1.6 and on a Motorola Droid running the Android OS version 2.0. The figure below shows the deployment model for the Foxes and Chickens game. As stated previously, required is a T-Mobile G1 Handset running the Android OS version 1.5. When packaged within Eclipse, the resultant file is of type *.apk, which is an encrypted and compressed java package. When the game is installed on a target device, the application icon is extracted and yet the application itself remains in the apk form. Figure 5. Deployment model
  • 5. International Journal of Modern Engineering Research (IJMER) www.ijmer.com Vol.3, Issue.2, March-April. 2013 pp-1129-1134 ISSN: 2249-6645 www.ijmer.com 1133 | Page The final step, which is arguably one of the most important, is testing. It is of crucial importance to ascertain whether a software system does what it is supposed to do and fulfills the requirements set forth by the stakeholders of the system. Testing occurred throughout the development process and the findings helped shape development and game features. A few examples of the bugs found are listed below:  Foxes, after completing a multi-jump, would land in invalid locations.  Resetting the game would change the user selections from the previous launch.  Several obscure issues that ended up being related to thread messaging. At the time of this writing, there have been about 10,000~50,000 downloads of the Foxes and Chickens game from Google play (https://play.google.com/). The game is free to use and the source code will be made available to the public to help others learn about Android development. After we fixed issues found by users in the initial release of the game, users posted very positive comments on the game, such as 1) Very challenging, which is what makes it fun; 2) Challenging works flawlessly on Samsung Galaxy S; 3) Very smart game with cool graphics; 4) Fun game looks good; 5) Classic game - great when waiting for a flight or similar; works well. V. CONCLUSION In this paper, we presented an Android game named Foxes and Chickens that we have successfully designed and implemented for the Android mobile devices. Solid software engineering principles were utilized in the design and implementation of the Foxes and Chickens game. In addition, we performed extensive testing to validate different functionalities available in the game. Our testing and users' positive comments indicated that the Foxes and Chickens game met user expectations and is a fun game to play on Android mobile devices. REFERENCES [1] Open Handset Alliance, http://www.openhandsetalliance.com/ [2] Android Developers Web Portal, http://developer.android.com/index.html [3] J. Arlow and I. Neustadt, UML 2 and the unified process (Addison-Wesley, MA: Boston, 2005). [4] C. Fox, Introduction to software engineering design (Addison-Wesley, MA: Boston, 2006). [5] R. Pressman, Software engineering (McGraw-Hill, NY: New York, 2005). APPENDICES I: the Foxes and Chickens game rules  Both players must move each turn. If a player is unable to move any pieces, that player loses. In the case of foxes, if a fox ever becomes trapped (i.e. cannot move), that fox is removed from the game.  Foxes can move one unit in any direction, but in order to kill a chicken, the next unit beyond the chicken must be vacant. (This is akin to jumping in checkers).  Foxes can perform multiple kills per turn provided that they do not violate any other rule (multi-jumps).  Chickens can only move one unit in a forward or side direction. They may not move backwards. (Forward is defined as up, toward the chicken-pen).  Movement is constrained to the directional paths as displayed on the game board.  The chickens win by filling the pen with nine chickens. The foxes win by reducing the number of chickens on the board to a number less than nine. APPENDICES II: Code snippet: scoring a move //At intermediate difficulty, this method generates a score for the position passed in. For the Hard //setting, this is expanded to also take into account if a move will yield a future attack. private int scoreMove(int curPos, int futPos, boolean hard) { int retVal = INVALID_MOVE; //foxes get a bonus for staying in the pen at hard difficulty int additive = futPos < (curPos-5) ? 1 : 0; if(fac.gameState[futPos] == 'x' || fac.gameState[futPos] == 'f') retVal = INVALID_MOVE;//impossible move else if (fac.gameState[futPos] == 's') { if(checkIndexForFutureKills(futPos)) { //movement which leads to a future kill (in one move) retVal = KILL_NEXT_ROUND; //if set to hard, give the applicable bonus retVal = hard ? (retVal + additive) : retVal; } else if(hard) { for(int i = 0; i < 8; i++) { int tempIdx = fac.movementMatrix[futPos][i]; if(checkIndexForFutureKills(tempIdx)) //movement which leads to a future kill (in two moves) is worth 2
  • 6. International Journal of Modern Engineering Research (IJMER) www.ijmer.com Vol.3, Issue.2, March-April. 2013 pp-1129-1134 ISSN: 2249-6645 www.ijmer.com 1134 | Page retVal = KILL_IN_2_ROUNDS; } //even if there are not future kill, this is still a valid move if(retVal == INVALID_MOVE) retVal = VALID_MOVE; } else retVal = VALID_MOVE; } else {//fac.gameState[futPos] == 'c' ... we need to check for a kill, or multiple kills if(checkIndexForKills(curPos, futPos) == false) { retVal = INVALID_MOVE;//no kill = invalid move } else { //by hitting this block we have a kill retVal = KILL_THIS_ROUND; //calculate the landing index int diff = futPos - curPos; int landingIdx = futPos + diff; //check it for future kills if(checkIndexForFutureKills(landingIdx)) { retVal += KILL_NEXT_ROUND;//multiple kill if(hard) { for(int i = 0; i < 8; i++) { int tempIdx = fac.movementMatrix[landingIdx][i]; if(checkIndexForFutureKills(tempIdx)) retVal += KILL_IN_2_ROUNDS; } } } retVal = hard ? (retVal + additive) : retVal;//if set to hard, give the applicable bonus } } return retVal; }