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

11 Şubat 2014 Salı

C Sharp Uygulamalar Graphics Nesnesini Kullanarak Rastgele Şekiller Çizdirme



KONU : C Sharp Uygulamalar - C Sharp ( C# ) graphics nesnesini kullanarak rastgele şekillerde grafikler çizdirme
ETİKETLER: c sharp çizgi çizme| c sharp elips çizme | c sharp grafik çizme | c sharp dikdörtgen çizme | c sharp rastgele şekil çizme | c sharp resim yapma | c sharp form üzerinde grafik çizdirme | c# grafik | c sharp grafik nesnesinin kullanımı | c sharp draw pie - c sharp draw pie filling - c sharp içi dolu pasta dilimi çizme - c sharp random sınıfı kullanımı | c sharp random | c# random sınıfı





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;
using System.Drawing.Imaging;

namespace C_Sharp_GDI_Kullanımı
{

    public partial class Form1 : Form
    {
        List< Pen >  pens;
        List< Brush > brushes;
        Random random;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            pens = new List< Pen >();
            brushes = new List< Brush >();
            random = new Random();

            pens.Add(new Pen(Color.Blue));
            pens.Add(new Pen(Color.Red));
            pens.Add(new Pen(Color.Green));
            pens.Add(new Pen(Color.Black));
            pens.Add(new Pen(Color.White));

            brushes.Add(Brushes.Blue);
            brushes.Add(Brushes.Red);
            brushes.Add(Brushes.Green);
            brushes.Add(Brushes.Black);
            brushes.Add(Brushes.White);

        }



        private void drawEllipse(Graphics graphic)
        {
            graphic.DrawEllipse(pens[random.Next(0, 5)], random.Next(0, 100), random.Next(0, 100), random.Next(0, 100), random.Next(0, 100));
            bmp = new Bitmap(panel1.Width, panel1.Height, graphic);
        }

        private void drawPie(Graphics graphic)
        {
            try
            {
                graphic.DrawPie(pens[random.Next(0, 5)], random.Next(0, 100), random.Next(0, 100), random.Next(0, 100), random.Next(0, 100), 0, 60);
            }
            catch (Exception)
            {
            }
            
        }

        private void DrawRandomFigure(Graphics graphic)
        {
            Point[] ps = {
                                 new Point(0,random.Next(0, 100)),
                                 new Point(100,random.Next(0, 100)),
                                 new Point(100,random.Next(100, 200)),
                                 new Point(0,random.Next(100, 200))
                               };

            graphic.FillClosedCurve(brushes[random.Next(0, 5)], ps);
        }

        private void DrawFillPie(Graphics graphic)
        {
            int width = random.Next(100, 100);
            int height = width;
            graphic.FillPie(brushes[random.Next(0, 5)], random.Next(0, 100), random.Next(0, 100), width, height, random.Next(0, 360), random.Next(0, 360));
        }


        private void btnElippseDraw_Click(object sender, EventArgs e)
        {
            drawEllipse(panel1.CreateGraphics());
        }

        private void btnPieDraw_Click(object sender, EventArgs e)
        {
            drawPie(panel1.CreateGraphics());
        }

        private void btnSquareDraw_Click(object sender, EventArgs e)
        {
            int width = random.Next(10, panel1.Width-10);
            int height =random.Next(10, panel1.Height-10);

            Bitmap bitMap = new Bitmap(width, height);
            Rectangle rec = new Rectangle(5, 5, width, height);

            Graphics g = panel1.CreateGraphics();
            g.DrawRectangle(pens[random.Next(0, 5)], rec);

        }

        private void btnDrawFigure_Click(object sender, EventArgs e)
        {
            DrawRandomFigure(panel1.CreateGraphics());
        }

        private void btnFillPie_Click(object sender, EventArgs e)
        {
            DrawFillPie(panel1.CreateGraphics());
        }
    }
}

   




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

17 Mayıs 2013 Cuma

C Sharp Uygulamalar XBall Oyunu Programı



KONU : C Sharp Uygulamalar - C Sharp ( C# ) form xball oyunu oyna. Form üzerine timer ile kontrolleri hareket ettirme. C sharp forma dinamik kontrol ekleme. Mouse hareketlerine göre sağ sola kayan kontrol. Arraylist kullanımı ve örnekleri.





UYGULAMAYI İNDİR

C# DİĞER OYUN UYGULAMARI

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 Xball
{
    public partial class Xball_Form : Form
    {
        int yerX = 5,yerY=5;
        ArrayList kutucuklar = new ArrayList();
        int kutuSayisi = 5;
        int Hak = 3;
        int Level = 1;
        int hareket = 5;

        public Xball_Form()
        {
            InitializeComponent();
        }

        private void Cball_Load(object sender, EventArgs e)
        {
            this.Text = "Seviye : " + Level.ToString() + "   Kalan hakkınız :" + Hak.ToString();
            Yenile();
            kutucuklarOlustur();
        }

        private void Yenile()
        {
            kutuSayisi = 5 * Level;
            Random rdn = new Random();
            int x = rdn.Next(0, 50);
            int y = rdn.Next(150, 250);
            ball.Location = new Point(x, y);
            timer1.Enabled = true;
            timer1.Interval = 5;
            yerX = 1 + Level * 1;
            yerY = -1 - Level * 1;
            if (yerX < 0)
                hareket = yerX * -1;
            else
                hareket = yerX;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            Application.DoEvents();
            ballHareket();
            carpmaDenetimi();
            oyunBittiMi(sender, e);
            KalanHak(sender, e);
        }

        private void KalanHak(object sender, EventArgs e)
        {
            if (ball.Bottom > kontrol.Bottom - 15 && !(ball.Right >= kontrol.Left && ball.Left <= kontrol.Right))
            {
                Hak--;
                
                for (int i = 0; i < kutucuklar.Count; i++)
                {
                    Button btn = ((Button)kutucuklar[i]);
                    ((Button)kutucuklar[i]).Dispose();
                }
                kutucuklar.Clear();
                timer1.Enabled = false;
                DialogResult dr = DialogResult.None;
                if (Hak > 0)
                {
                    dr=MessageBox.Show("Yandınız. Kalan hakkınız : " + Hak.ToString());                   
                    if(dr ==DialogResult.OK)
                        Cball_Load(sender, e);
                }
                else if (Hak == 0)
                {
                    MessageBox.Show("GameOver");
                    this.Close();
                }
            }
        }

        private void oyunBittiMi(object sender, EventArgs e)
        {
            DialogResult dr = DialogResult.None;
            if (kutuSayisi == 0)
            {
                timer1.Enabled = false;
                dr = MessageBox.Show("Tebrikler. Seviye "+Level+" Bitirdiniz. ");
                Level++;
            }
            if (dr == DialogResult.OK)
                Cball_Load(sender, e);
        }

        private void ballHareket()
        {
            if (this.ClientSize.Width <= ball.Right)
            {
                yerX = yerX * -1;
            }
            else if (0 >= ball.Left)
            {
                yerX = yerX * -1;
            }

            if (this.ClientSize.Height <= ball.Bottom)
            {
                yerY = yerY * -1;
            }
            else if (0 >= ball.Top)
            {
                yerY = yerY * -1;
            }
            else if (ball.Bottom >= kontrol.Top + 5 && ball.Right >= kontrol.Left && ball.Left <= kontrol.Right)
            {
                yerY = yerY * -1;
            }

            ball.Location = new System.Drawing.Point(ball.Left + yerX, ball.Top + yerY);
        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            kontrol.Left = e.X;
        }

        private void kutucuklarOlustur()
        {
            for (int j = 0; j < Level; j++)
            {
                for (int i = 0; i < 5; i++)
                {
                    Button btn = new Button();
                    btn.Name = i.ToString();
                    btn.TabStop = false;
                    btn.Select();
                    btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
                    btn.Location = new Point(20 + i * 50, j*40+20 );
                    btn.Width = 40;
                    btn.BackColor = Color.Red;
                    this.Controls.Add(btn);
                    kutucuklar.Add(btn);
                }
            }
        }

        private void carpmaDenetimi() 
        {
            Rectangle r = new Rectangle();
            Rectangle t = new Rectangle();
       t.X=ball.Left;
                t.Y=ball.Top;
                t.Height=ball.Height;
                t.Width=ball.Width;
            for (int i = 0; i < kutucuklar.Count; i++)
   {
                Button btn =((Button)kutucuklar[i]);
       r.X=btn.Left;
                r.Y=btn.Top;
                r.Height=btn.Height;
                r.Width=btn.Width;
                if (r.IntersectsWith(t))
                {
                    kutuSayisi--;

                    kutucuklar.RemoveAt(i);
                    if (yerY > 0 && yerX >0)
                    {
                        if (btn.Top <= ball.Bottom && btn.Left < ball.Right - hareket)
                            yerY = yerY * -1;
                        else
                            yerX = yerX * -1;
                    }
                    else
                        if (yerY > 0 && yerX < 0)
                        {
                            if (btn.Top <= ball.Bottom && btn.Right > ball.Left + hareket)
                                yerY = yerY * -1;
                            else
                                yerX = yerX * -1;
                        }
                        else
                            if (yerY < 0 && yerX > 0)
                            {
                                if (btn.Bottom >= ball.Top && btn.Left < ball.Right - hareket)
                                    yerY = yerY * -1;
                                else
                                    yerX = yerX * -1;
                            }
                            else
                                if (yerY < 0 && yerX < 0)
                                {
                                    if (btn.Bottom >= ball.Top && btn.Right > ball.Left + hareket)
                                        yerY = yerY * -1;
                                    else
                                        yerX = yerX * -1;
                                }


                    btn.Dispose();
                }
                Application.DoEvents();
   }
        }

    }
}

UYGULAMAYI İNDİR

C# DİĞER OYUN UYGULAMARI

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