Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 46 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
46
Dung lượng
427,28 KB
Nội dung
LỜI MỞ ĐẦU Đây tài liệu dùng để biểu diễn vấn đề “lập trình game ngơn ngữ lập trình C# theo phương pháp hướng đối tượng ” sinh viên Nguyễn Thị Yến thiết kế lập trình Tài liệu giúp ta có nhìn ngơn ngữ lập trình hướng đối tượng nói chung ngơn ngữ C# nói riêng Do thời gian có hạn nên đồ án khơng thể hồn thành hết chức định ban đầu đặt Tuy nhiên, chức chưa hoàn thiện sớm bổ sung hoàn thiện thời gian sớm Trong thời gian thực hiên, đồ án khơng tránh khỏi có sai sót, mong quý thầy cô bạn thông cảm có góp ý q báu nhằm hồn thiện sản phẩm Xin chân thành cảm ơn! Nguyễn Thị Yến NỘI DUNG VẤN ĐỀ Trong xu phát triển công nghệ thông tin vũ bão đặc biệt ngành cơng nghệ phần mềm ngày địi hỏi trình độ cao kĩ thuật lập trình Chính mà ngơn ngữ lập trình hướng thủ tục cổ điển đáp ứng nhu cầu thời đại đặt Ngay đó, phương pháp lập trình đời theo ngun lí Alan-kay đời nhằm giải nhu cầu thiết đó: “Phương pháp lập trình hướng đối tượng” Đồ án thiết kế tảng ngôn ngữ lập trình hướng đối tượng C#, Microsoft đề dựa mục đích tạo ngơn ngữ lập trình hướng đối tượng: đơn giản, đại, từ khóa, mạnh mẽ mềm dẻo, hướng module trở nên phổ biến Chính tránh khỏi vấn đề thiết kế phương pháp lập trình hướng thủ tục cổ điển: Mã chương trình dễ đọc, dễ hiểu, đọng Chương trình tổ chức thành class, nối ghép với tạo thành thể thống Mỗi class lại bao gồm nhiều Method đảm nhận vai trò khác chương trình chương trình có tính mềm dẻo cao có khả tái sử dụng tài nguyên NỘI DUNG VẤN ĐỀ I Project tittle: lập trình trị chơi cờ caro phương pháp lập trình hướng đối tượng II Giới thiệu tổng quát: game mơ tả trị chơi caro chơi online Internet offline máy tính bạn Nó lập trình ngơn ngữ C# theo phương pháp lập trình hướng đối tượng III Các chức cần thiết: Luật chơi bản: Hai bên thay phiên đánh cờ Người trước(quân đen) đánh vào tâm bàn cờ Nếu bên sếp quân theo đường thẳng, ngang, chéo không bị chặn đầu bên dành thắng lợi Bắt đầu: a giải thích: để bắt đầu chơi bạn phải click mouse nhấn vào button Start , trò chơi thức bắt đầu Các chế độ chơi: Trong trị chơi có chế độ chơi: Chơi với máy: Player vs Comp Chơi với bạn bè: Player vs Player Nếu bạn muốn chơi chế độ click mouse vào button IV Các bước kĩ thuật Tạo giao diện cho trò chơi: a Tạo menu (menustrip): gồm thư mục, bên thư mục chứa thao tác File : new, open, save… Help: help, custom, about… Exit: b Tạo groupbox Container C# giúp hiển thị luật chơi chơi, button chọn chế độ chơi, chơi, thoát Thay đổi text, font, background, forecolor… groupbox, button theo tùy ý phân tích thiết kế lớp a lớp ô cờ: class O_Co { const int chieudai; const int chieurong; int sohuu; void Ve_oco(graphic g, int sohuu) } giải thích: cờ có thuộc tính chiều dài chiều rộng biến Const biến sở hữu Khi biến sở hữu cờ máy, biến sở hữu cờ người chơi Và method (phương thức) Ve-oco sử dụng GDI+ C# b Lớp bàn cờ: Class Ban_Co { int sodong; int socot; Void Vebanco(graphic g, O_Co[][] mangoco) Void Vequanco(graphic g, int dong, int cot,image img, o_co[][] mangoco[]) } Giải thích: Trong lớp bàn cờ, có thuộc tính số dòng(sodong), số cột (socot) Các phương thức Vebanco, Vequanco với biến cục bộ: dong,cot, mangoco c Lớp GameCaro Class GameCaro { O_Co[][] mangoco; Ban_Co banco; int luotdi; bool sansang; Void KhoiTaoMangOCo() Void Vebanco(graphics g) Void XacDinhOCo(int x, int y, graphics g) Void choivoinguoi() Void choivoimay() Bool XuLyThangThua() } Giải thích : Các thuộc tính: mangoco, banco, luotdi Các phương thức : KhoiTaoMangOCo, Vebanco ( gọi từ lớp ), XacDinhOCo ( với biến tọa độ x,y ) choivoinguoi ( xử lý người chơi chọn chế độ player vs player ), choivoimay (xử lý người chơi chọn chế độ chơi player vs comp ) XuLyThangThua (duyệt thắng thua chơi) Lập trình xử lý đồ họa a Tạo hiệu ứng Tạo nhãn Label: để thị chuỗi chữ trò chơi private void Form1_Load (object sender, EventArgs e) { lblchuoichu.Text = "-Hai bên thay phiên đánh cờ \nNgười trước(quân đen) đánh đầu\n tiên vào tâm bàn cờ.\nNếu bên xếp quân theo \n đường thẳng, ngang, chéo khơng bị \nchặn đầu bên dành thắng lợi"; tmChuChay.Enabled = true; } Đối tượng Time: để tạo hiệu ứng chữ chạy trò chơi private void tmChuChay_Tick(object sender, EventArgs e) { lblchuoichu.Location=newPoint(lblchuoichu.Location.X, lblchuoichu.Location.Y-1); if (lblchuoichu.Location.Y + lblchuoichu.Height < 0) lblchuoichu.Location = new Point( lblchuoichu.Location.X, groupBox1.Height); } Giải thích: Qua kiện Tick qua thời gian định chuỗi chữ tạo nhảy từ tọa độ ban đầu sang tọa độ (cụ thể đây: chuỗi chữ nhảy lên dọc theo trục tọa độ Y) Cho tới chuỗi chữ chạy hết chiều dài groupbox1 lại bắt đầu chạy từ lên Cứ liên tục lặp lại b Vẽ bàn cờ: Tạo lớp : O_Co, Ban_Co, GameCaro(với thuộc tính phương thức giới thiệu phần trên) Lưu ý: sử dụng thêm thư viện đồ họa cách sử dụng namespace using.System.Drawing Lớp O-Co: class O_Co { public const int _ChieuRong = 25; public const int _ChieuCao = 25; private int _Dong; public int Dong { set {_ Dong = value; } get { return _Dong; } } private int _Cot; public int Cot { set { _Cot = value; } get { return _Cot; } } private Point _ViTri; public Point ViTri { set { _ViTri = value; } get { return _ViTri; } } private int _SoHuu; public int SoHuu { set {_SoHuu = value; } get { return _SoHuu; } } } Giải thích: Trong lớp ta khởi tạo lớp O-Co với ô cờ có chiều rộng chiều dài 25, với thuộc tính _Dong, _Cot, _ViTri, _SoHuu (ở thuộc tính sở hửu hiểu người chơi thứ đi, người chơi thứ đi, khơng thuộc sở hữu người chơi nào) Ta sử dụng phương thức khởi tạo set, get để khởi tạo cho thuộc tính lớp Lớp BanCo: class Ban_Co { private int_ SoDong; private int _SoCot; public int SoDong { get {return _SoDong;} } public int SoCot { get { return _SoCot; } } public Ban_Co(int soDong, int soCot) { _SoDong = soDong; 10