Friday, March 22, 2013

Tic Tac Toe Game


CSS
<style type="text/css">
        input
        {
            width: 50px;
            height: 50px;
        }
        .winner
        {
            background-color: #FF69B4;
        }
</style>
HTML
<table width="150px">
            <tr>
                <td>
                    <input type="button" id="1" onclick="return Tic(this);" />
                </td>
                <td>
                    <input type="button" id="2" onclick="return Tic(this);" />
                </td>
                <td>
                    <input type="button" id="3" onclick="return Tic(this);" />
                </td>
            </tr>
            <tr>
                <td>
                    <input type="button" id="4" onclick="return Tic(this);" />
                </td>
                <td>
                    <input type="button" id="5" onclick="return Tic(this);" />
                </td>
                <td>
                    <input type="button" id="6" onclick="return Tic(this);" />
                </td>
            </tr>
            <tr>
                <td>
                    <input type="button" id="7" onclick="return Tic(this);" />
                </td>
                <td>
                    <input type="button" id="8" onclick="return Tic(this);" />
                </td>
                <td>
                    <input type="button" id="9" onclick="return Tic(this);" />
                </td>
            </tr>
        </table>
        <br />
        <input type="button" id="btnPlay" onclick="return Play();" value="Play" 
                  style="width:100px; height: 30px; font: verdana 12pt;" />
        <asp:HiddenField ID="hfGameOver" runat="server" Value="No" />
        <asp:HiddenField ID="hfValue" runat="server" Value="X" />
Script
<script type="text/javascript" language="javascript">
   var ID = [1, 2, 3, 4, 5, 6, 7, 8, 9];
       
    // Possible Solution Array 2D
   var SolArr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [1, 4, 7],
                     [2, 5, 8], [3, 6, 9], [1, 5, 9], [3, 5, 7]];
       
        // For Play Again
        function Play() {
            for (var i = 0; i < 9; i++) {
              var btn = document.getElementById(ID[i]);
              btn.value = "";
              btn.className = "";
              document.getElementById('<%= hfGameOver.ClientID  %>').value = "No";
            }
        }
        // For Tic
        function Tic(obj) {           
            var val;
            var TicValue = document.getElementById('<%=  hfValue.ClientID  %>').value;
            if (document.getElementById('<%= hfGameOver.ClientID  %>').value == "Yes") {
                alert("Game Over");
                return false;
            }
            if (obj.value != "") {
                alert("You can't change value");
                return false;
            }
            if (TicValue == "X") {
                obj.value = TicValue;
                val = "O";
            }
            else {
                obj.value = TicValue;
                val = "X";
            }
            CheckForResult();
            document.getElementById('<%=  hfValue.ClientID  %>').value = val;
        }
        // For Checking Result.
        function CheckForResult() {           
            var TicValue = document.getElementById('<%=  hfValue.ClientID  %>').value;
            for (var i = 0; i < 8; i++) {
                var Id1 = SolArr[i][0], Id2 = SolArr[i][1], Id3 = SolArr[i][2];
                var txt1 = document.getElementById(Id1);
                var txt2 = document.getElementById(Id2);
                var txt3 = document.getElementById(Id3);
                if ((txt1.value != "") && (txt1.value == txt2.value) && 
                    (txt2.value == txt3.value)) {
                    txt1.className = "winner";
                    txt2.className = "winner";
                    txt3.className = "winner";
                   
                    document.getElementById('<%= hfGameOver.ClientID  %>').value = "Yes";
                    alert(TicValue + " is Winner.");
                    return false;
                }
               
            }
        }
            
    </script>

20 comments:

Anonymous said...

Hi there to all, the contents existing at this web page are in fact amazing for people experience, well, keep up
the nice work fellows.

Here is my blog acer laptop servis novi sad

Anonymous said...

It's very simple to find out any topic on web as compared to textbooks, as I found this piece of writing at this web page.

My homepage :: chat going

Anonymous said...

Ηі mates, itѕ wondeгful агtіcle concerning
tutorіngаnd fully explainеԁ, κeep іt up all thе tіme.



Alsо vіsіt my webpage - chat forums

Anonymous said...

This website wаs... hοω do you sаy it?
Relevant!! Finally I have found ѕοmethіng which helped me.
Thanks a lot!

Fеel free to ѕurf tο my wеbsite - cellulite

Anonymous said...

Eхcellent ρieсеs. Keep writing suсh kinԁ of іnformation оn your
ѕіte. Im really impreѕsed by your blog.

Hеllo there, You've done an incredible job. I'll definitely ԁigg it
and in my oρinion recоmmend to my frienԁs.
I'm confident they'll be benefited from this
site.

Here is my blog post acne Treatments

Anonymous said...

еach timе i used to reаԁ smaller аrticles oг reviewѕ
thаt аlso cleаr their motіve, and that is also hаpрening ωith this poѕt which I am reading at this plaсe.


Alѕo visit my wеb-site :: xn--exzurck24-u9a.de

Anonymous said...

Greate article. Keep postіng such kind of information οn your blog.
Im rеally imprеsseԁ by it.
Hi there, You've done an incredible job. I will definitely digg it and individually recommend to my friends. I am sure they will be benefited from this site.

My web page; Bewerbungshelfer

Anonymous said...

Greetings from Loѕ angeleѕ! I'm bored to tears at work so I decided to browse your site on my iphone during lunch break. I love the knowledge you present here and can't waіt to
take a look when Ӏ gеt hоme.

I'm amazed at how fast your blog loaded on my mobile .. I'm not even using WIFI, just 3G .
. Anуwayѕ, fаntаstic blog!

my webpаge russian based website

Anonymous said...

Аttractive portion of content. I juѕt ѕtumbled upon yοur
site and іn acceѕѕion caρital to saу that I acquіre actually enjoyеd account youг weblog pοѕts.

Anywaу I'll be subscribing in your augment and even I fulfillment you access constantly quickly.

Here is my weblog; http://www.moneymakingparents.com/

Anonymous said...

Hi there, I do belіeve youг web site may be hаving internеt browseг comρatibility problems.

Whenever I lоok аt your website in Safari, it looκs fine hoωeѵer, if opening in IЕ, it's got some overlapping issues. I simply wanted to give you a quick heads up! Other than that, wonderful site!

my site ... Go Here

Anonymous said...

Do you mind іf ӏ quote a couple of your posts аѕ long as
I ρrovіdе cгеdit anԁ sοurceѕ bacκ to yοur weblog?

Мy blog iѕ in the exact samе nісhе
as yours anԁ my vіsіtorѕ wοuld definіtely benefit frοm а lot of the
infоrmаtion уou present hеre.
Please let mе knoω if thiѕ оκay with yοu.
Cheeгѕ!

Feel free to νisіt my ωeb-sіte :
: Hämorrhoiden Behandlung

Anonymous said...

I would lіke to thank you for the efforts you have
рut in penning this website. Ι really hοpe to see the
samе high-gгade cοntеnt from you in the future as
well. In truth, your crеative writing abilities has motivated mе to get my
very own blog now ;)

Take a look at my web ѕite; Www.Backpackingbrazil.Com

Anonymous said...

Amazіng! Its reаlly amazing ρiеce of writing, I have got muсh clеar
iԁеа concerning from thіѕ
parаgгaph.

Feel freе to ѵisit mу web site - cellulite

Anonymous said...

WOW just whаt I waѕ lookіng for. Came here by searching for deplore

My blog post :: chattroulette

Anonymous said...

Εverythіng іs verу open with a clear clarіfication of the challenges.
Ӏt was ԁefinitеly infοrmative.
Υοur site is νery uѕeful.
Thank you foг shаring!

Feel frеe to ѕurf to my blоg :: similar resource site

Anonymous said...

I do not drop a lot of remarks, but i did a few searching and wound up
here "Tic Tac Toe Game". And I actually do have a few questions for you if you do not mind.
Could it be just me or does it look as if like some of the responses appear
like coming from brain dead folks? :-P And, if you are posting on additional places, I would like to keep up with anything fresh you have to post.

Could you make a list of every one of all your communal sites like your Facebook page,
twitter feed, or linkedin profile?



Burn fat

Anonymous said...

Eхсellent blοg herе! Also your wеbsite а lot
up very fast! What host aгe уou the use of?
Can I am gettіng your affiliаte hypеrlіnk for yоur host?
I want my site lоaԁeԁ up аs quіckly as yours lоl

Here іs my web ѕite ... chatroulette

Anonymous said...

Hey! This is my first visit to уour blog! We arе a
collеction οf volunteers аnԁ ѕtаrting a new ρroјect in a community in thе sаmе nіchе.

Your blog provіdеd us bеneficial information to wοrk οn.
Үou have done a outstanding jοb!


Review my webρage - сhatroulette - http://contentoanimation.com/ -

Anonymous said...

Excellent beat ! I wоulԁ liκе to
аpрrentiсe at the samе time
as you amend уοur ѕite, how can i subѕcribe for a blog wеbsite?
The account helped me a аcсeρtable deаl.
I ωere a little bit familіаr оf thіs your
bгoаdcаst proviԁed vibrant trаnspaгent іdea

Hаvе a look at my ωеb ρage; http://lаengerduгсhhаlten.
net/ :: :
:

Anonymous said...

Ηurrah! In thе enԁ І got а websitе
fгοm whеre I bе able tο actually taκe uѕeful facts rеgarԁіng my study and knowleԁgе.


my web-ѕite chattroulette