Gorsel Programlama | Görsel Programlama | C#.Net | VB.Net | C# Console

ana sayfa > C#, Görsel Programlama > C# Jetman Oyunu

C# Jetman Oyunu

Perşembe, 12 Mar 2009 yorum ekle yorumlara git

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.

C#.Net Jetman Oyunu

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.

jetmanoyunu2

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.

jetmanoyunu3

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;amp;amp; a <= a1 + 30 &amp;amp;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;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;amp;amp; a <= a2 + 30 &amp;amp;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;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

jetmanoyunu4

şimdide işin tuzu biberi

menüscriptte aşağıdaki seçenekleri ekliyoruz

jetmanoyunu5

yeni oyuna bir kere tıklıyoruz

propertiesten shortcutkeys ten kısayol tuşu veriyoruz

jetmanoyunu6

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.
Paylaş :



Böyle bir web sayfam olsun diyorsanız iletişim bölümünden veya gorselprogram@gmail.com mail adresinden bize ulaşabilirsiniz.


  1. şimdilik yorum yok.
  1. şimdilik geri bağlantı yok