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

9 Ocak 2019 Çarşamba

C Sharp Form Seri Port Haberleşme - RS232 Haberleşme







using System.Windows.Forms;
using System.IO.Ports;
using System;
using System.Threading;
using System.Collections.Generic;
using System.ComponentModel;


namespace C_Sharp_Seri_Port_Haberlesme
{
    public partial class Form1 : Form
    {
  
        Thread readThread;
        volatile bool keepReading;
        String SerialIn = "";
        internal delegate void StringDelegate(string data);

        public Form1()
        {
            InitializeComponent();
        }
        
        private void Form1_Load(object sender, EventArgs e)
        {
            string[] portList = SerialPort.GetPortNames();
         
            for (int i = 0; i < portList.Length; ++i)
            {
                string name = portList[i];
                cmbSerialPortCom.Items.Add(name);
                cmbSerialPortCom.SelectedIndex = i;
            }

            Int32[] baudRates = {
                100,300,600,1200,2400,4800,9600,14400,19200,
                38400,56000,57600,115200,128000,256000,0
            };
  
            for (int i = 0; baudRates[i] != 0; ++i)
            {
                cmbSerialPortBaudRate.Items.Add(baudRates[i].ToString());
            }

            cmbSerialPortBaudRate.SelectedIndex = 6;

            cmbSerialPortDataBits.Items.Add("5");
            cmbSerialPortDataBits.Items.Add("6");
            cmbSerialPortDataBits.Items.Add("7");
            cmbSerialPortDataBits.Items.Add("8");
            cmbSerialPortDataBits.SelectedIndex = 3;

            foreach (string s in Enum.GetNames(typeof(Parity)))
            {
                cmbSerialPortParity.Items.Add(s);
            }
            cmbSerialPortParity.SelectedItem = Parity.None.ToString();

            foreach (string s in Enum.GetNames(typeof(StopBits)))
            {
                cmbSerialPortStopBits.Items.Add(s);
            }
            cmbSerialPortStopBits.SelectedItem = StopBits.One.ToString();

            foreach (string s in Enum.GetNames(typeof(Handshake)))
            {
                cmbSerialPortHandshaking.Items.Add(s);
            }
            cmbSerialPortHandshaking.SelectedItem =  Handshake.None.ToString();

        }

        //begin Observer pattern
        public delegate void EventHandler(string param);
        public EventHandler StatusChanged;
        public EventHandler DataReceived;
        //end Observer pattern

        private void StartReading()
        {
            if (!keepReading)
            {
                keepReading = true;
                readThread = new Thread(ReadPort);
                readThread.Start();
            }
        }

        private void StopReading()
        {
            if (keepReading)
            {
                keepReading = false;
                readThread.Join(); //block until exits
                readThread = null;
            }
        }

        ///  Get the data and pass it on. 
        private void ReadPort()
        {
            while (keepReading)
            {
                if (serialPort1.IsOpen)
                {
                    byte[] readBuffer = new byte[serialPort1.ReadBufferSize + 1];
                    try
                    {
                        int count = serialPort1.Read(readBuffer, 0, serialPort1.ReadBufferSize);

                        SerialIn = System.Text.Encoding.UTF7.GetString(readBuffer, 0, count);

                        DataReceived(SerialIn);
                    }
                    catch (TimeoutException) { }
                }
                else
                {
                    TimeSpan waitTime = new TimeSpan(0, 0, 0, 0, 50);
                    Thread.Sleep(waitTime);
                }
            }
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (serialPort1.IsOpen) serialPort1.Close();
        }
 

        private void btnOpenPort_Click(object sender, EventArgs e)
        {
            try
            {
                serialPort1.PortName = cmbSerialPortCom.Text;
                serialPort1.BaudRate = int.Parse(cmbSerialPortBaudRate.Text);
                serialPort1.DataBits = cmbSerialPortDataBits.SelectedIndex + 5;
                serialPort1.Parity = (Parity)cmbSerialPortParity.SelectedIndex;
                serialPort1.StopBits = (StopBits)cmbSerialPortStopBits.SelectedIndex;
                serialPort1.Handshake = (Handshake)cmbSerialPortHandshaking.SelectedIndex;

                // Set the read/write timeouts
                serialPort1.ReadTimeout = 50;
                serialPort1.WriteTimeout = 50;

                serialPort1.Open();

                this.DataReceived += OnDataReceived;
                  
                StartReading();

                EnableControls(false);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Bir hata oluştu. Seçimlerinizi kontrol edip tekrar deneyiniz.\n Hata : " + ex.Message,"HATA",MessageBoxButtons.OK,MessageBoxIcon.Error); 
            }
        }

        public void OnDataReceived(string dataIn)
        {
            //Handle multi-threading
            if (InvokeRequired)
            {
                Invoke(new StringDelegate(OnDataReceived), new object[] { dataIn });
                return;
            }

            lstReceivedData.Items.Add(dataIn);

        }

        private void btnClosePort_Click(object sender, EventArgs e)
        {
            StopReading();
            serialPort1.Close();
            EnableControls(true);
        }

        private void EnableControls(bool enabled)
        {
            btnClosePort.Enabled = !enabled;
            btnOpenPort.Enabled = enabled;
            cmbSerialPortBaudRate.Enabled = enabled;
            cmbSerialPortCom.Enabled = enabled;
            cmbSerialPortDataBits.Enabled = enabled;
            cmbSerialPortHandshaking.Enabled = enabled;
            cmbSerialPortParity.Enabled = enabled;
            cmbSerialPortStopBits.Enabled = enabled;
        }

        private void btnSend_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen)
            {
                serialPort1.Write(txtSendData.Text);
            }
           
        }

        private void btnOn_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen)
            {
                serialPort1.Write("1");
            }
        }

        private void btnOff_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen)
            {
                serialPort1.Write("0");
            }
        }

    }
}






DESIGNER




namespace C_Sharp_Seri_Port_Haberlesme
{
    partial class Form1
    {
        /// 
        /// Required designer variable.
        /// 
        private System.ComponentModel.IContainer components = null;

        /// 
        /// Clean up any resources being used.
        /// 
        /// true if managed resources should be disposed; otherwise, false.        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// 
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// 
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.serialPort1 = new System.IO.Ports.SerialPort(this.components);
            this.btnSend = new System.Windows.Forms.Button();
            this.btnOpenPort = new System.Windows.Forms.Button();
            this.grpSerialPortConfiguration = new System.Windows.Forms.GroupBox();
            this.btnClosePort = new System.Windows.Forms.Button();
            this.cmbSerialPortHandshaking = new System.Windows.Forms.ComboBox();
            this.cmbSerialPortStopBits = new System.Windows.Forms.ComboBox();
            this.cmbSerialPortParity = new System.Windows.Forms.ComboBox();
            this.cmbSerialPortDataBits = new System.Windows.Forms.ComboBox();
            this.cmbSerialPortBaudRate = new System.Windows.Forms.ComboBox();
            this.lblSerialPortHandshaking = new System.Windows.Forms.Label();
            this.lblSerialPortParity = new System.Windows.Forms.Label();
            this.lblSerialPortStopBits = new System.Windows.Forms.Label();
            this.lblSerialPortDataBits = new System.Windows.Forms.Label();
            this.lblSerialPortBaudRate = new System.Windows.Forms.Label();
            this.lblSerialPortCom = new System.Windows.Forms.Label();
            this.cmbSerialPortCom = new System.Windows.Forms.ComboBox();
            this.lstReceivedData = new System.Windows.Forms.ListBox();
            this.lstSendData = new System.Windows.Forms.ListBox();
            this.txtSendData = new System.Windows.Forms.TextBox();
            this.btnOn = new System.Windows.Forms.Button();
            this.btnOff = new System.Windows.Forms.Button();
            this.grpSerialPortConfiguration.SuspendLayout();
            this.SuspendLayout();
            // 
            // btnSend
            // 
            this.btnSend.Location = new System.Drawing.Point(363, 9);
            this.btnSend.Name = "btnSend";
            this.btnSend.Size = new System.Drawing.Size(141, 24);
            this.btnSend.TabIndex = 3;
            this.btnSend.Text = "Send";
            this.btnSend.UseVisualStyleBackColor = true;
            this.btnSend.Click += new System.EventHandler(this.btnSend_Click);
            // 
            // btnOpenPort
            // 
            this.btnOpenPort.Location = new System.Drawing.Point(9, 185);
            this.btnOpenPort.Name = "btnOpenPort";
            this.btnOpenPort.Size = new System.Drawing.Size(66, 23);
            this.btnOpenPort.TabIndex = 4;
            this.btnOpenPort.Text = "Open Port";
            this.btnOpenPort.UseVisualStyleBackColor = true;
            this.btnOpenPort.Click += new System.EventHandler(this.btnOpenPort_Click);
            // 
            // grpSerialPortConfiguration
            // 
            this.grpSerialPortConfiguration.Controls.Add(this.btnClosePort);
            this.grpSerialPortConfiguration.Controls.Add(this.cmbSerialPortHandshaking);
            this.grpSerialPortConfiguration.Controls.Add(this.cmbSerialPortStopBits);
            this.grpSerialPortConfiguration.Controls.Add(this.btnOpenPort);
            this.grpSerialPortConfiguration.Controls.Add(this.cmbSerialPortParity);
            this.grpSerialPortConfiguration.Controls.Add(this.cmbSerialPortDataBits);
            this.grpSerialPortConfiguration.Controls.Add(this.cmbSerialPortBaudRate);
            this.grpSerialPortConfiguration.Controls.Add(this.lblSerialPortHandshaking);
            this.grpSerialPortConfiguration.Controls.Add(this.lblSerialPortParity);
            this.grpSerialPortConfiguration.Controls.Add(this.lblSerialPortStopBits);
            this.grpSerialPortConfiguration.Controls.Add(this.lblSerialPortDataBits);
            this.grpSerialPortConfiguration.Controls.Add(this.lblSerialPortBaudRate);
            this.grpSerialPortConfiguration.Controls.Add(this.lblSerialPortCom);
            this.grpSerialPortConfiguration.Controls.Add(this.cmbSerialPortCom);
            this.grpSerialPortConfiguration.Location = new System.Drawing.Point(22, 12);
            this.grpSerialPortConfiguration.Name = "grpSerialPortConfiguration";
            this.grpSerialPortConfiguration.Size = new System.Drawing.Size(172, 218);
            this.grpSerialPortConfiguration.TabIndex = 7;
            this.grpSerialPortConfiguration.TabStop = false;
            this.grpSerialPortConfiguration.Text = "Port configuration";
            // 
            // btnClosePort
            // 
            this.btnClosePort.Location = new System.Drawing.Point(79, 185);
            this.btnClosePort.Name = "btnClosePort";
            this.btnClosePort.Size = new System.Drawing.Size(66, 23);
            this.btnClosePort.TabIndex = 12;
            this.btnClosePort.Text = "Close Port";
            this.btnClosePort.UseVisualStyleBackColor = true;
            this.btnClosePort.Click += new System.EventHandler(this.btnClosePort_Click);
            // 
            // cmbSerialPortHandshaking
            // 
            this.cmbSerialPortHandshaking.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.cmbSerialPortHandshaking.FormattingEnabled = true;
            this.cmbSerialPortHandshaking.Location = new System.Drawing.Point(9, 158);
            this.cmbSerialPortHandshaking.Name = "cmbSerialPortHandshaking";
            this.cmbSerialPortHandshaking.Size = new System.Drawing.Size(136, 21);
            this.cmbSerialPortHandshaking.TabIndex = 11;
            // 
            // cmbSerialPortStopBits
            // 
            this.cmbSerialPortStopBits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.cmbSerialPortStopBits.FormattingEnabled = true;
            this.cmbSerialPortStopBits.Location = new System.Drawing.Point(68, 116);
            this.cmbSerialPortStopBits.Name = "cmbSerialPortStopBits";
            this.cmbSerialPortStopBits.Size = new System.Drawing.Size(77, 21);
            this.cmbSerialPortStopBits.TabIndex = 10;
            // 
            // cmbSerialPortParity
            // 
            this.cmbSerialPortParity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.cmbSerialPortParity.FormattingEnabled = true;
            this.cmbSerialPortParity.Location = new System.Drawing.Point(68, 92);
            this.cmbSerialPortParity.Name = "cmbSerialPortParity";
            this.cmbSerialPortParity.Size = new System.Drawing.Size(77, 21);
            this.cmbSerialPortParity.TabIndex = 9;
            // 
            // cmbSerialPortDataBits
            // 
            this.cmbSerialPortDataBits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.cmbSerialPortDataBits.FormattingEnabled = true;
            this.cmbSerialPortDataBits.Location = new System.Drawing.Point(68, 68);
            this.cmbSerialPortDataBits.Name = "cmbSerialPortDataBits";
            this.cmbSerialPortDataBits.Size = new System.Drawing.Size(77, 21);
            this.cmbSerialPortDataBits.TabIndex = 8;
            // 
            // cmbSerialPortBaudRate
            // 
            this.cmbSerialPortBaudRate.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.cmbSerialPortBaudRate.FormattingEnabled = true;
            this.cmbSerialPortBaudRate.Location = new System.Drawing.Point(68, 44);
            this.cmbSerialPortBaudRate.Name = "cmbSerialPortBaudRate";
            this.cmbSerialPortBaudRate.Size = new System.Drawing.Size(77, 21);
            this.cmbSerialPortBaudRate.TabIndex = 7;
            // 
            // lblSerialPortHandshaking
            // 
            this.lblSerialPortHandshaking.AutoSize = true;
            this.lblSerialPortHandshaking.Location = new System.Drawing.Point(6, 143);
            this.lblSerialPortHandshaking.Name = "lblSerialPortHandshaking";
            this.lblSerialPortHandshaking.Size = new System.Drawing.Size(119, 13);
            this.lblSerialPortHandshaking.TabIndex = 6;
            this.lblSerialPortHandshaking.Text = "Hardware Handshaking";
            // 
            // lblSerialPortParity
            // 
            this.lblSerialPortParity.AutoSize = true;
            this.lblSerialPortParity.Location = new System.Drawing.Point(6, 96);
            this.lblSerialPortParity.Name = "lblSerialPortParity";
            this.lblSerialPortParity.Size = new System.Drawing.Size(33, 13);
            this.lblSerialPortParity.TabIndex = 5;
            this.lblSerialPortParity.Text = "Parity";
            // 
            // lblSerialPortStopBits
            // 
            this.lblSerialPortStopBits.AutoSize = true;
            this.lblSerialPortStopBits.Location = new System.Drawing.Point(6, 119);
            this.lblSerialPortStopBits.Name = "lblSerialPortStopBits";
            this.lblSerialPortStopBits.Size = new System.Drawing.Size(48, 13);
            this.lblSerialPortStopBits.TabIndex = 4;
            this.lblSerialPortStopBits.Text = "Stop bits";
            // 
            // lblSerialPortDataBits
            // 
            this.lblSerialPortDataBits.AutoSize = true;
            this.lblSerialPortDataBits.Location = new System.Drawing.Point(6, 73);
            this.lblSerialPortDataBits.Name = "lblSerialPortDataBits";
            this.lblSerialPortDataBits.Size = new System.Drawing.Size(49, 13);
            this.lblSerialPortDataBits.TabIndex = 3;
            this.lblSerialPortDataBits.Text = "Data bits";
            // 
            // lblSerialPortBaudRate
            // 
            this.lblSerialPortBaudRate.AutoSize = true;
            this.lblSerialPortBaudRate.Location = new System.Drawing.Point(6, 48);
            this.lblSerialPortBaudRate.Name = "lblSerialPortBaudRate";
            this.lblSerialPortBaudRate.Size = new System.Drawing.Size(53, 13);
            this.lblSerialPortBaudRate.TabIndex = 2;
            this.lblSerialPortBaudRate.Text = "Baud rate";
            // 
            // lblSerialPortCom
            // 
            this.lblSerialPortCom.AutoSize = true;
            this.lblSerialPortCom.Location = new System.Drawing.Point(6, 23);
            this.lblSerialPortCom.Name = "lblSerialPortCom";
            this.lblSerialPortCom.Size = new System.Drawing.Size(26, 13);
            this.lblSerialPortCom.TabIndex = 1;
            this.lblSerialPortCom.Text = "Port";
            // 
            // cmbSerialPortCom
            // 
            this.cmbSerialPortCom.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.cmbSerialPortCom.FormattingEnabled = true;
            this.cmbSerialPortCom.Location = new System.Drawing.Point(68, 20);
            this.cmbSerialPortCom.Name = "cmbSerialPortCom";
            this.cmbSerialPortCom.Size = new System.Drawing.Size(77, 21);
            this.cmbSerialPortCom.TabIndex = 0;
            // 
            // lstReceivedData
            // 
            this.lstReceivedData.FormattingEnabled = true;
            this.lstReceivedData.Location = new System.Drawing.Point(200, 44);
            this.lstReceivedData.Name = "lstReceivedData";
            this.lstReceivedData.Size = new System.Drawing.Size(141, 147);
            this.lstReceivedData.TabIndex = 9;
            // 
            // lstSendData
            // 
            this.lstSendData.FormattingEnabled = true;
            this.lstSendData.Location = new System.Drawing.Point(363, 44);
            this.lstSendData.Name = "lstSendData";
            this.lstSendData.Size = new System.Drawing.Size(141, 147);
            this.lstSendData.TabIndex = 10;
            // 
            // txtSendData
            // 
            this.txtSendData.Location = new System.Drawing.Point(200, 12);
            this.txtSendData.Name = "txtSendData";
            this.txtSendData.Size = new System.Drawing.Size(141, 20);
            this.txtSendData.TabIndex = 11;
            // 
            // btnOn
            // 
            this.btnOn.Location = new System.Drawing.Point(363, 207);
            this.btnOn.Name = "btnOn";
            this.btnOn.Size = new System.Drawing.Size(50, 23);
            this.btnOn.TabIndex = 12;
            this.btnOn.Text = "On";
            this.btnOn.UseVisualStyleBackColor = true;
            this.btnOn.Click += new System.EventHandler(this.btnOn_Click);
            // 
            // btnOff
            // 
            this.btnOff.Location = new System.Drawing.Point(454, 207);
            this.btnOff.Name = "btnOff";
            this.btnOff.Size = new System.Drawing.Size(50, 23);
            this.btnOff.TabIndex = 13;
            this.btnOff.Text = "Off";
            this.btnOff.UseVisualStyleBackColor = true;
            this.btnOff.Click += new System.EventHandler(this.btnOff_Click);
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(574, 253);
            this.Controls.Add(this.btnOff);
            this.Controls.Add(this.btnOn);
            this.Controls.Add(this.txtSendData);
            this.Controls.Add(this.lstSendData);
            this.Controls.Add(this.lstReceivedData);
            this.Controls.Add(this.grpSerialPortConfiguration);
            this.Controls.Add(this.btnSend);
            this.Name = "Form1";
            this.Text = "SERI PORT HABERLEŞME - SERIAL PORT COMMUNICATION";
            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
            this.Load += new System.EventHandler(this.Form1_Load);
            this.grpSerialPortConfiguration.ResumeLayout(false);
            this.grpSerialPortConfiguration.PerformLayout();
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.IO.Ports.SerialPort serialPort1;
        private System.Windows.Forms.Button btnSend;
        private System.Windows.Forms.Button btnOpenPort;
        private System.Windows.Forms.GroupBox grpSerialPortConfiguration;
        private System.Windows.Forms.ComboBox cmbSerialPortHandshaking;
        private System.Windows.Forms.ComboBox cmbSerialPortStopBits;
        private System.Windows.Forms.ComboBox cmbSerialPortParity;
        private System.Windows.Forms.ComboBox cmbSerialPortDataBits;
        private System.Windows.Forms.ComboBox cmbSerialPortBaudRate;
        private System.Windows.Forms.Label lblSerialPortHandshaking;
        private System.Windows.Forms.Label lblSerialPortParity;
        private System.Windows.Forms.Label lblSerialPortStopBits;
        private System.Windows.Forms.Label lblSerialPortDataBits;
        private System.Windows.Forms.Label lblSerialPortBaudRate;
        private System.Windows.Forms.Label lblSerialPortCom;
        private System.Windows.Forms.ComboBox cmbSerialPortCom;
        private System.Windows.Forms.ListBox lstReceivedData;
        private System.Windows.Forms.Button btnClosePort;
        private System.Windows.Forms.ListBox lstSendData;
        private System.Windows.Forms.TextBox txtSendData;
        private System.Windows.Forms.Button btnOn;
        private System.Windows.Forms.Button btnOff;
    }
}




6 Ocak 2018 Cumartesi

C Sharp Form ve Konsol Örnek Uygulamalar



C Sharp Uygulamalar Kim 500 Milyon İster Oyunu Oyna

C Sharp Uygulamalar Mayın Tarlası Oyunu

C Sharp Form Uygulamalar Thread Kullanarak Pastacı ve Tedarikçi Arasında İşlemler Yaptırma

C Sharp Form Artış Oranına Göre Maaş Hesaplama Programı
C Sharp Uygulamalar Var Mısın Yok Musun Oyunu C Sharp Form Sos Oyunu Programı
C Sharp Uygulamalar Kim 500 Milyon İster Oyunu Oyna
C Sharp Form Uygulamalar İnternet Kafe Uygulaması
C Sharp Form Uygulamalar Yılan N Merdiven Oyunu Oyna


C Sharp Form Uygulamalar Yılan N Merdiven Oyunu Oyna

C Sharp Uygulamalar Süreli Sayı Tahmin Oyunu

C Sharp Uygulamalar Yılan Oyunu


C Sharp Uygulamalar Rastgele Seçilen Şehir İsmi Bulmaca Oyunu Oyna

C Sharp Uygulamalar Haritadan Şehir İsmi Bulma Oyunu Oyna

C Sharp Form Uygulamalar Puzzle Oyunu Oyna


C Sharp Form Access Veri Tabanı Kullanarak Kullanıcı Giriş Formu Oluşturma

C Sharp Form Access Veri Tabanı Kullanarak Kullanıcı Şifre Güncelleme Formu Oluşturma

C Sharp Uygulamalar Kitaplık Programı

C Sharp Uygulamalar SQL VeriTabanı Kategorilere Göre Ürünleri Listbox Kutusunda Listeleme

C Sharp Uygulamalar SQL VeriTabanı Kategorilere Göre Ürünleri Combobox Kutusunda Listeleme

C Sharp Form Uygulamalar Türkiye İller İlçeler Semtler Mahalleleri ve Posta Kodunu Listeleme Programı



C Sharp Uygulamaları Chart Kullanarak Birinci - İkinci Dereceden Denklem Grafiği Çizdirme

C Sharp Uygulamaları Chart Kullanarak Birinci - İkinci Dereceden Denklem Grafiği Çizdirme

C Sharp Uygulamaları Chart Kullanarak Birinci - İkinci Dereceden Denklem Grafiği Çizdirme

C Sharp Uygulamalar Modern Hesap Makinesi

C Sharp Uygulamalar Roma Rakamları Çevirici Programı

C Sharp Uygulamaları Chart Kullanarak Birinci - İkinci Dereceden Denklem Grafiği Çizdirme


C Sharp Konsol Uygulamalar Bilgisayarın Ip ve Mac Adreslerini Bulma Programı

C Sharp Konsol Uygulamalarda Matris En Büyük Elemanını Bulma

C Sharp Konsolda Klavyeden Girilen Sayıların Ortalamasını Hesaplama Programı
C Sharp Uygulamlar Otobüs Otomasyon Sistemi Yapımı C Sharp Uygulamalar İçi Dolu Üçgen Çizme
C Sharp Konsol 20 Sayıyı Küçükten Büyüğe ve Büyükten Küçüğe Doğru Sıralama







11 Aralık 2017 Pazartesi

C sharp fonksiyon içinde fonksiyon çağırma işlemi





        // Fonksiyon içinde fonksiyon çağırma işlemi :

        private void button1_Click(object sender, System.EventArgs e)
        {
            string data = Oper(VerticalMirror, "lVHt\nJVhv\nCSbg\nyeCt");//), "yeCt\nCSbg\nJVhv\nlVHt"
            data = Opereration(HorizontalMirror, "njMK\ndbrZ\nLPKo\ncEYz");//), "cEYz\nLPKo\ndbrZ\nnjMK"
        }

        // Bu örnekte iki fonksiyonumuz var. Birincisi VerticalMirror, girdi olarak string data alıyor
        // Girdi olarak verilen datayı dizi formatına çevirip, dizi içindeki karakterleri dikey olarak aynalıyor

        public  static string VerticalMirror(string strng)
        {
            string[] data = strng.Split('\n');
            char[] chardata;

            for (int i = 0; i < data.Length ; i++)
            {
                chardata = data[i].ToArray();
                Array.Reverse(chardata);
                data[i] = new string(chardata);
            }
            return string.Join("\n", data);
        }

        // İkincisi HorizontalMirror, girdi olarak string data alıyor
        // Girdi olarak verilen datayı dizi formatına çevirip, dizi içindeki karakterleri yatay olarak aynalıyor

        public  static string HorizontalMirror(string strng)
        {
            string[] data = strng.Split('\n');
            Array.Reverse(data);
            return string.Join("\n", data);
        }

        // Burada Operation isminde bir metodumuzda metot içinde metot çağırarak, istenilen işlemi fonksiyon içinde
        // fonksiyonu parametre alarak ilgili fonksiyonu çağırılmasını sağlıyor. Bunun için System.Func fonksiyonunu kullanıyoruz
  
        public static string Opereration(Func< string, string > fct, string s)
        {
            return fct(s);
        }
     

9 Aralık 2017 Cumartesi

C sharp dizinin elemanları döngü ve fonksiyon kullanarak toplamını hesaplama





5 farklı yöntem ile dizinin bütün elemanlarının toplamını hesaplama:

        public int Dizi_Toplama_1(int[] array)
        {
            int toplam = 0;

            // for döngüsü kullanarak dizinin bütün elemanlarını toplama
            for (int i = 0; i < array.Length; i++)
            {
                toplam += array[i];
            }
            return toplam;
        }

        public int Dizi_Toplama_2(int[] array)
        {
            int toplam = 0;
            // foreach döngüsü kullanarak dizinin bütün elemanlarını toplama
            foreach (int item in array)
            {
                  toplam += item;
            }
            return toplam;
        }

        public int Dizi_Toplama_3(int[] array)
        {
            int toplam = 0, i = -1;
            // whike döngüsü kullanarak dizinin bütün elemanlarını toplama
            while (++i < array.Length)
            {
                toplam += array[i];
            }
            return toplam;
        }

        public int Dizi_Toplama_4(int[] array)
        {
            int toplam = 0, i = 0;
            // do whike döngüsü kullanarak dizinin bütün elemanlarını toplama
            do
            {
                toplam += array[i];
            } while (++i < array.Length);
            return toplam;
        }

        public int Dizi_Toplama_5(int[] array)
        {
            //dizinin Sum fonksiyonunu kullanarak dizinbütün elemanlarını toplama
            return array.Sum();
        }

21 Kasım 2017 Salı

C sharp verilen bir dizide N den fazla tekrarlanan elemanı silme







Liste lst ve sayı N verildiğinde, her lst sayısını en çok N defa içeren, yeniden sıralama yapmadan yeni bir liste oluşturun. Örneğin, N = 2 ve giriş [1,2,3,1,2,1,2,3] ise, [1,2,3,1,2] 'yi alırsınız, bir sonraki [1,2 ], sonuçta 1 ve 2 sonuçta 3 kez olduğundan listeye eklenmez. Ardından 3 2. kez gelir ve dizinin son durumu [1,2,3,1,2,3] olur

Örnek fonksiyon aşağıdaki gibidir:


        public static int[] DeleteNthItem(int[] arr, int x)
        {
            List result = new List();
            for (int i = 0; i < arr.Length; i++)
            {
                if (result.Count(s => s.Equals(arr[i])) < x)
                    result.Add(arr[i]);
            }
            return result.ToArray();
        }


veya


        public static int[] DeleteNth(int[] arr, int x)
        {
            var result = new List();
            foreach (var item in arr)
            {
                if (result.Count(i => i == item) < x)
                    result.Add(item);
            }
            return result.ToArray();
        }





Verilen bir dizinin sol ve sağ tarafının toplamı eşit olan indeksini bulma





Bir dizi tam sayı verilecektir. Göreviniz bu diziyi alıp N'nin solundaki tamsayıların toplamının N sağındaki tam sayıların toplamına eşit olduğu bir dizinin N indeksini bulmanızdır. Bunun gerçekleşmesini sağlayacak bir dizi verilmemişse fonksiyonumuz -1 dönecek.

Örneğin:

Diyelim ki {1,2,3,4,3,2,1} dizisi verildi:
Dizinin 3. konumunda indeksin sol tarafının toplamı ({1,2,3}) ve indeksin sağ tarafının toplamı ({3,2, 1}) ikisi de eşittir 6. Bu durumda fonksiyon dizinin indeksi olarak 3 döndürür.

Başka birine bakalım.
Size {1,100,50, -51,1,1} dizisi verildi:
Dizinin 1. konumunda, dizinin sol tarafının toplamı ({1}) ve dizinin sağ tarafının toplamı ({50, -51,1,1}) toplamı 1 dir. Her iki tarafın toplamı 1 dir. Bu durumda fonksiyon dizinin indeksi olarak 1 döndürür.

Örnek fonksiyon aşağıdaki gibidir:


       
        public static int FindEvenIndex(int[] arr)
        {
            int left = 0,right = 0;
            for (int i = 0; i < arr.Length; i++)
            {
                right = 0;
                for (int j = i+1; j < arr.Length; j++)
                {
                    right += arr[j];
                }
                if (left == right)
                    return i;
                else left += arr[i];
            }

            return -1;
        }



8 Nisan 2016 Cuma

C Sharp Uygulamalar Şehir İsmi Bulmaca Oyunu Oyna



KONU : C Sharp Uygulamalar - C Sharp ( C# ) şehir ismi bulmaca oyunu uygulaması. textbox ve label kullanarak kelimeyi harflere bölme. Label nesnesinin backcolor ve forecolor özelliklerini kullanarak oyun alanı oluşturma.
ETİKETLER:





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_Textbox_Label_Uygulamasi
{
    public partial class Form1 : Form
    {

        string bulunacakKelime = "";
        int bulunanHarfSayisi = 0;
        int kalanHak = 4;

        public Form1()
        {
            InitializeComponent();
        }

        private void btnKelimeyiGir_Click(object sender, EventArgs e)
        {
            bulunacakKelime = txtBulunacakKelime.Text;

            txtBulunacakKelime.Text = "";
        }

        private void btnOyunuBaslat_Click(object sender, EventArgs e)
        {
            bulunanHarfSayisi = 0;
            btnHarfGir.Enabled = true;
            lblGirilenHarfler.Text = "";
            kalanHak = 4;
            lblKalanHak.Text = kalanHak.ToString();

            grpOyunAlani.Controls.Clear();

            for (int i = 0; i < bulunacakKelime.Length; i++)
            {
                Label label = new Label();
                label.Location = new Point(20*i+30,20);
                label.Text = bulunacakKelime[i].ToString();
                label.Size = new System.Drawing.Size(15, 13);
                label.BackColor = Color.Red;
                label.ForeColor = Color.Red;
                grpOyunAlani.Controls.Add(label);
            }
        }

        private void btnHarfGir_Click(object sender, EventArgs e)
        {
           
            bool harfVarMi = false;

            if (txtHarf.Text.Length != 1)
            {
                MessageBox.Show("Lütfen tek harf giriniz.", "Uyarı", 
MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                if (lblGirilenHarfler.Text.Contains(txtHarf.Text))
                {
                    MessageBox.Show("Bu harfi daha önce girdiniz.", "Uyarı",
MessageBoxButtons.OK, MessageBoxIcon.Warning);

                    txtHarf.Text = "";
                    txtHarf.Focus();

                    return;
                }

                foreach (Control item in grpOyunAlani.Controls)
                {
                    if (item is Label)
                    {
                        Label label = item as Label;
                        if (label.Text.ToUpper() == txtHarf.Text.ToUpper())
                        {
                            label.ForeColor = Color.Black;
                            label.BackColor = Color.Lime;
                            harfVarMi = true;
                            bulunanHarfSayisi++;
                        }
                    }
                }
            }

            if (!harfVarMi)
            {
                kalanHak--;

                lblKalanHak.Text = kalanHak.ToString();

                if (kalanHak == 0)
                {
                    btnHarfGir.Enabled = false;
                    MessageBox.Show("Oyun Bitti. Kaybettiniz. Yeni Oyun için 
yeni kelime giriniz.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }

           
            lblGirilenHarfler.Text += txtHarf.Text + "  ";
          


            if (bulunanHarfSayisi == bulunacakKelime.Length)
            {
                btnHarfGir.Enabled = false;
                MessageBox.Show("Oyun Bitti. Kazandınız. Yeni Oyun için yeni 
kelime giriniz.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            txtHarf.Text = "";
            txtHarf.Focus();
        }
    }
}

UYGULAMAYI İNDİR

22 Mart 2016 Salı

C Sharp Sos Oyunu 5x5 Rastgele Otomatik Doldurma










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_Sos_5x5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        Random rastgele = null;
        int satır_sayısı = 5;
        int sütun_sayısı = 5;
        TextBox[,] alanlar;

        private void Form1_Load(object sender, EventArgs e)
        {
            rastgele = new Random();

            alanlar = new TextBox[satır_sayısı, sütun_sayısı];
            for (int i = 0; i < satır_sayısı; i++)
            {
                for (int j = 0; j < sütun_sayısı; j++)
                {

                    TextBox yenitextBox = new TextBox();
                    yenitextBox.Location = new System.Drawing.Point(50 + j * 25, i * 25 + 50);
                    yenitextBox.Name = i + " * " + j;
                    yenitextBox.Size = new System.Drawing.Size(20, 20);
                    yenitextBox.TabIndex = 1;
                    yenitextBox.BorderStyle = BorderStyle.FixedSingle;

                    yenitextBox.KeyUp += new KeyEventHandler(yenitextBox_KeyUp);
                    this.Controls.Add(yenitextBox);

                    alanlar[i, j] = yenitextBox;

                }
            }
        }

        void yenitextBox_KeyUp(object sender, KeyEventArgs e)
        {
            (sender as TextBox).Text = (sender as TextBox).Text.ToUpper();
            if ((sender as TextBox).Text.Length > 1)
                (sender as TextBox).Text = (sender as TextBox).Text.Substring(0,1);
            else
            {
                bool oyunbitti = false;
                oyunbitti = SosOlanlariBoya(oyunbitti);

            }
        }

        private bool SosOlanlariBoya(bool oyunbitti)
        {
            for (int i = 0; i < satır_sayısı; i++)
            {
                for (int j = 0; j < sütun_sayısı; j++)
                {
                    if (alanlar[i, j].Text.ToUpper() == "S")
                    {
                        try
                        {
                            if (alanlar[i, j + 1].Text.ToUpper() == "O" && alanlar[i, j + 2].Text.ToUpper() == "S")
                            {
                                oyunbitti = true;
                                alanlar[i, j].BackColor = Color.Lime;
                                alanlar[i, j + 1].BackColor = Color.Lime;
                                alanlar[i, j + 2].BackColor = Color.Lime;
                            }
                        }
                        catch (Exception)
                        {
                        }

                        try
                        {
                            if (alanlar[i + 1, j + 1].Text.ToUpper() == "O" && alanlar[i + 2, j + 2].Text.ToUpper() == "S")
                            {
                                oyunbitti = true;
                                alanlar[i, j].BackColor = Color.Lime;
                                alanlar[i + 1, j + 1].BackColor = Color.Lime;
                                alanlar[i + 2, j + 2].BackColor = Color.Lime;
                            }
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            if (alanlar[i + 1, j].Text.ToUpper() == "O" && alanlar[i + 2, j].Text.ToUpper() == "S")
                            {
                                oyunbitti = true;
                                alanlar[i, j].BackColor = Color.Lime;
                                alanlar[i + 1, j].BackColor = Color.Lime;
                                alanlar[i + 2, j].BackColor = Color.Lime;
                            }
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            if (alanlar[i + 1, j - 1].Text.ToUpper() == "O" && alanlar[i + 2, j - 2].Text.ToUpper() == "S")
                            {
                                oyunbitti = true;
                                alanlar[i, j].BackColor = Color.Lime;
                                alanlar[i + 1, j - 1].BackColor = Color.Lime;
                                alanlar[i + 2, j - 2].BackColor = Color.Lime;
                            }
                        }
                        catch (Exception)
                        {
                        }


                    }
                }
            }


            return oyunbitti;
        }


        private void btnYeniOyun_Click(object sender, EventArgs e)
        {

            for (int i = 0; i < satır_sayısı; i++)
            {
                for (int j = 0; j < sütun_sayısı; j++)
                {
                    alanlar[i, j].Text = "";
                    alanlar[i, j].BackColor = Color.LightGray;
                    if (rastgele.Next(2) == 0)
                    {
                        alanlar[i, j].Text = "S";
                    }
                    else
                    {
                        alanlar[i, j].Text = "O";
                    }
                }
            }

            SosOlanlariBoya(false);
      
        }
    }
}



21 Mart 2016 Pazartesi

C Sharp Sos Oyunu 5x5










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_Sos_5x5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        int satır_sayısı = 5;
        int sütun_sayısı = 5;
        TextBox[,] alanlar;

        private void Form1_Load(object sender, EventArgs e)
        {

            alanlar = new TextBox[satır_sayısı, sütun_sayısı];
            for (int i = 0; i < satır_sayısı; i++)
            {
                for (int j = 0; j < sütun_sayısı; j++)
                {

                    TextBox yenitextBox = new TextBox();
                    yenitextBox.Location = new System.Drawing.Point(50 + j * 25, i * 25 + 50);
                    yenitextBox.Name = i + " * " + j;
                    yenitextBox.Size = new System.Drawing.Size(20, 20);
                    yenitextBox.TabIndex = 1;
                    yenitextBox.BorderStyle = BorderStyle.FixedSingle;

                    yenitextBox.KeyUp += new KeyEventHandler(yenitextBox_KeyUp);
                    this.Controls.Add(yenitextBox);

                    alanlar[i, j] = yenitextBox;

                }
            }
        }

        void yenitextBox_KeyUp(object sender, KeyEventArgs e)
        {
            (sender as TextBox).Text = (sender as TextBox).Text.ToUpper();
            if ((sender as TextBox).Text.Length > 1)
                (sender as TextBox).Text = (sender as TextBox).Text.Substring(0,1);
            else
            {
                bool oyunbitti = false;
                try
                {
                    for (int i = 0; i < satır_sayısı; i++)
                    {
                        for (int j = 0; j < sütun_sayısı; j++)
                        {
                            if (!oyunbitti && alanlar[i, j].Text.ToUpper() == "S")
                            {
                                if (alanlar[i, j + 1].Text.ToUpper() == "O" && alanlar[i, j + 2].Text.ToUpper() == "S")
                                {
                                    oyunbitti = true;
                                    alanlar[i, j].BackColor = Color.Lime;
                                    alanlar[i, j + 1].BackColor = Color.Lime;
                                    alanlar[i, j + 2].BackColor = Color.Lime;
                                }
                                else if (alanlar[i + 1, j + 1].Text.ToUpper() == "O" && alanlar[i + 2, j + 2].Text.ToUpper() == "S")
                                {
                                    oyunbitti = true;
                                    alanlar[i, j].BackColor = Color.Lime;
                                    alanlar[i + 1, j + 1].BackColor = Color.Lime;
                                    alanlar[i + 2, j + 2].BackColor = Color.Lime;
                                }
                                else if (alanlar[i + 1, j].Text.ToUpper() == "O" && alanlar[i + 2, j].Text.ToUpper() == "S")
                                {
                                    oyunbitti = true;
                                    alanlar[i, j].BackColor = Color.Lime;
                                    alanlar[i + 1, j].BackColor = Color.Lime;
                                    alanlar[i + 2, j].BackColor = Color.Lime;
                                }
                                else if (alanlar[i + 1, j - 1].Text.ToUpper() == "O" && alanlar[i + 2, j - 2].Text.ToUpper() == "S")
                                {
                                    oyunbitti = true;
                                    alanlar[i, j].BackColor = Color.Lime;
                                    alanlar[i + 1, j - 1].BackColor = Color.Lime;
                                    alanlar[i + 2, j - 2].BackColor = Color.Lime;
                                }


                            }
                        }
                    }
                }
                catch (Exception)
                {

                }

            }
        }

        private void btnYeniOyun_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < satır_sayısı; i++)
            {
                for (int j = 0; j < sütun_sayısı; j++)
                {
                    alanlar[i, j].Text = "";
                }
            }
        }
    }
}



1 Aralık 2015 Salı

C Sharp Form Dizi Elemanlarını İki Buton ve Fonksiyon Kullanarak Sıralama




KONU : C Sharp formda dizi elemanlarını fonksiyon ve ik buton kullanarak sıralama. Sıralanan sayıları da mesaj kutusu ile gösterme.
ETİKETLER: c sharp - c# - c sharp uygulamalar - c sharp örnekler - c# applications - c sharp form ve konsol uygulamalar










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_Form_Dizi_Elemanlarini_Siralama
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        Random rastgeleSayi;
        int[] dizi;

        private void Form1_Load(object sender, EventArgs e)
        {

            rastgeleSayi = new Random();

            //100 elamanlı bir dizi tanımlayalım.
            dizi = new int[100];

            //bu uygulamada 100 tane rastgele farklı sayılar oluşturalım. 


            for (int i = 0; i < 100; i++)
            {
                int yeniSayi = rastgeleSayi.Next(0, 1000);
                if (dizi.Contains(yeniSayi))
                {
                    //Eğer daha önce eklenmiş bir sayı ise yeni sayı bulmak için
                    i--;
                }
                else
                {
                    dizi[i] = yeniSayi;
                }
            }
        }

        private void btnKucuktenBuyugeSirala_Click(object sender, EventArgs e)
        {
            int yedek = 0;

            for (int i = 0; i < dizi.Length; i++)
            {
                for (int j = i + 1; j < dizi.Length; j++)
                {
                    if (dizi[j] < dizi[i])
                    {
                        yedek = dizi[i];

                        dizi[i] = dizi[j];

                        dizi[j] = yedek;

                    }
                }
            }

            string mesaj = ""; 

            for (int i = 1; i < dizi.Length; i++)
            {
                mesaj += dizi[i] + "  ";
            }

            MessageBox.Show(mesaj, "Küçükten büyüğe doğru sıralama",MessageBoxButtons.OK,MessageBoxIcon.Information);
        }

        private void btnBuyuktenKucugeSirala_Click(object sender, EventArgs e)
        {
            int yedek = 0;

            for (int i = 0; i < dizi.Length; i++)
            {
                for (int j = i + 1; j < dizi.Length; j++)
                {
                    if (dizi[j] > dizi[i])
                    {
                        yedek = dizi[i];

                        dizi[i] = dizi[j];

                        dizi[j] = yedek;

                    }
                }
            }

            string mesaj = "";

            for (int i = 1; i < dizi.Length; i++)
            {
                mesaj += dizi[i] + "  ";
            }

            MessageBox.Show(mesaj, "Büyükten küçüğe doğru sıralama", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }


    }
}





28 Kasım 2015 Cumartesi

C Sharp Konsol Mastermind Oyunu




KONU : C Sharp Konsol Mastermind Oyunu
ETİKETLER: c sharp - c# - c sharp uygulamalar - c sharp örnekler - c# applications - c sharp form ve konsol uygulamalar - c sharp oyun - charp game






UYGULAMAYI İNDİR

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace C_Sharp_Console_Mastermind_Game
{
    class Program
    {
        static void Main(string[] args)
        {



            int i, length;

            //int tipine dönüştüreceğimiz sayı
            int digitOk = 0;
            int digitNotOk = 0;

            //basamak değeri: abcd girilen sayımız d -> digitValue[3] olarak temsil edecek
            int[] digitValue = new int[4];

            int[] targetNumber = new int[4];
            Random randomGenerate = new Random();

            int randomNumber = randomGenerate.Next(1000, 10000); 
            
            
            ////Console.WriteLine(randomNumber.ToString());

            //tahmin edilecek sayının basamaklarını oluşturalım
            for (i = 0; i < 4; i++)
            {
                targetNumber[i] = randomNumber % 10; // rand() fonksiyonu ile 0 - 10 arasında bir sayı oluşturuyorum
                randomNumber /= 10;
            }

            while (true)//sonsuz döngü, çıkılmak istenilene kadar devam edecek bir döngü oluşturuyorum.
            {
                digitOk = 0;
                digitNotOk = 0;

                //konsoldan bir sayı giriniz.
                Console.WriteLine("\n\nEnter a number: ");

                //konsoldan girilen sayıyı oku
                int estimatedNumber = 0;
                try
                {
                    estimatedNumber = Convert.ToInt16(Console.ReadLine());
                }
                catch (Exception)
                {

                }

                //okunan dört basamaklı sayıyı int tipine dönüştür
                for (i = 0; i < 4; i++)
                {
                    digitValue[i] = estimatedNumber % 10;

                    estimatedNumber /= 10;

                    bool digitAvailable = false;

                    for (int j = 0; j < 4; j++)
                    {
                        if (digitValue[i] == targetNumber[j])
                        {
                            digitAvailable = true;
                            break;
                        }
                    }

                    if (digitAvailable == true)
                    {
                        if (digitValue[i] == targetNumber[i])
                        {
                            digitOk++;
                        }
                        else
                        {
                            digitNotOk++;
                        }
                    }

                }

                Console.WriteLine(" Information =  + {0}  - {1}", digitOk, digitNotOk);

                if (digitOk == 4)
                {
                    break;
                }
            }

            Console.WriteLine("\n ****Game Over**** ");
            Console.WriteLine("\n ****Game Over**** ");
            Console.ReadKey();
        }
    }
}




UYGULAMAYI İNDİR

27 Kasım 2015 Cuma

C Sharp Form WPF Şehir İsmi Bulma Oyunu




KONU : C Sharp Form WPF de Şehir İsmi Bulma Oyunu uygulaması nasıl yapılır?
ETİKETLER: c sharp - c# - c sharp uygulamalar - c sharp örnekler - c# applications - c sharp form ve konsol uygulamalar - WPF






UYGULAMAYI İNDİR

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace C_sharp_WPF_Sehir_ismi_Bulmaca
{
    /// 
    /// Interaction logic for MainWindow.xaml
    /// 
    public partial class MainWindow : Window
    {

        string[] sehirlerListesi = { "İstanbul", "Ankara", "İzmir", "Adana", "Adıyaman", 
                                       "Afyonkarahisar", "Ağrı", "Aksaray", "Amasya", "Antalya",
                                       "Ardahan", "Artvin", "Aydın", "Balıkesir", "Bartın", "Batman",
                                       "Bayburt", "Bilecik", "Bingöl", "Bitlis", "Bolu", "Burdur", 
                                       "Bursa", "Çanakkale", "Çankırı", "Çorum", "Denizli", 
                                       "Diyarbakır", "Düzce", "Edirne", "Elazığ", "Erzincan", 
                                       "Erzurum", "Eskişehir", "Gaziantep", "Giresun", "Gümüşhane", 
                                       "Hakkari", "Hatay", "Iğdır", "Isparta", "Kahramanmaraş", 
                                       "Karabük", "Karaman", "Kars", "Kastamonu", "Kayseri",
                                       "Kırıkkale", "Kırklareli", "Kırşehir", "Kilis", "Kocaeli",
                                       "Konya", "Kütahya", "Malatya", "Manisa", "Mardin", "Mersin",
                                       "Muğla", "Muş", "Nevşehir", "Niğde", "Ordu", "Osmaniye", "Rize",
                                       "Sakarya", "Samsun", "Siirt", "Sinop", "Sivas", "Şırnak",
                                       "Tekirdağ", "Tokat", "Trabzon", "Tunceli", "Şanlıurfa", "Uşak",
                                       "Van", "Yalova", "Yozgat", "Zonguldak" };

        string bulunacakSehirIsmi = "";
        int bulunanHarfSayisi = 0;
        int kalanHak = 4;
        Random rastgele;

        public MainWindow()
        {
            InitializeComponent();
        }

        private void Grid_Loaded(object sender, RoutedEventArgs e)
        {
            btnHarfGir.IsEnabled = false;
            btnTahminEt.IsEnabled = false;
            rastgele = new Random();

            //this.AcceptButton = btnHarfGir;
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            bulunanHarfSayisi = 0;
            btnHarfGir.IsEnabled = true;
            btnTahminEt.IsEnabled = true;
            lblGirilenHarfler.Content = "";
            kalanHak = 4;
            lblKalanHak.Content = kalanHak.ToString();

            YeniSehirSec();

            gridOyunAlani.Children.Clear();
            int location = 0;
            for (int i = 0; i < bulunacakSehirIsmi.Length; i++)
            {
                Label label = new Label();
                label.Height = 25;
                label.Width = 25;
                label.HorizontalAlignment = HorizontalAlignment.Left;
                label.VerticalAlignment = VerticalAlignment.Top;
                label.Content = bulunacakSehirIsmi[i].ToString().ToUpper();
                label.Foreground = Brushes.Red;
                label.Background = Brushes.Red;
                location = 30 * i;
                label.Margin = new Thickness(location, 25 , 0, 0);

                gridOyunAlani.Children.Add(label);
              
            }
        }

        private void btnHarfGir_Click(object sender, RoutedEventArgs e)
        {
            bool harfVarMi = false;

            if (txtHarf.Text.Length != 1)
            {
                MessageBox.Show("Lütfen tek harf giriniz.", "Uyarı");
                txtHarf.Text = "";
                txtHarf.Focus();
                return;
            }
            else
            {
                if (lblGirilenHarfler.Content.ToString().Contains(txtHarf.Text))  //
                {
                    MessageBox.Show("Bu harfi daha önce girdiniz.", "Uyarı");

                    txtHarf.Text = "";
                    txtHarf.Focus();

                    return;
                }

                foreach (Control item in gridOyunAlani.Children)
                {
                    if (item is Label)
                    {
                        Label label = item as Label;
                        if (label.Content.ToString().ToUpper() == txtHarf.Text.ToUpper())
                        {
                            label.Foreground = Brushes.Black;
                            label.Background = Brushes.Lime;
                            harfVarMi = true;
                            bulunanHarfSayisi++;
                        }
                    }
                }
            }

            if (!harfVarMi)
            {
                kalanHak--;

                lblKalanHak.Content = kalanHak.ToString();

                if (kalanHak == 0)
                {
                    btnHarfGir.IsEnabled = false;
                    btnTahminEt.IsEnabled = false;

                    foreach (Control item in gridOyunAlani.Children)
                    {
                        if (item is Label)
                        {
                            Label label = item as Label;
                            label.Foreground = Brushes.Black;
                        }
                    }

                    MessageBox.Show("Oyun Bitti. Kaybettiniz. Yeni Oyun için yeni kelime giriniz. \n Cevap : " + bulunacakSehirIsmi, "Bilgi");
                }
            }

            lblGirilenHarfler.Content += txtHarf.Text + "  ";
          
            if (bulunanHarfSayisi == bulunacakSehirIsmi.Length)
            {
                btnHarfGir.IsEnabled = false;
                btnTahminEt.IsEnabled = false;
                MessageBox.Show("Oyun Bitti. Kazandınız. Yeni Oyun için yeni kelime giriniz.", "Bilgi"  );
            }

            txtHarf.Text = "";
            txtHarf.Focus();
        }

        private void YeniSehirSec()
        {
            int rastgeleSayi = rastgele.Next(0, sehirlerListesi.Length);

            bulunacakSehirIsmi = sehirlerListesi[rastgeleSayi];
        }

        private void btnTahminEt_Click(object sender, RoutedEventArgs e)
        {
            if (bulunacakSehirIsmi.ToUpper() == txtKelime.Text.ToUpper())
            {
                foreach (Control item in gridOyunAlani.Children)
                {
                    if (item is Label)
                    {
                        Label label = item as Label;
                        label.Foreground = Brushes.Black;
                        label.Background = Brushes.Lime;
                    }
                }
                MessageBox.Show("Oyun Bitti. Tebrikler Kazandınız. Yeni Oyun için yeni kelime giriniz.", "Bilgi");
            }
            else
            {
                foreach (Control item in gridOyunAlani.Children)
                {
                    if (item is Label)
                    {
                        Label label = item as Label;
                        label.Foreground = Brushes.Black; 
                    }
                }
                MessageBox.Show("Oyun Bitti. Kaybettiniz. Yeni Oyun için yeni kelime giriniz. \n Cevap : " + bulunacakSehirIsmi, "Bilgi");
            }

            btnHarfGir.IsEnabled = false;
            btnTahminEt.IsEnabled = false;
        }

 
 
    }
}






UYGULAMAYI İNDİR

24 Ekim 2015 Cumartesi

C Sharp Form Uygulamalar Yılan Oyunu

UYGULAMAYI İNDİR



KONU : C Sharp ( C# ) Form Uygulamalar çift kişilik ve tek kişilik yılan oyunu hazırlama, mayın tarlası oyunu , c sharp form yılan oyun uygulaması


ETİKETLER : C Sharp Oyun | c sharp oyun örnekleri | c sharp oyun yapma | c sharp oyun kodları | csharp oyun programlama | csharp örnek oyun | csharp örnek projeler | csharp örnek programlar| c sharp örnek kodlar | csharp örnek kodları | c sharp örnekleri | csharp örnek | c sharp oyun programları | c# oyun | c# oyun yapımı | c# oyun programlama | c# oyun kodları | c# oyun örnekleri | | c# oyun örnekleri indir | c# örnek oyun | c# yılan oyunu | c# yılan oyunu yapımı | c# yılan oyunu kodu | c# yılan oyun | c# yılan oyunu kod | c# yılan oyunu kodları







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

namespace Yilan
{
    public partial class YilanForm : Form
    {
        int oyuncuSayisi = 1;
        int maxOyuncuSayisi = 2;
        bool oyunDurum = false;
        Semaphore semaPhore;

        ///          /// Yilan nesneleri         /// 
        Yilan[] yilan;

        ///          /// Yılanın deri renkleri         /// 
        Brush[] fircalar = { Brushes.Blue, Brushes.Green, Brushes.Gray, Brushes.GreenYellow };

        ///          /// Grafik nesnesi         /// 
        Grafik grafik;

        ///          /// Anaform penceresi         /// 
        public YilanForm()
        {
            InitializeComponent();
        }

        private Grafik Grafik
        {
            get
            {
                return grafik;
            }
            set
            {
                grafik = value;
            }
        }

        private Yilan [] Yilan
        {
            get
            {
                return yilan;
            }
            set
            {
                yilan = value;
            }
        }


        ///          /// Form yükleme metodu         /// 
        /// 
        /// 
        private void YilanForm_Load(object sender, EventArgs e)
        {
            //oyun yüklenirkn puan etiketleri görünmesin
            lblBrinciOyuncu.Visible = false;
            lblIkinciOyuncu.Visible = false;

            //Oyun yüklenirken 2 yılan nesnesini oluştur
            Yilan = new Yilan[maxOyuncuSayisi];

            //Oyun yüklenirker grafik nesnesini oluştur
            Grafik = new Grafik();

            //Oyunu bir oyunculu olarak başlat
            for (int i = 0; i < maxOyuncuSayisi; i++)
            {
                Yilan[i] = new Yilan();
            }

            this.Text = "Yılan Oyunu";

            Grafik.grafikAlaniOlustur();

            Grafik.yem.X = -1;
            Grafik.yem.Y = -1;
            Grafik.yemVarMi = false;

            if (Grafik.bmp != null)
            {
                oyunAlani.Image = Grafik.bmp;
                oyunAlani.Refresh();
            }

            semaPhore = new Semaphore(1, 1);
        }

        ///          /// Timer olayı, yılan grafiğini günceller ve yılanı bir birim         /// Hareket ettirir         /// 
        /// 
        /// 
        private void oyunTimerTick(object sender, EventArgs e)
        {
            semaPhore.WaitOne();
            for (int i = 0; i < oyuncuSayisi; i++)
            {
                //yılanı gittiği yönde bir birim kaydırma
                if (Yilan[i].rota == 1) Yilan[i].yilanSolaGit();
                if (Yilan[i].rota == 2) Yilan[i].yilanSagGit();
                if (Yilan[i].rota == 3) Yilan[i].yilanYukariGit();
                if (Yilan[i].rota == 4) Yilan[i].yilanAsagiGit();

                //yılan alanının sınırları geçildiğinde yılanı diğer taraftan çıkar
                if (Yilan[i].x > 39) Yilan[i].x = 0;
                else if (Yilan[i].x < 0) Yilan[i].x = 40;

                if (Yilan[i].y > 39) Yilan[i].y = 0;
                else if (Yilan[i].y < 0) Yilan[i].y = 40;

                //yilana yeni eklenen birimi yılanın rengi ile boya
                Grafik.YilaniDoldur(Yilan[i].x, Yilan[i].y, Yilan[i].yilanRengi);

                //eklenen birimi kuyruğa ekle
                Yilan[i].alanX[Yilan[i].kuyrukUzunluk] = Yilan[i].x;
                Yilan[i].alanY[Yilan[i].kuyrukUzunluk] = Yilan[i].y;
                Yilan[i].kuyrukUzunluk++;

                //Kuyruğu bir birim azaltmak için yılanın kuyruğundaki son birimi zemin rengine boya
                Grafik.YilaniBosalt(Yilan[i].alanX[Yilan[i].kuyrukUzunluk - Yilan[i].uzunluk],
       Yilan[i].alanY[Yilan[i].kuyrukUzunluk - Yilan[i].uzunluk]);
                
                
                if (Yilan[i].kuyrukUzunluk > 899)
                {
                    Yilan[i].kuyrukUzunluk = Yilan[i].uzunluk;
                    for (int z = 0; z < Yilan[i].uzunluk; ++z)
                    {
                        Yilan[i].alanX[Yilan[i].uzunluk - z] = Yilan[i].alanX[900 - z];
                        Yilan[i].alanY[Yilan[i].uzunluk - z] = Yilan[i].alanY[900 - z];
                    }
                }

                if ((Grafik.yilanYemAldiMi(Yilan[i].x, Yilan[i].y) == false) && (Grafik.yemVarMi == false))
                {
                    //yeni yem oluştur ve koordinatını belirle
                    Grafik.yemKoordinatBelirle();
                    Grafik.yemKoy(Grafik.yem.X, Grafik.yem.Y);
                    Grafik.yemVarMi = true;
                }


                if (Grafik.yilanYemAldiMi(Yilan[i].x, Yilan[i].y) == true)
                {
                    Grafik.yem.X = -1;
                    Grafik.yem.Y = -1;
                    Grafik.yemVarMi = false;
                    Yilan[i].puan += 1 * Yilan[i].hiz;
                    Yilan[i].uzunluk += 1;
                    if (i == 0)
                        lblBrinciOyuncu.Text = "Birinci Oyuncu PUAN : " + Yilan[i].puan.ToString();
                    else if (i == 1)
                        lblIkinciOyuncu.Text = "Birinci Oyuncu PUAN : " + Yilan[i].puan.ToString();    
                }

                oyunAlani.Image = Grafik.bmp;
                oyunAlani.Refresh();
            }


            for (int i = 0; i < oyuncuSayisi; i++)
            {
                if (Yilan[i].yilanKendisineCarptimi(Grafik.bmp) == true)
                {
                    oyunTimer.Enabled = false;
                    bekleTimer.Enabled = true;

                    if (Yilan[i].bekleint <= 0)
                    {
                    }
                    else
                    {
                        Yilan[i].bekleint = 20;
                    }
                }
            }
            semaPhore.Release();
        }

        private void bekleTimerTick(object sender, EventArgs e)
        {
            for (int i = 0; i < oyuncuSayisi; i++)
            {
                Yilan[i].bekleint--;
                if (Yilan[i].bekleint == 0)
                {
                    bekleTimer.Enabled = false;
                    yilanOyunBitti();
                    break;
                }
            }
        }

        public void yilanOyunBitti()
        {
            oyunDurum = false;
            oyunTimer.Interval = 50; //200
            oyunTimer.Enabled = oyunDurum;
            if(oyuncuSayisi == 1)
                MessageBox.Show(lblBrinciOyuncu.Text,"Oyun Bitti",
                                     MessageBoxButtons.OK,MessageBoxIcon.Information);
            else
                MessageBox.Show( lblBrinciOyuncu.Text + "\n " + lblIkinciOyuncu.Text,
                                    "Oyun Bitti",MessageBoxButtons.OK,MessageBoxIcon.Information);
            lblBrinciOyuncu.Text = " PUAN : " + Yilan[0].puan.ToString();
            Grafik.grafikAlaniOlustur();
            Grafik.yemVarMi = oyunDurum;
            oyunTimer.Enabled = oyunDurum;
            programToolStripMenuItem.DropDownItems[0].Enabled = oyunDurum;
        }

        private void yeniOyun()
        { 
            oyunTimer.Interval = 50; //200
            oyunTimer.Enabled = false;

            Grafik.grafikAlaniOlustur();
            Grafik.yemVarMi = false;
            for (int i = 0; i < oyuncuSayisi; i++)
            {

                Yilan[i].uzunluk = 5;
                Yilan[i].kuyrukUzunluk = 5;
                Yilan[i].x = 5 + i * 5;
                Yilan[i].y = 5 + i * 5;
                Yilan[i].rota = 2 - i;
                Yilan[i].puan = 0;
                Yilan[i].YilanSifirla();
                Yilan[i].yilanRengi = fircalar[i];
                
            }

            oyunDurum = true;
            oyunTimer.Enabled = true;
        }


        private void YilanForm_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Left) Yilan[0].rota = 1;
            if (e.KeyCode == Keys.Right) Yilan[0].rota = 2;
            if (e.KeyCode == Keys.Up) Yilan[0].rota = 3;
            if (e.KeyCode == Keys.Down) Yilan[0].rota = 4;
            if (e.KeyCode == Keys.Escape) Application.Exit();


            if (e.KeyCode == Keys.S) Yilan[1].rota = 1;
            if (e.KeyCode == Keys.F) Yilan[1].rota = 2;
            if (e.KeyCode == Keys.E) Yilan[1].rota = 3;
            if (e.KeyCode == Keys.D) Yilan[1].rota = 4;


            for (int i = 0; i < oyuncuSayisi; i++)
            {
                Yilan[i].bekleint = 20;
            }
           
            bekleTimer.Enabled = false;
            oyunTimer.Enabled = true;
        }

        private void birOyuncuToolStripMenuItem_Click(object sender, EventArgs e)
        {
            oyuncuSayisi = 1;
            lblBrinciOyuncu.Visible = true;
            lblIkinciOyuncu.Visible = false;
            lblBrinciOyuncu.Text = "Birinci Oyuncu PUAN : " + Yilan[0].puan.ToString();

            yeniOyun();
        }

        private void ikiOyuncuToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            oyuncuSayisi = 2;
            lblBrinciOyuncu.Visible = true;
            lblIkinciOyuncu.Visible = true;
            lblBrinciOyuncu.Text = "Birinci Oyuncu PUAN : " + Yilan[0].puan.ToString();
            lblIkinciOyuncu.Text = "İkinci  Oyuncu PUAN : " + Yilan[1].puan.ToString();

            yeniOyun();
        }

        private void hizToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            string etiket = e.ClickedItem.Text.Substring(0, 1);

            int hiz = -1;
            switch (etiket)
            {
                case ("1"):
                    hiz = 1;
                    oyunTimer.Interval = 150;
                    break;
                case ("2"):
                    hiz = 2;
                    oyunTimer.Interval = 130;
                    break;
                case ("3"):
                    hiz = 3;
                    oyunTimer.Interval = 110;
                    break;
                case ("4"):
                    hiz = 4;
                    oyunTimer.Interval = 90;
                    break;
                case ("5"):
                    hiz = 5;
                    oyunTimer.Interval = 80;
                    break;
                case ("6"):
                    hiz = 6;
                    oyunTimer.Interval = 70;
                    break;
                case ("7"):
                    hiz = 7;
                    oyunTimer.Interval = 60;
                    break;
                case ("8"):
                    hiz = 8;
                    oyunTimer.Interval = 50;
                    break;
                case ("9"):
                    hiz = 9;
                    oyunTimer.Interval = 40;
                    break;

                default:
                    break;

            }

            for (int i = 0; i < oyuncuSayisi; i++)
            {
                Yilan[i].hiz = hiz;
            }
        }

        private void programToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            string etiket = e.ClickedItem.Text.Trim();

            switch (etiket)
            {
                case ("Başla"):
                    if (!oyunDurum)
                    {
                        yeniOyun();
                    }
                    else
                    {
                        oyunTimer.Interval = 50;//150
                        oyunTimer.Enabled = true;
                    }
                    break;
                case ("Durdur"):
                    oyunTimer.Enabled = false;
                    break;
                case ("Yeni Oyun"):
                    yeniOyun();
                    break;
                default:
                    break;
            }
        }

        private void yeniOyunToolStripMenuItem1_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            string etiket = e.ClickedItem.Text.Substring(0, 3);

            switch (etiket)
            {
                case ("Bir"):
                    oyuncuSayisi = 1;
                    break;
                case ("İki"):
                    oyuncuSayisi = 2;
                    break;
                default:
                    oyuncuSayisi = 1;
                    break;
            }


            yeniOyun();
        }

        private void yardımToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            string etiket = e.ClickedItem.Tag.ToString();

            switch (etiket)
            {
                case ("0"):
                    MessageBox.Show("Oyunu başlatmak için 'Yeni Oyuncu' menüsü seçerek\n"
                        +"kaç oyuncu ile oynamak istiyorasanız o alt menüyü tıklayınız.\n\n"+
                        "Birinci Oyuncu için yön tuşları atanmıştır."+
                        "\nİkinci Oyuncu için ileri:E sağ:S sol:F geri:D Tuşları Atanmıştır.");
                    break;
                case ("1"):
                    MessageBox.Show(((char)169).ToString() + " 2011 Yılan Oyunu");
                    break;
                default:
                    MessageBox.Show(((char)169).ToString() + " 2011 Yılan Oyunu");
                    break;
            }

        }
 
    }
}



UYGULAMAYI İNDİR