Code Game Rắn Săn Mồi Làm Bằng C#
Trang ChínhTrang Chính  TRANG CHỦTRANG CHỦ  CalendarCalendar  GalleryGallery  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
AutoIT Việt
CHÀO MỪNG BẠN ĐẾN VỚI
AUTOIT.FORUMVI.COM

AutoIT Việt


 
Trang ChínhTrang Chính  TRANG CHỦTRANG CHỦ  CalendarCalendar  GalleryGallery  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
>> LIÊN MINH HUYỀN THOẠI (LOL) <<

Share | 
 

 Code Game Rắn Săn Mồi Làm Bằng C#

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Admin
Admin: Tổng Tư Lệnh
Admin: Tổng Tư Lệnh
avatar

Giới tính : Nam
Posts : 1503
Gia nhập ngày : 01/03/2012
Tuổi : 23
Đến từ Đến từ : Kon Tum
Nghề nghiệp/Sở thích Nghề nghiệp/Sở thích : Chém Gió/Spam

Tài Sản
Huân Chương: Xe đời mới


Bài gửiTiêu đề: Code Game Rắn Săn Mồi Làm Bằng C#   Sun Jul 06, 2014 1:50 am

Bạn làm theo từng bước nha!!!
Đầu tiên bạn tạo 1 project với windows form application
sau đó bạn hãy tạo 2 class có tên là Snake và Food
Bạn Click đôi chuột vào form rùi thêm y như code dưới đây.
  


Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace GameRan
{
    public partial class Form1 : Form
    {
        int score = 0;
        Random randFood = new Random();
        Food food;
        Graphics paper;
        Snake snake = new Snake();

        Boolean left = false, right = false, up = false, down = false;
        public Form1()
        {
            InitializeComponent();
            food = new Food(randFood);
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            paper = e.Graphics;
            food.drawFood(paper);
            snake.drawSnake(paper);

            
        }

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if(e.KeyData == Keys.D1)
            {
                timer1.Interval = 500;
            }
            if (e.KeyData == Keys.D2)
            {
                timer1.Interval = 300;
            }
            if (e.KeyData == Keys.D3)
            {
                timer1.Interval = 100;
            }
            if (e.KeyData == Keys.D4)
            {
                timer1.Interval = 50;
            }
            if (e.KeyData == Keys.D5)
            {
                timer1.Interval = 10;
            }
            if(e.KeyData==Keys.Space)
            {
                timer1.Enabled = true;
                left = false; right = false; up = false; down = false;
                label1.Text = "";
            }
            if(e.KeyData == Keys.Up && down == false)
            {
                up = true;
                down = false;
                left = false;
                right = false;
            }
            if (e.KeyData == Keys.Down && up == false)
            {
                up = false;
                down = true;
                left = false;
                right = false;
            }
            if (e.KeyData == Keys.Left && right == false)
            {
                up = false;
                down = false;
                left = true;
                right = false;
            }
            if (e.KeyData == Keys.Right && left == false)
            {
                up = false;
                down = false;
                left = false;
                right = true;
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            toolStripStatusLabelScore.Text = score.ToString();
            if (down == true) { snake.moveDown(); }
            if (up == true) { snake.moveUp(); }
            if (left == true) { snake.moveLeft(); }
            if (right == true) { snake.moveRight(); }
            for (int i = 0; i < snake.SnakeRec.Length; i++)
            {
                if (snake.SnakeRec[i].IntersectsWith(food.foodRec))
                {
                    Random rd = new Random();
                    score += rd.Next(5,30);
                    snake.growSnake();
                    food.foodLocation(randFood);
                }
            }
            collision();
            this.Invalidate();
        }
        public void collision()
        {
            for(int i=1; i<snake.SnakeRec.Length; i++)
            {
                if(snake.SnakeRec[0].IntersectsWith(snake.SnakeRec[i]))
                {
                    timer1.Enabled = false;
                    MessageBox.Show("Bạn đã tự cắn đít mà chết =))");
                    
                    label1.Text = "Bấm Phím Cách Để Bắt Đầu Chơi";
                    toolStripStatusLabelScore.Text = "0";
                    score = 0;
                    MessageBox.Show("Chết toi!!!\rGame Over!!!");
                    snake = new Snake();
                    //Restart();
                    
                }
                if(snake.SnakeRec[0].Y < 0 || snake.SnakeRec[0].Y > 290)
                {
                    timer1.Enabled = false;
                    MessageBox.Show("Bạn đã cắn vào tường rụng răng chết\rNgu vật vờ.");

                    label1.Text = "Bấm Phím Cách Để Bắt Đầu Chơi";
                    toolStripStatusLabelScore.Text = "0";
                    score = 0;
                    MessageBox.Show("Chết toi!!!\rGame Over!!!");
                    snake = new Snake();
                    //Restart();
                    
                }
                if (snake.SnakeRec[0].X < 0 || snake.SnakeRec[0].X > 290)
                {
                    timer1.Enabled = false;
                    MessageBox.Show("Bạn đã cắn vào tường rụng răng chết\rNgu vật vờ.");
                    label1.Text = "Bấm Phím Cách Để Bắt Đầu Chơi";
                    toolStripStatusLabelScore.Text = "0";
                    score = 0;
                    MessageBox.Show("Chết toi!!!\rGame Over!!!");
                    snake = new Snake();
                    //Restart();
                    
                }
            }
        }
        void Restart()
        {
            timer1.Enabled = false;
            label1.Text = "Bấm Phím Cách Để Bắt Đầu Chơi";
            toolStripStatusLabelScore.Text = "0";
            score = 0;
            MessageBox.Show("Chết toi!!!\rGame Over!!!");
            snake = new Snake();
        }

        //private void button1_Click(object sender, EventArgs e)
        //{
        //    timer1.Enabled = false;
        //    MessageBox.Show("Phần mềm được phát triển bởi:\r" +
        //        "Nguyễn Vũ Trường Giang\r" +
        //        "--------------------------\r" +
        //        "HƯỚNG DẪN CÁCH CHƠI:\r"+
        //        "Bạn nhấn phím cách (Space) để bắt đầu chơi.\r"
        //        + "Sau đó hãy nhấn các phím trái phải lên xuống\r"+
        //        "để định hướng cho chú rắn của bạn chạy.\r"+
        //        "Có 5 mức độ cho bạn chọn:\r"+
        //        "Ấn phím số 1 để chọn chế độ dể.\r"
        //        + "Ấn phím số 2 để chọn chế độ bình thường.\r"+
        //        "Ấn phím số 3 để chọn chế độ khó.\r"+
        //        "Ấn phím số 4 để chọn chế độ siêu khó.\r"+
        //        "Ấn phím số 5 để chọn chế độ thánh thức thần thánh", "Hướng Dẫn");
        //}

        private void label2_Click(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            MessageBox.Show("Phần mềm được phát triển bởi:\r" +
                "Nguyễn Vũ Trường Giang\r" +
                "--------------------------\r" +
                "HƯỚNG DẪN CÁCH CHƠI:\r" +
                "Bạn nhấn phím cách (Space) để bắt đầu chơi.\r"
                + "Sau đó hãy nhấn các phím trái phải lên xuống\r" +
                "để định hướng cho chú rắn của bạn chạy.\r" +
                "Có 5 mức độ cho bạn chọn:\r" +
                "Ấn phím số 1 để chọn chế độ dể.\r"
                + "Ấn phím số 2 để chọn chế độ bình thường.\r" +
                "Ấn phím số 3 để chọn chế độ khó.\r" +
                "Ấn phím số 4 để chọn chế độ siêu khó.\r" +
                "Ấn phím số 5 để chọn chế độ thánh thức thần thánh", "Hướng Dẫn");
            label1.Text = "Ấn Phím Cách Để Tiếp Tục . . .";
        }
    }
}

Tiếp theo là đến class Snake;


Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;

namespace GameRan
{
    class Snake
    {
        private Rectangle[] snakeRec;
        public Rectangle[] SnakeRec
        {
            get
            {
                return snakeRec;
            }
        }
        private SolidBrush brush;
        private int x, y, w, h;

        public Snake()
        {
            snakeRec = new Rectangle[3];
            brush = new SolidBrush(Color.Black);
            x = 20; y = 0; w = 10; h = 10;
            for(int i=0; i<snakeRec.Length; i++)
            {
                snakeRec[i] = new Rectangle(x, y, w, h);
                x -= 10;
            }
        }

        public void drawSnake(Graphics paper)
        {
            foreach(Rectangle rec in snakeRec)
            {
                paper.FillEllipse(brush, rec);
            }
        }
        public void drawSnakeRun()
        {
            for (int i = snakeRec.Length - 1; i > 0; i-- )
            {
                snakeRec[i] = snakeRec[i - 1];
            }
        }

        public void moveDown()
        {
            drawSnakeRun();
            snakeRec[0].Y += 10;
        }

        public void moveUp()
        {
            drawSnakeRun();
            snakeRec[0].Y -= 10;
        }
        public void moveLeft()
        {
            drawSnakeRun();
            snakeRec[0].X -= 10;
        }
        public void moveRight()
        {
            drawSnakeRun();
            snakeRec[0].X += 10;
        }
        public void growSnake()
        {
            List<Rectangle> rec = snakeRec.ToList();
            rec.Add(new Rectangle(snakeRec[snakeRec.Length - 1].X,
                snakeRec[snakeRec.Length - 1].Y, w, h));
            snakeRec = rec.ToArray();
        }
    }
}


và cuối cùng là class Food:


Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;

namespace GameRan
{
    class Food
    {
        private int x, y, w, h;
        private SolidBrush brush;
        public Rectangle foodRec;
        public Food(Random ranFood)
        {
            x = ranFood.Next(0, 29) * 10;
            y = ranFood.Next(0, 29) * 10;
            brush = new SolidBrush(Color.Red);
            w = 10; h = 10;
            foodRec = new Rectangle(x, y, w, h);
        }
        public void foodLocation(Random randFood)
        {
            x = randFood.Next(0, 29) * 10;
            y = randFood.Next(0, 29) * 10;
        }
        public void drawFood(Graphics paper)
        {
            foodRec.X = x;
            foodRec.Y = y;
            paper.FillEllipse(brush, foodRec);
        }
    }
}

Bây giờ bạn hãy debug và tận hưởng game!!!!
Có gì thắc mắc thì liên hệ mình nha!!!
Có game mẫu dưới để bạn chạy thử!!!!                 
Tài Sản của Admin
Tài Sản
Huân Chương: Xe đời mới

Attachments
GameRan.zip
You don't have permission to download attachments.
(7 Kb) Downloaded 0 times






ĐỜI VÔ LỐI
Về Đầu Trang Go down
Xem lý lịch thành viên http://autoit.forumvi.com
 

Code Game Rắn Săn Mồi Làm Bằng C#

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Xem thêm các bài viết khác cùng chuyên mục

-

Permissions in this forum:Bạn không có quyền trả lời bài viết
AutoIT Việt :: Làng Ngôn Ngữ C-