Breaking News
Loading...
Wednesday, August 22, 2012

Ứng dụng lớp điểm ký tự viết trò chơi rắn săn mồi

8/22/2012 09:51:00 PM

CDIEM.cs
PHP Code:
using System;
using System.Collections.Generic;
using System.Text;

namespace BT19_ransanmoidos
{
    class 
CDIEM
    
{
        public 
int x;
        public 
int y;
        public 
char c;

        public 
CDIEM()
        {
        }

        public 
CDIEM(int xxint yychar cc)
        {
            
xx;
            
yy;
            
cc;
        }

        public 
bool KiemTraX(int xx)
        {
            if (
xx <= || xx >= Console.WindowWidth)
            {
                return 
false;
            }
            return 
true;
        }
        public 
bool KiemTraY(int yy)
        {
            if (
yy <= || yy >= Console.WindowHeight)
            {
                return 
false;
            }
            return 
true;
        }

        public 
void DichPhai(int k)
        {
            
+= k;
        }
        public 
void DichTrai(int k)
        {
            
-= k;
        }
        public 
void DichLen(int k)
        {
            
-= k;
        }
        public 
void DichXuong(int k)
        {
            
+= k;
        }

        public 
void Xuat()
        {
            
Console.SetCursorPosition(xy);
            
Console.Write(c);
        }

        public 
void Xoa()
        {
            
Console.Clear();
        }

        public 
float KhoangCach(CDIEM M)
        {
            return 
0;
        }
        public 
int KhoangCachX()
        {
            return 
x;
        }
        public 
int KhoangCachY()
        {
            return 
y;
        }

    }
}  

Program.cs
PHP Code:
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Collections;

namespace BT19_ransanmoidos
{
    class 
Program
    
{
        static 
ArrayList list = new ArrayList();
        static 
CDIEM thucan;
        static 
Random rnd = new Random();
        static 
int TOCDO 100;
        static 
String huong "Phai";
        
// ký tự đại diện cho rẳn
        
const char KYTU '0';

        static 
void Main(string[] args)
        {
            
Console.CursorVisible false;

            list.
Add(new CDIEM(00KYTU));
            
TaoThucAn();

            
RanChay();

            
Console.Clear();
            
Console.SetCursorPosition(00);
            
Console.ForegroundColor ConsoleColor.Yellow;
            
Console.WriteLine("YOU LOSE!!!");
            
Console.WriteLine("Press Any Key To Exit!!!");
            
Console.Read();
        }

        static 
void RanChay()
        {
            do
            {
                
NhanPhimBam();

                
// Lấy đoạn cuối trong rắn
                
CDIEM doanCuoi = (CDIEM)list[list.Count 1];
                
CDIEM c = new CDIEM(doanCuoi.xdoanCuoi.yKYTU);

                
// Thực hiện dịch chuyển rắn trong đoạn cuối.
                
switch (huong)
                {
                    case 
"Len":
                        
c.DichLen(1);
                        break;
                    case 
"Xuong":
                        
c.DichXuong(1);
                        break;
                    case 
"Trai":
                        
c.DichTrai(1);
                        break;
                    case 
"Phai":
                        
c.DichPhai(1);
                        break;
                }
                if (
TimXTrongList(c))
                {
                    break;
                }
                
// Thêm một đoạn vào list.
                
list.Add(c);
                
// Remove phần tử đầu tiên khỏi  list.
                
list.RemoveAt(0);

                
// kiểm tra có thức ăn chưa.
                
KiemTraThucAn();

                try
                {
                    
VeLai();
                }
                catch (
Exception)
                { }

                
Thread.Sleep(TOCDO);

            } while (
KiemTraTiepTuc());
        }

        static 
void VeLai()
        {
            
Console.Clear();

            
// Vẽ rắn.
            
foreach (CDIEM c in list)
            {
                
c.Xuat();
            }

            
// Ve thuc an
            
thucan.Xuat();
        }

        static 
void TaoThucAn()
        {
            
int hang rnd.Next(1Console.WindowWidth);
            
int cot rnd.Next(1Console.WindowHeight);

            
thucan = new CDIEM(hangcot'G');
            
//thucan = new CDIEM(5, 5, 'G');
        
}

        static 
void KiemTraThucAn()
        {
            
CDIEM c = (CDIEM)list[list.Count 1];

            if (
c.== thucan.&& c.== thucan.y)
            {
                
CDIEM cDau = (CDIEM)list[0];
                
CDIEM cMoi = new CDIEM(cDau.xcDau.yKYTU);
                list.
Insert(0cMoi);
                
TaoThucAn();
            }
        }

        static 
bool KiemTraTiepTuc()
        {
            
CDIEM c = (CDIEM)list[list.Count 1];
            if (
c.|| c.>= Console.WindowHeight ||
                
c.|| c.>= Console.WindowWidth 1)
            {
                return 
false;
            }
            return 
true;
        }

        static 
bool TimXTrongList(CDIEM x)
        {
            foreach (
CDIEM c in list)
            {
                if (
c.== x.&& c.== x.y)
                {
                    return 
true;
                }
            }
            return 
false;
        }

        static 
void NhanPhimBam()
        {
            while (
Console.KeyAvailable)
            {
                switch (
Console.ReadKey(true).Key)
                {
                    case 
ConsoleKey.UpArrow:
                        
huong "Len";
                        break;
                    case 
ConsoleKey.DownArrow:
                        
huong "Xuong";
                        break;
                    case 
ConsoleKey.LeftArrow:
                        
huong "Trai";
                        break;
                    case 
ConsoleKey.RightArrow:
                        
huong "Phai";
                        break;
                }
            }
        }

    }
}  

Đây là bài viết mình sưu tằm, có  vần đề gì các bạn thông cảm nhé

1 comments:

  1. Cảm ơn bạn đã chia sẻ thông tin. Ngôn ngữ viết code hay quá.
    .....................................................
    Sunpo Corporation
    Chuyên kinh doanh máy nước nóng năng lượng mặt trời – liên doanh Úc và Israel.
    Tel: 08. 3984 3985 – 0984 53 22 55
    Mail: info@sunpo.com.vn
    Click xem chi tiết: Chuyên máy nước nóng năng lượng mặt trời Sunpo hoặc chuyen may nuoc nong nang luong mat troi Sunpo

    ReplyDelete

 
Toggle Footer