C# Jetman Oyunu
Formu 549x 291boyutunda açıoruz Karakterimiz için 69×31 boyutunda picturebox ekliyoruz Engeller için 2 adet 30×80 boyutunda picturebox ekliyoruz Bilgilendirme mesajı score yazısı ve puan için 3 tane label ekliyoruz. Yeni oyun ve seviye seçeneği için menu strip ekliyoruz Karakterin yukarı ve aşağı hareketi için 2 adet timer ekliyoruz Gerçekleşicek işlemler içinde bir adet timer daha ekliyoruz (boyutlar değişirse işlemlerde değişeceği için boyutları değiştirmemeye çalışın)
label1 in text ine “mausa basarak başlayın” yazıyoruz label2 ye “score:” yazıyoruz label3 ün içini boşaltıyoruz.
değişkenlerimizin her yerde kullanılabilmesi için aşağıdaki kısma yazıyoruz
karakterin kordinatı için a,b engellerin kordinatları için a1,b1,a2,b,2 puan için
<p class="MsoNormal" style="MARGIN: 0cm -4.9pt 0pt 0cm"> namespace jetman
{
public partial class Form1 : Form
{
int a, b,a1,b1,a2,b2,s;
public Form1()
{
InitializeComponent();
}
<p class="MsoNormal" style="MARGIN: 0cm -4.9pt 0pt 0cm">
Form loadımıza
<p class="MsoNormal" style="MARGIN: 0cm -4.9pt 0pt 0cm"> a1 = 550; //(engelin x kordinatı) b1 = 12; //(engelin y kordinatı) a2 = 850; //(engelin x kordinatı) b2 = 30; // (engelin y kordinatı) a = 76; // (karakterin x kordinatı) b = 76; // (karakterin y kordinatı) pictureBox1.Location = new System.Drawing.Point(a, b); // (karakterimizin x,y kordinatları) timer1.Interval=15; // (karakterin yukarı hareketinin hızı) timer2.Interval = 15; // (karakterin aşağı hareketinin hızı) timer3.Interval = 50; //(yapılacak işlem ve şartlar) </span></span></span></span> <p class="MsoNormal" style="MARGIN: 0cm -4.9pt 0pt 0cm">
ekliyoruz.[/code]
karakterin mausa basılı tutulduğunda yukarı gitmesini istediğim için formun boş bir yerine tıklayıp properties penceresindeki eventse tıklıyoruz.
ordan mausedown u buluyoruz ve yanındaki boşluğa çift tıklıyoruz.
timer1.Enabled = true; //(yukarı hareketi sağlıyacak olan timerı açar) timer2.Enabled = false; //(aşağı hareketi sağlıyacak olan timerı kapar) timer3.Enabled = true; //(işlemlere başlar(kısaca oyun başlar)) label1.Text = ""; //(mausa basınız yazısını siler)
ekliyoruz
mausu bıraktığında karakterin düşmesini sağlamak için yukarıdaki resimdeki events kısmına yeniden geliyoruz mauseup a giriyoruz.
timer2.Enabled = true; //(aşağı hareketi sağlıyacak olan timerı açar) timer1.Enabled = false; //(yukarı hareketi sağlıyacak olan timerı kapar)
oyunda mausumuz engellere geldiğinde duraksamaması için
her iki engelin mauseup olayına[code='Csharp']
timer2.Enabled = true;
timer1.Enabled = false;[/code]
her iki engelin mausedown olayına
timer1.Enabled = true; timer2.Enabled = false;
yazıyoruz
yukarı hareket için timer1 in içine
pictureBox1.Location = new System.Drawing.Point(a, b=b-2); //(karakterin y kordinatını her işlemde 2 azaltır formun en üst kısmı 0 olduğu için üst kısma yaklaşmış olur)
aşağı hareket için timer2 nin içine
pictureBox1.Location = new System.Drawing.Point(a, b=b-2); //(karakterin y kordinatını her işlemde 2 arttırır yani formun üst kısmına uzaklaştırır)
karakterimize görünüm kazandırmak için picturebox a tıklayıp properties penceresinde image kısmında (…) tıklıyoruz project resource file ı seçip importa tıklıyoruz ve resim ekliyoruz aynı işlemi engeller içinde yapıyoruz.

karakterimizin hareketi bitti şimdi engellerin rasgele karakterimizin üstüne gelmesini yapıcaz
timer'ın içine giriyoruz
Random r = new Random(); //(rasgele değer vermesi için)
s = s + 1; //(puan sayacımız)
label3.Text = s.ToString(); //(puanlarımızı stringe çevirip label3 e atılması)
pictureBox2.Location = new System.Drawing.Point(a1 = a1 - 5, b1);
//(engelin x kordinatından her işlemde 5 çıkarır engel sola doğru hareket eder)
pictureBox3.Location = new System.Drawing.Point(a2 = a2 - 5, b2);
//(engelin x kordinatından her işlemde 5 çıkarır engel sola doğru hareket eder)</span></span>
if (a1 <= -30) { a1 = 550; b1 = r.Next(250); }
if (a2 <= -30) { a2 = 550; b2 = r.Next(250); }
//(eğer buton kendi genişliği kadar formun dışına çıkarsa(kendi genişliği 30 olduğu için -30) butonu formun sağ köşesine atar formun genişliği 549 olduğu için kordinatını 550 veririz, b1=r.next(250) komutu engelimize rasgele y kordinat verir böylece çeşitli yerlerden engeller gelir)
if (b <= 0 || b >= 225) //(karakterimizin y kordinatı formun dışına çıktığında oyunun durmasını sağlar, 225olmasının nedenide formumuzun 291 yüksekliğinde olması karakterin yüksekliğini formun yüksekliğinden çıkarımından buluyoruz anlamadığım nedenden dolayı bu sayıyı daha az tutmak zorunda kaldım)
{
timer1.Enabled = false;
timer2.Enabled = false;
timer3.Enabled = false;
MessageBox.Show("gameover");
} //(formun dışına çıkarsa bütün işlemler durur ve gameover yazısı çıkar)
if (a >= a1 - 69 &amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp; a <= a1 + 30 &amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp; b >= b1 - 31 &amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp; b <= b1 + 80)
{ timer1.Enabled = false;
timer2.Enabled = false;
timer3.Enabled = false;
MessageBox.Show("gameover");
}
if (a >= a2 - 69 &amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp; a <= a2 + 30 &amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp; b >= b2 - 31 &amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp; b <= b2 + 80)
{
timer1.Enabled = false;
timer2.Enabled = false;
timer3.Enabled = false;
MessageBox.Show("gameover");
} //yukarıdaki çarpışma senaryoları gerçekleşirse oyun durur çarpışma içinde kağıt kalem biraz hesap gerek aşağıdaki gibi
şimdide işin tuzu biberi
menüscriptte aşağıdaki seçenekleri ekliyoruz
yeni oyuna bir kere tıklıyoruz
propertiesten shortcutkeys ten kısayol tuşu veriyoruz

yeni oyunun içine giriyoruz
</span>a1 = 550; b1 = 12; a2 = 850; b2 = 30; a = 76; b = 76; pictureBox1.Location = new System.Drawing.Point(a, b); pictureBox2.Location = new System.Drawing.Point(a1, b1); pictureBox3.Location = new System.Drawing.Point(a2, b2); timer1.Enabled = false; timer2.Enabled = false; timer3.Enabled = false; s = 0; //(timerları durdurmuş,sayaç ve kordinatları ilk haline getirmiş oluyoruz kolayın içine timer3.Interval = 50; ortanın içine timer3.Interval = 20; zorun içine timer3.Interval = 1;
oyunumuz bitmiş oluyor.
Projeyi İndir: C# Oyun Örnek Jetman
Rica: Sitemizin Google'da Ön Sıralarda Çıkması İçin Lütfen Alttaki Google+ Butonuna Tıklayınız , Sayfamızı Facebookta Beğeniniz veya yazıları Twitter,Facebookta paylaşınız.












Son Yorumlar