Sodapdf
Sodapdf
MOINUDHEEN MA
Regd. No.: ATAVBCA022
Under Supervision of Mr. Shijo
Riss Technologies pvt.Ltd,
(2021 - 2024)
ACKNOWLEDGEMENT
Moinudheen MA
(ATAVBCA022)
ABSTRACT
Encapsulates the
essence of an An
droid Tic-Tac-Toe
game project, det
ailing its objective
s,
features, and outc
omes. The project
aims to develop
a user-friendly an
d aesthetically
pleasing mobile g
ame, employing J
ava and Android
Studio for implem
entation. The prim
ary
focus lies in creati
ng an engaging g
aming experience,
with emphasis on
intuitive touch
controls and visua
lly appealing grap
hics. The project i
ncorporates algorit
hmic logic for ga
me
mechanics, ensuri
ng a balanced an
d competitive gam
eplay. Through thi
s endeavor, the g
oal
is to contribute to
the Android gamin
g ecosystem by d
elivering a well-
crafted Tic-Tac-
Toe
application that co
mbines classic ga
meplay with mode
rn design principle
s, offering users a
n
enjoyable and inte
ractive experience
on their mobile de
vices.
Organisation Info
rmation:
Riss Technologies
is a professionally
managed company
with years of ind
ustry experience
indeveloping and
delivering Enterpri
se specific Softw
are and Web de
velopment solution
s
using latest tech
nologies. Quality
is the buzz wor
d in today's wor
ld without which
no
organization can s
urvive. Along with
quality we at Tec
hnologies. "Think
Beyond" to take o
ne
step ahead and f
ocus on Delivery
of the solutions.
We design proces
ses that focus not
just
only on quality b
ut also on deliver
y which increases
the value to our
global clients. Apa
rt
from training our
employees on la
test technologies,
we also empow
er them to deliv
er
exciting solutions t
o our clients. At t
he core Technolo
gies operates in t
hree specific dom
ains
namely Software
Development, Web
site Design & Dev
elopment and Geo
graphic Informatio
n
Services. We als
o offer our servi
ces in building
E-Commerce solu
tions, Search En
gine
Optimization (SEO
) and Database A
dministration servi
ces. Under each
division we further
provide specific in
dustry solutions o
n focused domain
s with cutting edg
e technologies. W
e
emphasize on buil
ding relationships
with our clients by
delivering projects
on time and withi
n
budget.
Programs and op
portunities:
This ground up a
pproach helps us
deliver not only th
e solution to our
clients but also a
dd
value to At the c
ore Riss Technolo
gies operates in t
hree specific dom
ains namely Softw
are
Development, We
bsite Design &
Development and
Geographic Infor
mation Services.
We
also offer our ser
vices in building
E-Commerce soluti
ons, Search Engin
e Optimization (S
EO)
and Database A
dministration servi
ces. Under each
division we furth
er provide specifi
c
industry solutions
on focused dom
ains with cutting
edge technologies.
We emphasize o
n
building relationshi
ps with our clients
by delivering proj
ects on time and
within budget and
quality products.
Methodologies:
We follow a struct
ured methodology
for our projects w
hich starts from d
esigning the soluti
on
to the implementat
ion phase. Well pl
anned Project red
uces the time to
deliver the project
and any addition
al ad-hoc costs
to our clients, h
ence we dedicat
e majority of ou
r time
understanding our
clients business a
nd gather require
ments. This groun
d up approach he
lps
us deliver not onl
y the solution to
our clients but als
o add value to yo
ur investments
Key parts of the
report:
Under each divisio
n we further provi
de specific industr
y solutions on foc
used domains wit
h
cutting edge techn
ologies.
Benefits of the C
ompany/
Institution throug
h our report:Und
er each division w
emphasize
on delivering qua
lity products withi
n budget while
maintaining health
y relationships wi
th
clients.
INDEX
1.1Modules……
…………………
…………………
…………………
………….2
2.Analysis……
…………………
…………………
…………………
…………...3
3.Software req
uirements speci
fications ………
…………………
…………...4
4.Technology…
…………………
…………………
…………………
…..………5
4.1 Android…
…………………
…………………
…………………
…………….5
4.2 Xml
…………………
…………………
…………………
………………….
.6
4.3 Java……
…………………
…………………
…………………
……………..7
Learning Objectives/Internship Objectives:
In the ever-evolving
landscape of mobile
applications, the
Android Tic-Tac-Toe
project emerges as
a testament to both
nostalgia and innovat
ion. This ambitious e
ndeavor seeks to
breathe new life in
to the timeless ga
me of Tic-Tac-Toe,
harnessing the capa
bilities of the Androi
d platform. Through
the meticulous integ
ration of Java prog
ramming and the
Android Studio dev
elopment environme
nt, our aim is to
deliver not just a
game but an imme
rsive and engaging
experience for users
across diverse Andro
id devices.
The rationale behin
d choosing Tic-Tac-
Toe as the focal
point of our project l
ies in its universal a
ppeal. This classic
game, often etched
in childhood memo
ries, provides a
familiar yet exciting
canvas for exploratio
n. By bringing it to
the Android ecosyste
m, we aim to bridge
the gap between
tradition and techno
logy, offering users
a blend of the
nostalgic and the c
ontemporary.This An
droid Tic-Tac-Toe
project is not mere
ly a standalone ga
me; it represents a
contribution to the d
ynamic Android gami
ng landscape. By
combining a classic
game with modern t
echnology, we aim
to demonstrate the p
otential for innovatio
n within seemingly
simple concepts. Thi
s project serves as
an inspiration for
developers to explo
re creative avenues
in reviving and
reimagining timeless
games for contempor
ary audiences.
1
• Implements animations for smooth transitions between game states.
• Evaluates the game state after each move to determine a winner or draw etc.
Player Input :
• Validates and processes player moves within the constraints of the game rule
2
SYSTEM ANALYSIS
Proposed System:
Android holds immense
promise and potential, d
riven by technological a
dvancements,
evolving user expectations,
and the continued growth
of the mobile gaming indu
stry. In this
exploration, we’ll delve int
o key aspects that define
the trajectory of future An
droid games,
including advancements in
technology, innovative ga
meplay experiences, emer
ging trends,
potential challenges, and
the overall impact on t
he gaming landscape.Thi
s project is a
digital adaptation of the cl
assic Tic Tac Toe game
designed to run on Androi
d devices. This
simple yet engaging game
leverages the capabilities
of Android smartphones a
nd tablets to
provide a convenient and
interactive gaming experie
nce. Below, I’ll cover key
aspects of a
typical Tic Tac Toe game
on Android.
3
3.
3.1 Syst
em conf
iguration
s
The soft
ware req
uirement
specificati
on can p
roduce a
t the cul
mination
of the a
nalysis t
ask.
The fun
ction an
d perfor
mance a
llocated
to softw
are as
part of
system
engineeri
ng are
refined
by establ
ished a
complete
informati
on descr
iption, a
detailed f
unctional
descriptio
n, a
represent
ation of
system b
ehavior,
and indic
ation of
performa
nce and
design c
onstrain,
appropria
te validat
e criteria,
and oth
er inform
ation per
tinent to
requirem
ents.
Software
Requirem
ents:
Hardware
Require
ment:
4
TECHNOLOGY
4.1 ANDROID
Android is an
open-source operating
system designed for m
obile devices, including
Android applications ar
e developed using Jav
a or Kotlin programmin
g languages. Android
Studio, the official Int
egrated Development
Environment (IDE), fa
cilitates the creation
of
apps with features like
code completion, debu
gging tools, and an e
mulator for testing. Th
e
Android SDK (Softwar
e Development Kit) p
rovides essential librar
ies and tools for
developers.
Android applications ha
ve a user interface bui
lt using XML (Extensibl
e Markup Language)
for layout definitions a
nd Java/Kotlin for beh
avior. The UI can ada
pt to various screen si
zes
and orientations, prom
oting a consistent exp
erience across different
devices. Widgets and
layouts help in creatin
g responsive and visu
ally appealing interface
s.
5
4.3 JAVA
Java’s integration into Android development dates back to the platform’s early stages.
Android applications are primarily developed using Java, thanks to its portability,
object-oriented nature, and extensive ecosystem of libraries and frameworks. Java’s “write
once, run anywhere” philosophy aligns seamlessly with the diverse range of Android devices
Android applications are built on the Android SDK (Software Development Kit), which relies
heavily on Java. Java source code is compiled into bytecode, which runs on the Java Virtu
al
Machine (JVM). This abstraction layer ensures that Android apps are not tied to a specific
hardware architecture, promoting compatibility across a myriad of devices.
Java is extensively used for designing the user interface (UI) of Android applications.
7
5.CODING
XML
<?xml versio
n="1.0" enco
ding="utf-
8"?>
<androidx.co
nstraintlayo
ut.widget.Co
nstraintLayo
ut
xmlns:androi
d=""
xmlns:app=""
xmlns:tools=
""
android:layo
ut_width="ma
tch_parent"
android:layo
ut_height="m
atch_parent"
android:back
ground="@col
or/green"
tools:contex
t=".MainActi
vity">
<!--title te
xt-->
<TextView
android:id="
@+id/
textView"
android:layo
ut_width="wr
ap_content"
android:layo
ut_height="w
rap_content"
android:layo
ut_marginTop
="23dp"
android:text
="GFG Tic Ta
c Toe"
8
android:textSize="45sp"
android:textStyle="bold"
app:fontFamily="cursive"
app:layout_constraintLeft_t
oLeftOf="parent"
app:layout_constraintRight_
toRightOf="parent"
app:layout_constraintTop_to
TopOf="parent" />
<ImageView
android:id="@+id/imageView"
android:layout_width="0dp"
android:layout_height="wrap
_content"
android:contentDescription=
"Start"
app:layout_constraintEnd_to
EndOf="parent"
app:layout_constraintStart_
toStartOf="parent"
app:layout_constraintTop_to
BottomOf="@+id/textView"
app:srcCompat="@drawable/
grid" />
9
<LinearLayout
android:id="@+id/
linearLayout"
android:layout_wi
dth="0dp"
android:layout_he
ight="420dp"
android:orientati
on="vertical"
app:layout_constr
aintBottom_toBott
omOf="@+id/
imageView"
app:layout_constr
aintEnd_toEndOf="
@+id/imageView"
app:layout_constr
aintStart_toStart
Of="@+id/
imageView"
app:layout_constr
aintTop_toTopOf="
@+id/imageView">
<LinearLayout
android:layout_wi
dth="match_parent
"
android:layout_he
ight="match_paren
t"
android:layout_we
ight="1"
android:orientati
on="horizontal">
<!--images of the
grid boxes-->
<ImageView
android:id="@+id/
imageView0"
10
<ImageView
android:id="@+
id/imageView4"
android:layout
_width="match_
parent"
android:layout
_height="match
_parent"
android:layout
_weight="1"
android:onClic
k="playerTap"
android:paddin
g="20sp"
android:tag="4
" />
<ImageView
android:id="@+
id/imageView5"
android:layout
_width="match_
parent"
android:layout
_height="match
_parent"
android:layout
_weight="1"
android:onClic
k="playerTap"
android:paddin
g="20sp"
android:tag="5
" />
</
LinearL 11
ayout>
android:layout_marginBottom="15sp"
android:text="Status"
android:textSize="28sp"
android:textStyle="italic"
app:layout_constraintBottom_toBottomOf
="parent"
app:layout_constraintEnd_toEndOf="pare
nt"
app:layout_constraintStart_toStartOf="
parent"
app:layout_constraintTop_toBottomOf="@
+id/linearLayout" />
</androidx.constraintlayout.widget.Con
straintLayout>
12
JAVA
import a
ndroid.o
s.Bundle
;
import a
ndroid.v
iew.View
;
import a
ndroid.w
idget.Im
ageView;
import a
ndroid.w
idget.Te
xtView;
import a
ndroidx.
appcompa
t.app.Ap
pCompatA
ctivity;
public c
lass Mai
nActivit
y extend
s AppCom
patActiv
ity {
boolean
gameActi
ve = tru
e;
// Playe
r repres
entation
// 0 - X
// 1 - O
int acti
vePlayer
= 0;
int[] ga
meState
= {2, 2,
2, 2, 2,
2, 2, 2,
2};
// State
meanings
:
// 0 - X
13
// 1 - O
// 2 - Null
int tappedImage =
Integer.parseInt(img.getTag().toString());
if (!gameActive) {
gameReset(view);
gameActive = true;
activePlayer = 0;
Arrays.fill(gameState, 2);
((ImageView)
findViewById(R.id.imageView0)).se
tImageResource(0);
((ImageView)
findViewById(R.id.imageView1)).se
tImageResource(0);
15
((ImageView)
findViewById(R.id.imageView2)).setImageResource(0);
((ImageView)
findViewById(R.id.imageView3)).setImageResource(0);
((ImageView)
findViewById(R.id.imageView4)).setImageResource(0);
((ImageView)
findViewById(R.id.imageView5)).setImageResource(0);
((ImageView)
findViewById(R.id.imageView6)).setImageResource(0);
23
((ImageView)
findViewById(R.id.imageView7)).setImageResource(0);
((ImageView)
findViewById(R.id.imageView8)).setImageResource(0);
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
16
6.SCREENSHOTS
1)
2)
3)
25
7.CONCLUSION
18
8.BIBLOGRAPHY
. “Android Programmi
ng: The Big Nerd
Ranch Guide” by
Bill Phillips
“Kotlin Programming:
3.
The Big Nerd Ranch
Guide” by Josh Ske
en;:
WEBLINKS: