Image etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Image etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

21 Mart 2014 Cuma

C Sharp Form Uygulamalar Puzzle Oyunu Oyna



KONU : C Sharp Uygulamalar - C Sharp ( C# ) form uygulamalar puzzle oyunu oyna.
ETİKETLER: c sharp puzzle - c sharp puzzle game - c sharp picturbox - c# puzzle game - c# puzzle oyunu





UYGULAMAYI İNDİR



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

namespace C_Sharp_Puzzle_Game
{
    public partial class MAinForm : Form
    {
        private Point bosYer;
        private int saniye = 0;
        private int dakika = 0;

        List< Image > resimParcalari = new List< Image >();
        List< PictureBox > resimAlanlari = new List< PictureBox >();
        Bitmap CurrentBitmapImage;


        public MAinForm()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            CurrentBitmapImage = new Bitmap(C_Sharp_Puzzle_Game.Properties.Resources.resim, new Size(375, 375));

            YeniOyun();
        }

        private void YeniOyun()
        {

            for (int i = 0; i < resimAlanlari.Count; i++)
            {
                this.Controls.Remove(resimAlanlari[i]);
            }
           
            resimAlanlari.Clear();
            resimParcalari.Clear();

            tumresim.Location = new Point(550, 50);
            tumresim.BorderStyle = BorderStyle.FixedSingle;
            tumresim.Size = new System.Drawing.Size(375, 375);
            tumresim.Image = CurrentBitmapImage.Clone(new Rectangle(new Point(0, 0), new Size(375, 375)), System.Drawing.Imaging.PixelFormat.DontCare);

            for (int i = 0; i < 9; i++)
            {
                resimParcalari.Add(CurrentBitmapImage.Clone(new Rectangle(new Point(i / 3 * 125, i % 3 * 125), new Size(125, 125)), System.Drawing.Imaging.PixelFormat.DontCare));
            }

            List< int > resimDagilimi = new List< int >();
            Random rastgele = new Random();

            for (int i = 0; i < 8; i++)
            {
                int resimNo = rastgele.Next(8);
                if (!resimDagilimi.Contains(resimNo))
                {
                    resimDagilimi.Add(resimNo);
                }
                else
                {
                    i--;
                }

            }

            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    if (!(j == 2 && i == 2))
                    {
                        PictureBox resim = new PictureBox();
                        resim.Click += new EventHandler(p_Click);
                        resim.Location = new Point(125 * i + 50, 125 * j + 50);
                        resim.BorderStyle = BorderStyle.FixedSingle;
                        resim.Size = new System.Drawing.Size(125, 125);
                        resim.Tag = resimDagilimi[i * 3 + j].ToString();
                        resim.Image = resimParcalari[resimDagilimi[i * 3 + j]];
                        resimAlanlari.Add(resim);
                        this.Controls.Add(resim);
                    }
                    else
                    {
                        bosYer = new Point(125 * 2 + 50, 125 * 2 + 50);
                    }
                }
            }

            timer.Enabled = true;
            saniye = 0;
            dakika = 0;
            lblDakika.Text = dakika.ToString("00");
            lblSaniye.Text = saniye.ToString("00");
        }

        void p_Click(object sender, EventArgs e)
        {
            PictureBox resim = (PictureBox)sender;

            if ((resim.Location.X - 125 == bosYer.X) && (resim.Location.Y == bosYer.Y))
            {
                resim.Location = bosYer;
                bosYer.X += 125;
                this.Focus();
            }
            else if (resim.Location.X + 125 == bosYer.X && (resim.Location.Y == bosYer.Y))
            {
                resim.Location = bosYer;
                bosYer.X -= 125;
                this.Focus();
            }
            else if (resim.Location.Y - 125 == bosYer.Y && (resim.Location.X == bosYer.X))
            {
                resim.Location = bosYer;
                bosYer.Y += 125;
                this.Focus();
            }

            else if (resim.Location.Y + 125 == bosYer.Y && (resim.Location.X == bosYer.X))
            {
                resim.Location = bosYer;
                bosYer.Y -= 125;
                this.Focus();
            }

            bool durum = OyunDurumunuKontrolEt();

            if (durum)
            {
                timer.Enabled = false;

                MessageBox.Show("Tebrikler oyunu tamamladınız","Bilgi",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
            }
        }

        private bool OyunDurumunuKontrolEt()
        {
            bool durum = true;
            for (int i = 0; i < resimAlanlari.Count; i++)
            {
                int id = int.Parse(resimAlanlari[i].Tag.ToString());

                if (!(resimAlanlari[i].Location.X == (id / 3) * 125 + 50 && resimAlanlari[i].Location.Y == (id % 3) * 125 + 50))
                {
                    durum = false;
                    break;
                }
            }


            return durum;
        }

        private void btnBaşlat_Click(object sender, EventArgs e)
        {
            YeniOyun();
        }

        private void btnDuraklat_Click(object sender, EventArgs e)
        {
            timer.Enabled = !timer.Enabled;
        }

        private void btnCik_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void timer_Tick(object sender, EventArgs e)
        {
            if (saniye++ == 60)
            {
                lblDakika.Text = dakika++.ToString("00");
                saniye = 0;
            }

            lblSaniye.Text = saniye.ToString("00");
                    
        }
    }
}

UYGULAMAYI İNDİR

25 Mayıs 2013 Cumartesi

C Sharp Uygulamaları İskambil Kağıt Dağıtma Örnek Uygulama



KONU : C Sharp Uygulamalar - C Sharp ( C# ) form uygulamalar iskambil kağıtları karma ve dağıtma. İskambil kağıtlarını form üzerinde picturebox nesnesi ile gösterme. Oyuncu Kağıt görsellerini form üzerinde sıralama ve yerleştirme. İskambil kağıt oynama alanı oluşturma.
ETİKETLER: c sharp iskambil - c# iskambil - c# iskambil oyunu - c# pişti oyunu - c# pişti - c# ile pişti - c# batak oyunu - c# batak oyunu -c sharp kağıt oyun alanı - oyun alanı oluşturma- kağıt oyunları - picturebox - resimleri bölme - resimleri rastgele dağıtma.



UYGULAMAYI İNDİR



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

namespace iskambilOyun
{
    public partial class Form1 : Form
    {
        #region Global değişkenler
        ArrayList resimler = new ArrayList();
        ArrayList kartlar = new ArrayList();
        ArrayList etiketler = new ArrayList();
        int[] oyunEl = new int[52];
        int deste = 20, el = 5;
        Label[] lblPuan;
        int acikKartSayisi = 0;
        int[] xx = new int[4];
        int[] yy = new int[4];

        #endregion

        #region Form1
        public Form1()
        {
            InitializeComponent();
        }
        #endregion

        #region Form u yukle
        private void Form1_Load(object sender, EventArgs e)
        {
            resimleriOlustur();
            Dagit_Click(sender, e);
            kartlariSirala();
            ekranaYukle();
            elPuanları();
            ayniOlanKartlar();
        }
        #endregion

        #region Yeni oyun Başlat
        private void yeniOyunToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Temizle();
            resimleriOlustur();
            Dagit_Click(sender, e);
            kartlariSirala();
            ekranaYukle();
            elPuanları();
            ayniOlanKartlar();
        }
        #endregion

        #region Ekranı temizle
        private void Temizle()
        {
            for (int i = 0; i < deste; i++)
            {
                ((PictureBox)kartlar[i]).Dispose();
            }
            for (int i = 0; i < 8; i++)
            {
                ((Label)etiketler[i]).Dispose();
            }
            acikKartSayisi = 0;
        }
        #endregion

        #region Kartları Dağıt
        private void Dagit_Click(object sender, EventArgs e)
        {
            ArrayList kagitlar = new ArrayList();
            kagitlar.Clear();
            kartlar.Clear();
            etiketler.Clear();
            int x = 375, y = 50, kart = 0, random;
            Random rdn = new Random();
            for (int i = 0; i < 4; i++)
            {
                Label lbl = new Label();
                lbl.Name = i.ToString();
                xx[i] = x - 100;
                yy[i] = y + 115;
                lbl.Location = new Point(x - 100, y + 115);
                etiketler.Add(lbl);
                this.Controls.Add(lbl);
                for (int j = 0; j < el; j++)
                {
                    PictureBox pcb = new PictureBox();
                    pcb.Name = kart.ToString();
                    pcb.Size = new Size(73, 98);
                    pcb.Location = new Point(x, y);
                    pcb.Click += new EventHandler(pcb_Click);
                    pcb.BringToFront();
                    x -= 25;

                    random = rdn.Next(0, 52);
                    while (kagitlar.Contains(random))
                        random = rdn.Next(0, 52);
                    kagitlar.Add(random);
                    kartlar.Add(pcb);
                    oyunEl[kart++] = random;

                    //pcb.Image = (Image)resimler[random];
                    this.Controls.Add(pcb);
                }

                if (i != 1)
                    y += 200;
                if (i == 1)
                    x = 600;
                if (i == 2)
                    x = 375;
                if (i == 0)
                    x = 135;
            }
        }
        #endregion

        #region Kart resimlerini olustur
        void resimleriOlustur()
        {
            Bitmap resim = new Bitmap(1, 1);
            Graphics gr = null;
            //Bu Bitmap için grafik nesnesi oluştur
            int x = 0, y = 0, w = 73, h = 98;
            for (int i = 0; i < 4; i++)
            {
                for (int k = 0; k < 13; k++)
                {
                    Rectangle seçili_alan = new Rectangle(x, y, w, h);
                    //Seçili alan büyüklüğünde bir Bitmap oluştur
                    resim = new Bitmap(seçili_alan.Width, seçili_alan.Height);
                    //Bu Bitmap için grafik nesnesi oluştur
                    gr = Graphics.FromImage(resim);
                    //Picture Box içindeki resmi yeni resmin 0,0 noktasına çiz
                    gr.DrawImage(pictureBox1.Image, 0, 0, seçili_alan, GraphicsUnit.Pixel);
                    //Yeni resmi pictureBox içine ata
                    resimler.Add(resim);
                    x += 73;
                }
                y += 98;
                x = 0;
            }
            gr.Dispose();
        }
        #endregion

        #region Tıklanan kartı ortaya al
        void pcb_Click(object sender, EventArgs e)
        {
            PictureBox pcb = (PictureBox)sender;
            pcb.Location = new Point(325, 250);
            pcb.BringToFront();
            int kartNo = int.Parse(pcb.Name);
            int lblNo = 0;
            if (kartNo < el && kartNo >= 0)
                lblNo = 0;
            else
                if (kartNo < 2 * el && kartNo >= el)
                    lblNo = 1;
                else
                    if (kartNo < 3 * el && kartNo >= 2 * el)
                        lblNo = 2;
                    else
                        lblNo = 3;

            Label lbl = ((Label)etiketler[lblNo]);
            int lblToplam = int.Parse(lbl.Text.Substring(14));
            int kartPuan = 0;
            if (oyunEl[kartNo] % 13 == 0)
                kartPuan = 11;
            else
                if (oyunEl[kartNo] % 13 > 9)
                    kartPuan = 10;
                else
                    kartPuan = oyunEl[kartNo] % 13 + 1;
            lblToplam -= kartPuan;
            lbl.Text = "Toplam Puan = " + lblToplam.ToString();
            acikKartSayisi--;
            DialogResult c = DialogResult.None;
            if (acikKartSayisi == 0)
                c = MessageBox.Show("Yeni oyun başlasın mı?", "Yeni Oyun", MessageBoxButtons.YesNo);
            if (c == DialogResult.Yes)
                yeniOyunToolStripMenuItem_Click(sender, e);
            else if (c == DialogResult.No)
                Close();

        }
        #endregion

        #region Kartları Sırala
        void kartlariSirala()
        {
            ArrayList oyun = new ArrayList();
            for (int i = 0; i < 4; i++)
            {
                for (int k = 0; k < el; k++)
                    oyun.Add(oyunEl[i * el + k]);
                oyun.Sort();
                for (int k = 0; k < el; k++)
                    oyunEl[i * el + k] = int.Parse(oyun[k].ToString());
                oyun.Clear();
            }
        }
        #endregion

        #region Kartları Göster
        void ekranaYukle()
        {
            for (int i = 0; i < deste; i++)
            {
                PictureBox pcb = (PictureBox)kartlar[i];
                pcb.Image = (Image)resimler[oyunEl[i]];
                acikKartSayisi++;
            }
        }
        #endregion

        #region Puanları Hesapla
        private void elPuanları()
        {
            int toplamPuan = 0, kartPuan = 0;

            for (int i = 0; i < 4; i++)
            {
                for (int k = 0; k < el; k++)
                {
                    if (oyunEl[i * el + k] % 13 == 0)
                        kartPuan = 11;
                    else
                        if (oyunEl[i * el + k] % 13 > 9)
                            kartPuan = 10;
                        else
                            kartPuan = oyunEl[i * el + k] % 13 + 1;
                    toplamPuan += kartPuan;
                }
                Label lbl = (Label)etiketler[i];
                lbl.Text = "Toplam Puan = " + toplamPuan.ToString();
                toplamPuan = 0;
            }
        }
        #endregion

        #region Puanları Hesapla
        private void ayniOlanKartlar()
        {
            string aynısıvar = "";
            int aynı = 1;
            int name = 4;
            for (int j = 0; j < 4; j++)
            {
                string etiket = "";
                aynısıvar = "";

                for (int i = 0; i < el; i++)
                {
                    if (aynısıvar.IndexOf((oyunEl[5 * j + i] % 13).ToString()) < 0)
                        for (int k = i + 1; k < el; k++)
                        {
                            if (oyunEl[5 * j + i] % 13 == oyunEl[5 * j + k] % 13)
                            {
                                aynı++;
                                aynısıvar = (oyunEl[5 * j + 1] % 13).ToString() + " ";
                            }
                        }
                    if (aynı > 1)
                        etiket += aynı.ToString() + " tane " + (oyunEl[5 * j + i] % 13 + 1).ToString() + " ";
                    aynı = 1;
                }
                if (etiket == "")
                    etiket += "Aynı Olan Kart Yok";
                else
                    etiket += " var";

                Label lblet = new Label();
                lblet.Name = name.ToString();
                lblet.Location = new Point(xx[j], yy[j] + 30);
                lblet.Text = etiket;
                etiketler.Add(lblet);
                this.Controls.Add(lblet);
                name++;
            }
        }
        #endregion

        private void denemeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            List< Image > parcaResimler = new List< Image >();
            Bitmap resim;
            Graphics gr = null;
            Image alinanResim = Image.FromFile(@"C:\alinan.jpg");
            int sutunSayisi = 2;
            int satirSayisi = 5;
            int x = 0;
            int y = 0;
            for (int i = 0; i < satirSayisi; i++)
            {
                for (int k = 0; k < sutunSayisi; k++)
                {
                    Rectangle seçili_alan = new Rectangle(x, y, alinanResim.Width / sutunSayisi, alinanResim.Height / satirSayisi);
                    //Seçili alan büyüklüğünde bir Bitmap oluştur
                    resim = new Bitmap(seçili_alan.Width, seçili_alan.Height);
                    //Bu Bitmap için grafik nesnesi oluştur
                    gr = Graphics.FromImage(resim);
                    //Picture Box içindeki resmi yeni resmin 0,0 noktasına çiz
                    gr.DrawImage(alinanResim, 0, 0, seçili_alan, GraphicsUnit.Pixel);
                    //Yeni resmi parcaResimler içine image olarak kaydet
                    parcaResimler.Add(resim);
                    x += alinanResim.Width / sutunSayisi;
                }
                y += alinanResim.Height / satirSayisi;
                x = 0;
            }
            gr.Dispose();

            x = 30;
            y = 30;


            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    PictureBox pcb = new PictureBox();

                    pcb.Size = new Size(alinanResim.Width / sutunSayisi, alinanResim.Height / satirSayisi);
                    pcb.Location = new Point(x, y);
                    pcb.Click += new EventHandler(pcb_Click);
                    pcb.BringToFront();
                    pcb.Image = parcaResimler[i * 5 + j];
                    x += 50;
                    y += 50;
                    this.Controls.Add(pcb);
                }
            }

        }

    }
}


UYGULAMAYI İNDİR

9 Nisan 2013 Salı

C Sharp Uygulamalar Resmi Parçalara Bölme - Resmi Parçalara Bölme Programı



KONU : C Sharp Uygulamalar - C Sharp ( C# ) Form Uygulamalar bir resmi küçük parçalara bölme, bitmap grafik nesnesini daha küçük parçalara bölme, c sharp uygulamalar resmi parçalara bölme, c# uygulamalar resmi parçalara bölme, c sharp uygulamaları grafik nesnesini kullanarak resmi parçalara bölme, c sharp uygulamalar resmi parçalara ayırma örnekler.




UYGULAMAYI İNDİR




//parçaları ayırdığımız resimlerin her parçasını image olarak bir generic list içinde saklayalım

List< image > parcaResimler = new List< image >();

Bitmap resim;

Graphics gr = null;

Image alinanResim = Image.FromFile(@"C:\alinan.jpg");


// Bölmek istediğimiz resmi kaç sütuna ayıracağımızı girelim

int sutunSayisi = 2;


//Bölmek istediğimiz resmi kaç satıra ayırcağımızı girelim

int satirSayisi = 5;

int x = 0;

int y = 0;


// for döngüsünü kullanarak resmi parçalara ayırmaya başlayalım


for (int i = 0; i < satirSayisi; i++)
{

    for (int k = 0; k < sutunSayisi; k++)
    {

        Rectangle seçili_alan = new Rectangle(x, y, alinanResim.Width / sutunSayisi, alinanResim.Height / satirSayisi);

        //Seçili alan büyüklüğünde bir Bitmap oluştur

        resim = new Bitmap(seçili_alan.Width, seçili_alan.Height);

        //Bu Bitmap için grafik nesnesi oluştur

        gr = Graphics.FromImage(resim);

        //Picture Box içindeki resmi yeni resmin 0,0 noktasına çiz

        gr.DrawImage(alinanResim, 0, 0, seçili_alan, GraphicsUnit.Pixel);

        //Yeni resmi parcaResimler içine image olarak kaydet

        parcaResimler.Add(resim);

        x += alinanResim.Width / sutunSayisi;

    }

    y += alinanResim.Height / satirSayisi;

    x = 0;
}

//grafik nesnesini sonlandır

gr.Dispose();


UYGULAMAYI İNDİR