Minggu, 03 Mei 2015

APLIKASI GAME TIC TAC TOE


Game TicTacToe adalah sebuah game 2 dimensi yanng bertujuan untuk melatih otak dan untuk hiburan semata. Game TicTacToe lebih dikenal di Indonesia sebagai Game Catur Jawa karena prinsip permainan game TicTacToe sama dengan Game Catur Jawa. Cara memainkan game tersebut dengan memberikan Nilai X atau O pada tiap pemain. Pada game TicTacToe terdiri dari 9 kolom yang berfungsi untuk meletakan nilai tersebut. Yang mana untuk memenangkan game tersebut pemain harus dapat membentuk nilai X atau O berbentuk vertikal.

pada kesempatan kali ini kali ini ,saya akan membuat game tic tac toe sederhan ,dengan menggunakan program aplikasi c# di visual studio 2012.

pertama-tam ,kita harus menghidupkan komputer terlebih dahulu 
OPEN VISUAL STUDIO



Setelah visual studio sudah terbuka,
lalu buat designnya 






untuk memasukkan gambar atau membuat gambar sendiri, kita dapat membuatnya di new resource.





Berikut adalah codingan programnya :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace T
{
    public partial class Form1 : Form
    {
        int play = 0;
        int p1 = 0, p2 = 0, p3 = 0, p4 = 0, p5 = 0, p6 = 0, p7 = 0, p8 = 0, p9 = 0; // kondisi awal semua pictureBox
        int input;

        public Form1()
        {
            InitializeComponent();
        }

        //logika tictactoe
        void versigue(int masukan)
        {
            if (masukan == 5) // ketika player memilih pictureBox 5
            {
                if (p2 == 0) // akan di tahan di pictureBox 2
                {
                    if (play == 1)
                    {
                        pictureBox2.BackgroundImage = T.Resource1.x;
                        p2 = 2; //tampilan sesuai pilihan
                    }

                    else
                    {
                        pictureBox2.BackgroundImage = T.Resource1.o;
                        p2 = 1;
                    }
                }

                else if (p1 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox1.BackgroundImage = T.Resource1.x;
                        p1 = 2;
                    }

                    else
                    {
                        pictureBox1.BackgroundImage = T.Resource1.o;
                        p1 = 1;
                    }
                }

                else if (p3 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox3.BackgroundImage = T.Resource1.x;
                        p3 = 2;
                    }

                    else
                    {
                        pictureBox3.BackgroundImage = T.Resource1.o;
                        p3 = 1;
                    }
                }

                else if (p4 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox4.BackgroundImage = T.Resource1.x;
                        p4 = 2;
                    }

                    else
                    {
                        pictureBox4.BackgroundImage = T.Resource1.o;
                        p4 = 1;
                    }
                }

                else if (p6 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox6.BackgroundImage = T.Resource1.x;
                        p6 = 2;
                    }

                    else
                    {
                        pictureBox6.BackgroundImage = T.Resource1.o;
                        p6 = 1;
                    }
                }

                else if (p7 == 0 && p3 == 1 && p5 == 1)
                {
                    if (play == 1)
                    {
                        pictureBox7.BackgroundImage = T.Resource1.x;
                        p7 = 2;
                    }

                    else
                    {
                        pictureBox7.BackgroundImage = T.Resource1.o;
                        p7 = 1;
                    }
                }

                else if (p8 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox8.BackgroundImage = T.Resource1.x;
                        p8 = 2;
                    }

                    else
                    {
                        pictureBox8.BackgroundImage = T.Resource1.o;
                        p8 = 1;
                    }
                }

                else if (p9 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox9.BackgroundImage = T.Resource1.x;
                        p9 = 2;
                    }

                    else
                    {
                        pictureBox9.BackgroundImage = T.Resource1.o;
                        p9 = 1;
                    }
                }
            }

            if (masukan == 1)
            {
                if (p2 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox2.BackgroundImage = T.Resource1.x;
                        p2 = 2;
                    }

                    else
                    {
                        pictureBox2.BackgroundImage = T.Resource1.o;
                        p2 = 1;
                    }
                }

            }


            if (masukan == 2)
            {
                if (p1 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox1.BackgroundImage = T.Resource1.x;
                        p1 = 2;
                    }

                    else
                    {
                        pictureBox1.BackgroundImage = T.Resource1.o;
                        p1 = 1;
                    }
                }

                else if (p3 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox3.BackgroundImage = T.Resource1.x;
                        p3 = 2;
                    }

                    else
                    {
                        pictureBox3.BackgroundImage = T.Resource1.o;
                        p3 = 1;
                    }
                }


                else if (p5 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox5.BackgroundImage = T.Resource1.x;
                        p5 = 2;
                    }

                    else
                    {
                        pictureBox5.BackgroundImage = T.Resource1.o;
                        p5 = 1;
                    }
                }

                else if (p8 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox8.BackgroundImage = T.Resource1.x;
                        p8 = 2;
                    }

                    else
                    {
                        pictureBox8.BackgroundImage = T.Resource1.o;
                        p8 = 1;
                    }
                }
            }

            if (masukan == 3)
            {
                if (p2 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox2.BackgroundImage = T.Resource1.x;
                        p2 = 2;
                    }

                    else
                    {
                        pictureBox2.BackgroundImage = T.Resource1.o;
                        p2 = 1;
                    }
                }

                else if (p1 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox1.BackgroundImage = T.Resource1.x;
                        p1 = 2;
                    }

                    else
                    {
                        pictureBox1.BackgroundImage = T.Resource1.o;
                        p1 = 1;
                    }
                }

                else if (p6 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox6.BackgroundImage = T.Resource1.x;
                        p6 = 2;
                    }

                    else
                    {
                        pictureBox6.BackgroundImage = T.Resource1.o;
                        p6 = 1;
                    }
                }

                else if (p5 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox5.BackgroundImage = T.Resource1.x;
                        p5 = 2;
                    }

                    else
                    {
                        pictureBox5.BackgroundImage = T.Resource1.o;
                        p5 = 1;
                    }
                }

                else if (p7 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox7.BackgroundImage = T.Resource1.x;
                        p7 = 2;
                    }

                    else
                    {
                        pictureBox7.BackgroundImage = T.Resource1.o;
                        p7 = 1;
                    }
                }

                else if (p9 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox9.BackgroundImage = T.Resource1.x;
                        p9 = 2;
                    }

                    else
                    {
                        pictureBox9.BackgroundImage = T.Resource1.o;
                        p9 = 1;
                    }
                }
            }

            if (masukan == 4)
            {
                if (p1 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox1.BackgroundImage = T.Resource1.x;
                        p1 = 2;
                    }

                    else
                    {
                        pictureBox1.BackgroundImage = T.Resource1.o;
                        p1 = 1;
                    }
                }

                else if (p5 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox5.BackgroundImage = T.Resource1.x; p5 = 2;
                    }

                    else
                    {
                        pictureBox5.BackgroundImage = T.Resource1.o;
                        p5 = 1;
                    }
                }

                else if (p6 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox6.BackgroundImage = T.Resource1.x;
                        p6 = 2;
                    }

                    else
                    {
                        pictureBox6.BackgroundImage = T.Resource1.o; p6 = 1;
                    }
                }

                else if (p7 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox7.BackgroundImage = T.Resource1.x;
                        p7 = 2;
                    }

                    else
                    {
                        pictureBox7.BackgroundImage = T.Resource1.o;
                        p7 = 1;
                    }
                }
            }

            if (masukan == 6)
            {
                if (p3 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox3.BackgroundImage = T.Resource1.x; p3 = 2;
                    }

                    else
                    {
                        pictureBox3.BackgroundImage = T.Resource1.o;
                        p3 = 1;
                    }
                }
                else if (p9 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox9.BackgroundImage = T.Resource1.x;
                        p9 = 2;
                    }

                    else
                    {
                        pictureBox9.BackgroundImage = T.Resource1.o; p9 = 1;
                    }
                }
                else if (p4 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox4.BackgroundImage = T.Resource1.x;
                        p4 = 2;
                    }

                    else
                    {
                        pictureBox4.BackgroundImage = T.Resource1.o;
                        p4 = 1;
                    }
                }
                else if (p5 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox5.BackgroundImage = T.Resource1.x;
                        p5 = 2;
                    }

                    else
                    {
                        pictureBox5.BackgroundImage = T.Resource1.o; p5 = 1;
                    }
                }
            }

            if (masukan == 7)
            {
                if (p3 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox3.BackgroundImage = T.Resource1.x;
                        p3 = 2;
                    }

                    else
                    {
                        pictureBox3.BackgroundImage = T.Resource1.o;
                        p3 = 1;
                    }
                }
                else if (p5 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox5.BackgroundImage = T.Resource1.x;
                        p5 = 2;
                    }

                    else
                    {
                        pictureBox5.BackgroundImage = T.Resource1.o;
                        p5 = 1;
                    }
                }

                else if (p1 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox1.BackgroundImage = T.Resource1.x;
                        p1 = 2;
                    }

                    else
                    {
                        pictureBox1.BackgroundImage = T.Resource1.o; p1 = 1;
                    }
                }

                else if (p4 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox4.BackgroundImage = T.Resource1.x; p4 = 2;
                    }

                    else
                    {
                        pictureBox4.BackgroundImage = T.Resource1.o;
                        p4 = 1;
                    }
                }
                else if (p8 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox8.BackgroundImage = T.Resource1.x; p8 = 2;
                    }

                    else
                    {
                        pictureBox8.BackgroundImage = T.Resource1.o; p8 = 1;
                    }
                }
                else if (p9 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox9.BackgroundImage = T.Resource1.x; p9 = 2;
                    }

                    else
                    {
                        pictureBox9.BackgroundImage = T.Resource1.o; p9 = 1;
                    }
                }
            }
            if (masukan == 8)
            {
                if (p2 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox2.BackgroundImage = T.Resource1.x;
                        p2 = 2;
                    }

                    else
                    {
                        pictureBox2.BackgroundImage = T.Resource1.o; p2 = 1;
                    }
                }
                else if (p5 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox5.BackgroundImage = T.Resource1.x; p5 = 2;
                    }

                    else
                    {
                        pictureBox5.BackgroundImage = T.Resource1.o;
                        p5 = 1;
                    }
                }
                else if (p7 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox7.BackgroundImage = T.Resource1.x; p7 = 2;
                    }

                    else
                    {
                        pictureBox7.BackgroundImage = T.Resource1.o; p7 = 1;
                    }
                }
                else if (p9 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox9.BackgroundImage = T.Resource1.x;
                        p9 = 2;
                    }

                    else
                    {
                        pictureBox9.BackgroundImage = T.Resource1.o;
                        p9 = 1;
                    }
                }
            }
            if (masukan == 9)
            {
                if (p1 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox1.BackgroundImage = T.Resource1.x;
                        p1 = 2;
                    }

                    else
                    {
                        pictureBox1.BackgroundImage = T.Resource1.o; p1 = 1;
                    }
                }

                else if (p3 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox3.BackgroundImage = T.Resource1.x; p3 = 2;
                    }

                    else
                    {
                        pictureBox3.BackgroundImage = T.Resource1.o; p3 = 1;
                    }
                }

                else if (p6 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox6.BackgroundImage = T.Resource1.x;
                        p6 = 2;
                    }

                    else
                    {
                        pictureBox6.BackgroundImage = T.Resource1.o;
                        p6 = 1;
                    }
                }

                else if (p7 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox7.BackgroundImage = T.Resource1.x;
                        p7 = 2;
                    }

                    else
                    {
                        pictureBox7.BackgroundImage = T.Resource1.o;
                        p7 = 1;
                    }
                }



                else if (p8 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox8.BackgroundImage = T.Resource1.x;
                        p8 = 2;
                    }

                    else
                    {
                        pictureBox8.BackgroundImage = T.Resource1.o;
                        p8 = 1;
                    }
                }

                else if (p5 == 0)
                {
                    if (play == 1)
                    {
                        pictureBox5.BackgroundImage = T.Resource1.x;
                        p5 = 2;
                    }

                    else
                    {
                        pictureBox5.BackgroundImage = T.Resource1.o;
                        p5 = 1;
                    }
                }
            }

        }

        private void Form1_Load(object sender, EventArgs e)
        {
           
        }




        //program untuk setiap picturebox ketika di klik
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            if (play == 0)
            {
                MessageBox.Show("Silahkan Masukkan Pilihan anda"); // indikator jika pemain mengklik pictureBox jika belum memilih
            }

            else if (play > 0 && p1 == 0)
            {
                if (play % 2 == 0)
                {
                    pictureBox1.BackgroundImage = T.Resource1.x;
                    p1 = 2;
                }

                else
                {
                    pictureBox1.BackgroundImage = T.Resource1.o;
                    p1 = 1;
                }
                //com();
                input = 1;
                versigue(1);
            }

            menang();

        }

        private void pictureBox2_Click(object sender, EventArgs e)
        {

            if (play == 0)
            {
                MessageBox.Show("Silahkan Masukkan Pilihan anda");
            }

            else if (play > 0 && p2 == 0)
            {
                if (play % 2 == 0)
                {
                    pictureBox2.BackgroundImage = T.Resource1.x;
                    p2 = 2;
                }

                else
                {
                    pictureBox2.BackgroundImage = T.Resource1.o;
                    p2 = 1;
                }
                //com();
                input = 2;
                versigue(2);
            }

            menang();

        }

        private void pictureBox3_Click(object sender, EventArgs e)
        {
            if (play == 0)
            {
                MessageBox.Show("Silahkan Masukkan Pilihan anda");
            }
            else if (play > 0 && p3 == 0)
            {
                if (play % 2 == 0)
                {
                    pictureBox3.BackgroundImage = T.Resource1.x;
                    p3 = 2;
                }

                else
                {
                    pictureBox3.BackgroundImage = T.Resource1.o;
                    p3 = 1;
                }

                //com();
                input = 3;
                versigue(3);
            }
            menang();
            

        }

        private void pictureBox4_Click(object sender, EventArgs e)
        {
            if (play == 0)
            {
                MessageBox.Show("Silahkan Masukkan Pilihan anda");
            }

            else if (play > 0 && p4 == 0)
            {
                if (play % 2 == 0)
                {
                    pictureBox4.BackgroundImage = T.Resource1.x;
                    p4 = 2;
                }

                else
                {
                    pictureBox4.BackgroundImage = T.Resource1.o;
                    p4 = 1;
                }

                //com();
                input = 4;
                versigue(4);
            }

            menang();
            

        }

        private void pictureBox5_Click(object sender, EventArgs e)
        {
            if (play == 0)
            {
                MessageBox.Show("Silahkan Masukkan Pilihan anda");
            }
            else if (play > 0 && p5 == 0)
            {
                if (play % 2 == 0)
                {
                    pictureBox5.BackgroundImage = T.Resource1.x;
                    p5 = 2;
                }

                else
                {
                    pictureBox5.BackgroundImage = T.Resource1.o;

                    p5 = 1;
                }

                input = 5;
                versigue(5);
                //com();

            }
            menang();

        }

        private void pictureBox6_Click(object sender, EventArgs e)
        {
            if (play == 0)
            {
                MessageBox.Show("Silahkan Masukkan Pilihan anda");
            }

            else if (play > 0 && p6 == 0)
            {
                if (play % 2 == 0)
                {
                    pictureBox6.BackgroundImage = T.Resource1.x;

                    p6 = 1;
                }

                else
                {
                    pictureBox6.BackgroundImage = T.Resource1.o;

                    p6 = 1;
                }

                //com();
                input = 6;
                versigue(6);

            }
            menang();
            

        }

        private void pictureBox7_Click(object sender, EventArgs e)
        {
            if (play == 0)
            {
                MessageBox.Show("Silahkan Masukkan Pilihan anda");
            }

            else if (play > 0 && p7 == 0)
            {
                if (play % 2 == 0)
                {
                    pictureBox7.BackgroundImage = T.Resource1.x;

                    p7 = 2;
                }

                else
                {
                    pictureBox7.BackgroundImage = T.Resource1.o;

                    p7 = 1;
                }

                //com();
                input = 7;
                versigue(7);

            }
            menang();

        }

        private void pictureBox8_Click(object sender, EventArgs e)
        {
            if (play == 0)
            {
                MessageBox.Show("Silahkan Masukkan Pilihan anda");
            }

            else if (play > 0 && p8 == 0)
            {
                if (play % 2 == 0)
                {
                    pictureBox8.BackgroundImage = T.Resource1.x;

                    p8 = 2;
                }

                else
                {
                    pictureBox8.BackgroundImage = T.Resource1.o;
                    p8 = 1;
                }

                //com();
                input = 8;
                versigue(8);
            }
            menang();            

        }

        private void pictureBox9_Click(object sender, EventArgs e)
        {
            if (play == 0)
            {
                MessageBox.Show("Silahkan Masukkan Pilihan anda");
            }

            else if (play > 0 && p9 == 0)
            {
                if (play % 2 == 0)
                {
                    pictureBox9.BackgroundImage = T.Resource1.x;
                    p9 = 2;
                }

                else
                {
                    pictureBox9.BackgroundImage = T.Resource1.o;
                    p9 = 1;
                }

                //com();
                input = 9;
                versigue(9);
            }
            menang();

        }





        //option untuk player x atau o
        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            if (play == 0)
            {
                play = 1;
            }
            label2.Text = " You O ";
            this.Refresh();

        }

        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            if (play == 0)
            {
                play = 2;
            }
            label2.Text = " You X";
            this.Refresh();
        }




        //program untuk Reset
        private void button1_Click(object sender, EventArgs e)
        {
            pictureBox1.BackgroundImage = null;
            pictureBox2.BackgroundImage = null;
            pictureBox3.BackgroundImage = null;
            pictureBox4.BackgroundImage = null;
            pictureBox5.BackgroundImage = null;
            pictureBox6.BackgroundImage = null;
            pictureBox7.BackgroundImage = null;
            pictureBox8.BackgroundImage = null;
            pictureBox9.BackgroundImage = null;
            p1 = p2 = p3 = p4 = p5 = p6 = p7 = p8 = p9 = 0;
            label2.Text = "";
            label3.Text = "";
            play = 0;

        }


        //program untuk keterangan menang atau kalah
        void menang()
        {
            //1 ,2 ,3
            if (p1 == 2 && p2 == 2 && p3 == 2)
            {
                label3.Text = "X WIN!";
            }
            else if (p1 == 1 && p2 == 1 && p3 == 1)
            {
                label3.Text = "O WIN!";
            }
            //4, 5, 6

            else if (p4 == 2 && p5 == 2 && p6 == 2)
            {
                label3.Text = "X WIN!";
            }
            else if (p4 == 1 && p5 == 1 && p6 == 1)
            {
                label3.Text = "O WIN!";
            }
            //win 7 , 8 , 9

            else if (p7 == 2 && p8 == 2 && p9 == 2)
            {
                label3.Text = "X WIN!";
            }
            else if (p7 == 1 && p8 == 1 && p9 == 1)
            {
                label3.Text = "O WIN!";
            }
            //1, 4 ,7
            else if (p1 == 2 && p4 == 2 && p7 == 2)
            {
                label3.Text = "X WIN!";
            }
            else if (p1 == 1 && p4 == 1 && p7 == 1)
            {
                label3.Text = "O WIN!";
            }
            //2, 5, 8
            else if (p2 == 2 && p5 == 2 && p8 == 2)
            {
                label3.Text = "X WIN!";
            }
            else if (p2 == 1 && p5 == 1 && p8 == 1)
            {
                label3.Text = "O WIN!";
            }
            //3, 6 , 9
            else if (p3 == 2 && p6 == 2 && p9 == 2)
            {
                label3.Text = "X WIN!";
            }
            else if (p3 == 1 && p6 == 1 && p9 == 1)
            {
                label3.Text = "O WIN!";
            }

            //diagonal
            //1, 5 , 9
            else if (p1 == 2 && p5 == 2 && p9 == 2)
            {
                label3.Text = "X WIN!";
            }
            else if (p1 == 1 && p5 == 1 && p9 == 1)
            {
                label3.Text = "O WIN!";
            }
            //3, 5 , 7
            else if (p3 == 2 && p5 == 2 && p7 == 2)
            {
                label3.Text = "X WIN!";
            }
            else if (p3 == 1 && p5 == 1 && p7 == 1)
            {
                label3.Text = "O WIN!";
            }
        }





        //program option player Easy
        private void button3_Click(object sender, EventArgs e)
        {
            if (play == 0)
            {
                play = 1;
            }
            label2.Text = " You O ";
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (play == 0)
            {
                play = 2;
            }
            label2.Text = " You X";
        }








        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
           
        }

        private void checkBox2_CheckedChanged(object sender, EventArgs e)
        {
            
        }






        //program untuk player Hard
        private void radioButton1_CheckedChanged_1(object sender, EventArgs e)
        {
            if (play == 0)
            {
                play = 2;
            }
            label2.Text = " You X";
            this.Refresh();
        }

        private void radioButton2_CheckedChanged_1(object sender, EventArgs e)
        {
            if (play == 0)
            {
                play = 1;
            }
            label2.Text = " You O ";
        }


    }
}



Program setelah di Running :








easy ,menang

hard ,saat Draw

hard, saat kalah


hard, saat menang



SEKIAN TUTORIAL DARI SAYA, SEMOGA BERMANFAAT :)









Tidak ada komentar:

Posting Komentar