برای مشاهده مفیدترین ارسال در این موضوع اینجا کلیک کنید

نمایش نتایج: از شماره 1 تا 1 از مجموع 1
  1. #1
    مدیر بازنشسته
    تاریخ عضویت
    2011 June
    محل سکونت
    گرگان
    ارسال ها
    1,170
    تشکر
    62
    تشکر شده 1,587 بار در 809 پست
    نوشته های وبلاگ
    49


    1 امتياز مثبت از 1 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر

    Post Snake _بازی اسنیک

    این بازی اسنیک هست .... برنامش کامل اجرا میشه... انشالله مفید باشه... درپناه خدا.


    کد:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace SnakeCSharp
    {
        public partial class SnakeCSharpWindow : Form
        {
            private Timer t = new Timer();
            private static Random myRnd = new Random();
            private Point apple = new Point(myRnd.Next(64 - 1) * 10, myRnd.Next(48 - 1) * 10);
            private Point dir = new Point(0, 10);
            private LinkedList<Point> snake = new LinkedList<Point>(); //LinkedList doesn't have add...
    
            public SnakeCSharpWindow()
            {
                this.ClientSize = new System.Drawing.Size(640, 480);
                this.FormBorderStyle = FormBorderStyle.FixedSingle;
                this.Name = "SnakeCSharpWindow";
                this.Text = "SnakeCSharp";
                this.Paint += new PaintEventHandler(SnakeCSharpWindow_Paint);
                this.KeyDown += new KeyEventHandler(SnakeCSharpWindow_KeyDown);
                t.Tick += new EventHandler(t_Tick);
                t.Start();
                snake.AddFirst(new Point(10, 10));
                InitializeComponent();
            }
    
            void SnakeCSharpWindow_KeyDown(object sender, KeyEventArgs e) //Change direction
            {
                if (e.KeyCode == Keys.Left) { dir = new Point(-10, 0); }
                if (e.KeyCode == Keys.Right) { dir = new Point(10, 0); }
                if (e.KeyCode == Keys.Up) { dir = new Point(0, -10); }
                if (e.KeyCode == Keys.Down) { dir = new Point(0, 10); }
                
               
            }
    
            void SnakeCSharpWindow_Paint(object sender, PaintEventArgs e)
            {
                e.Graphics.FillRectangle(Brushes.Green, apple.X + 2, apple.Y + 2, 5, 5);
    
                int i = 0;
                foreach (Point cur in snake)  //Draw snake and check self collision
                {
                    e.Graphics.FillRectangle(Brushes.Black, cur.X, cur.Y, 10, 10);
                    if (i != 0 && snake.First.Value.X == cur.X && snake.First.Value.Y == cur.Y) { t.Stop(); }
                    i++;
                }
    
                if (snake.First.Value.X == apple.X && snake.First.Value.Y == apple.Y) //Collision apple
                {
                    apple = new Point((myRnd.Next(64 - 1)) * 10, (myRnd.Next(48 - 1)) * 10);
                    snake.AddLast(snake.Last.Value);
                }
    
                //-------- wall collision --------
                if (snake.First.Value.X > this.Size.Width) snake.First.Value = new Point(1, snake.First.Value.Y);
                if (snake.First.Value.X < 1) snake.First.Value = new Point(this.Size.Width, snake.First.Value.Y);
    
                if (snake.First.Value.Y > this.Size.Height) snake.First.Value = new Point(snake.First.Value.X, 1);
                if (snake.First.Value.Y < 1) snake.First.Value = new Point(snake.First.Value.X, this.Size.Height);
    
            }
            void t_Tick(object sender, EventArgs e) //Move Snake
            {
                snake.AddFirst(new Point(snake.First.Value.X + dir.X, snake.First.Value.Y + dir.Y));
                snake.RemoveLast();
                this.Refresh();
            }
        }
    }


    موضوعات مشابه:
    فایل های پیوست شده
    • نوع فایل: zip SnakeCSharp.zip (34.5 کیلو بایت,  این فایل 14 بار دانلود شده است)
    آرامش محصول تفکر نیست! آرامش هنر نیندیشیدن به انبوه مسائلیست که ارزش فکر کردن ندارد...

 

 

کاربران برچسب خورده در این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 09:29 AM بر حسب GMT +4 می باشد.