1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo chuyên đề đồ họa máy tính xây dựng chương trình game cờ caro

26 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 629,9 KB

Nội dung

1 111Equation Chapter 1 Section 1 TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỆN TỬ VIỄN THÔNG BÁO CÁO CHUYÊN ĐỀ ĐỒ HỌA MÁY TÍNH XÂY DỰNG CHƯƠNG TRÌNH GAME CỜ CARO Sinh viên thực hiện Vũ Quang Đông Hoàng Văn Bắc V[.]

-1- 111Equation Chapter Section TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỆN TỬ - VIỄN THÔNG BÁO CÁO CHUYÊN ĐỀ ĐỒ HỌA MÁY TÍNH XÂY DỰNG CHƯƠNG TRÌNH GAME CỜ CARO Sinh viên thực : Vũ Quang Đông : Hoàng Văn Bắc : Vũ Huy Hiệu Lớp : D14CNPM3 Mã SV : 19810310176 : 19810310160 : 19810310143 Giảng viên hướng dẫn : GS Ngô Quốc Tạo HÀ NỘI – 27/03/2022 -2- PHIẾU CHẤM ĐIỂM STT Họ tên sinh viên Hồng Văn Bắc Vũ Quang Đơng Vũ Huy Hiệu Họ tên giảng viên Giảng viên chấm 1: Giảng viên chấm 2: Nội dung thực Chữ ký Điểm Chữ ký Ghi -3- MỤC LỤC MỞ ĐẦU Đặt vấn đề Mục tiêu nghiên cứu đề tài Nhiệm vụ đề tài 4 Kết đạt đề tài Bố cục đề tài CHƯƠNG 1: TÌM HIỂU VỀ CÁC THUỘC TÍNH, PHƯƠNG THỨC, SỰ KIỆN TRONG C# WINFORM 1.1 Thuộc tính đối tượng 1.2 Phương thức đối tượng 1.3 Các kiện đối tượng Chương 2: GIỚI THIỆU VỀ ĐỒ HỌA TRONG C# 10 2.1 Các đối tượng đồ họa sở 10 2.1.1 Hệ tọa độ thực hệ tọa độ thiết bị 10 2.1.2 Điểm – Pixel 10 2.1.3 Hình học đồ họa máy tính 11 2.1.4 Đối tượng Graphics c# 12 2.2 Sự kiện Paint vấn đề repaint cho chương trình 13 2.2.1 Sự kiện Paint 13 2.2.2 Vấn đề repaint cho chương trình 14 CHƯƠNG 3: THIẾT KẾ CHƯƠNG TRÌNH GAME CARO 15 3.1 Mơ tả chương trình 15 3.2 Thực chương trình 15 3.3 Phân tích chương trình 17 3.3.1 Lớp Oco.cs 18 3.3.2 Lớp BanCo.cs 18 3.3.3 Lớp MannagerChessboad.cs 19 3.3.4 Lớp Form1.cs 21 3.4 Giao diện chương trình 22 3.4.1 Giao diện trạng thái bắt đầu 22 3.4.2 Giao diện người chơi đánh cờ 22 3.4.3 Giao diện kết thúc trò chơi 23 KẾT LUẬN 25 TÀI LIỆU THAM KHẢO 26 -4- MỞ ĐẦU Đặt vấn đề Game caro trò chơi quen thuộc nhiều đối tượng, đặc biệt bạn học sinh, sinh viên hẳn khơng cịn xa lạ với trị chơi Trị chơi mang tính trí tuệ cao, bổ ích cho việc rèn luyện tư duy, đơn giản giải trí, thư giãn để bớt căng thẳng sau tiết học mệt mỏi Bản thân nhóm em u thích trị chơi này, chọn đề tài nghiên cứu “Xây dựng chương trình game caro” nhóm em thấy thân học hỏi nhiều kiến thức bổ ích Như biết cách áp dụng ngơn ngữ c# để tạo chương trình, sử dụng kiến thức đồ họa để thiết kế giao diện, sử dụng thuật tốn để xử lí việc thắng thua game, bước chân vào để nghiên cứu lĩnh vực ưa chuộng trí tuệ nhân tạo hay cịn gọi tắt AI cho máy Những lợi ích lí để nhóm em chọn đề tài Mục tiêu nghiên cứu đề tài Mục tiêu nghiên cứu đề tài để rèn luyện lại kiến thức học kiến thức đồ họa máy tính, ngơn ngữ lập trình hướng đối tượng C# Áp dụng học để tạo chương trình, ứng dụng thực tế cụ thể Game Caro Nhiệm vụ đề tài Thiết kế giao diện chương trình Xác định cách thức chơi (1 người chơi với máy, người chơi với nhau…) Xây dựng thuật tốn tính điểm cho hình thức chơi Xây dựng thuật tốn xác định trường Game over Kết đạt đề tài Sau trình nghiên cứu, thực đề tài nhóm em xây dựng giao diện chương trình, xác định cách thức chơi cho hai người chơi với nhau, xử lí, xét trường hợp thắng thua, thêm chức undo, redo cho chương trình Bên cạnh yêu cầu đạt cịn số vấn đề nhóm em cịn gặp phải khó khăn nghiên cứu đề tài, xây dựng cách thức chơi người chơi với máy, lĩnh vực trí tuệ nhân tạo cho máy Bố cục đề tài Đề tài gồm chương sau: Chương 1: TÌM HIỂU VỀ CÁC THUỘC TÍNH, PHƯƠNG THỨC, SỰ KIỆN TRONG C# WINFORM Chương 2: GIỚI THIỆU VỀ ĐỒ HỌA TRONG C# -5- Chương 3: THIẾT KẾ CHƯƠNG TRÌNH GAME CARO -6- CHƯƠNG 1: TÌM HIỂU VỀ CÁC THUỘC TÍNH, PHƯƠNG THỨC, SỰ KIỆN TRONG C# WINFORM 1.1 Thuộc tính đối tượng Ở ngồi thực tế, thuộc tính đặc điểm vật Ví dụ: chân: dài, dáng: cao, da: trắng Anh mũi: thấp, tóc: ngắn v v Đối với Console App, thuộc tính biến kiểu private, nằm Class hay dùng phương thức get - set để lấy giá trị cho Cịn lập trình Winform C# thuộc tính đặc điểm - tính bên bên đối tượng (Form, Control, Container ) Trong bảng 1.1 thuộc tính giống Control C# Bảng 1.1 : Các thuộc tính thường dùng winform c# - Thuộc tính Chức (Name) Tên đại diện cho control Nó tên biến Rất quan Achor trọng Cố định control thay đổi kích thước form BackColor Màu nên control BackgroundImage Hình control contextMenuStrip Menu ấn chuột phải lên control Cursor Hình chuột rê lên control Dock Gần giống với Anchor chiếm tồn phần Enabled đặt Vd chọn Dock bottom tồn phần form không đặt phần tử khác Có cho phép sử dụng hay khơng Font Chứa thuộc tính màu,cỡ,kiểu chữ mơ tả(hoặc nội dung,giá Location trị) control Vị trí control form Tag Nội dung đánh dấu control Nó giúp control có hai giá trị Text miêu tả control Hoặc giá trị Nội dung miêu tả control Hoặc giá trị TextAlign Căn lề nội chữ miêu tả control Visible Hiển thị lên form hay khơng Chúng ta thay đổi thuộc tính khung Properties lúc thiết kế Form, thay đổi thuộc tính code -7- 1.2 Phương thức đối tượng Trong lập trình Console ta hay gọi phương thức "hàm" Nhưng lập trình C# hướng đối tượng hàm đặt class gọi “phương thức” Mỗi class dù class thường Form, hay Control khác có phương thức riêng cho Chúng ta gọi (call) đến phương thức nó, giống lệnh cho phải làm hành động Cũng giơng cịn nhỏ có phương thức Học(), Ăn(), QuétNhà(), Bảng 1.2: Các phương thức thường dùng winform c# Phương thức Chức Active Khởi động form Và focus vào BringToFront Đưa control ngồi cùng, phía theo trục Z CenterToParent Căn chỉnh control nằm khung viền form cha CenterToScree Căn chỉnh control nằm hình Close Đóng form lại Dispose Giải phóng tài nguyên sử dụng component Focus Tập trung vào form Giống Alt – Tab để chọn Form Hide Ẩn control khỏi người dùng OnActive Khởi động kiện Activated (Thực hành động sau Form OnClick Active) Khởi động kiện Click (Thực sau control Click) Refresh Làm lại Form/Control, vơ hiệu hóa client vẽ lại Show() control Hiển thị Control hình ShowDialog() Hiển thị Form Dialog ToString() Hiển thị chuỗi tương ứng cho nội dung 1.3 Các kiện đối tượng Để hiểu rõ kiện đối tượng ta tìm hiểu trả lời câu hỏi chủ chốt sau: Sự kiện gì? Ta tưởng tượng nhảy, kiện ghi nhận hành động nhảy Con chim hót kiện chim hót Vậy winform C# theo nghĩa đen nó, kiện hành động vừa xảy Ví dụ người dùng ấn vào nút đó, kiện Click, ấn phím kiên KeyPress Làm máy tính nhận biết kiện? -8- Nếu ngồi đời nhìn mắt, nghe tai biết kiện hành động diễn C# hỗ trợ cho lắng nghe kiện EventHandler Chúng ta hiểu đơn giản dựa chế ngắt vi xử lý gửi nhận tín hiệu trả phương thức cho ta Nếu tìm hiểu sâu ta đụng tới Delegate Bảng 1.3: Các kiện thường dùng Sự kiện Click DoubleClick KepDown KeyUp KeyPress MouseDown MouseUp MouseHover MouseLeave Điều kiện xảy Ẩn vào control Nháy kép vào control Bắt đầu ấn phím Đã ấn phím xong Trong ấn phím Ấn chuột Thả chuột Rê chuột qua control Rê chuột khỏi control Vậy cần kiện để làm gì? Các bạn tưởng tượng kiện câu lệnh điều kiện if, xảy kiện - ta xử lý để làm việc Ví dụ Click chuột vào button đăng nhập game, xử lý kiểm tra tài khoản mật khẩu, xuất thông báo đăng nhập thành cơng chẳng hạn Cứ lấy ví dụ game cho dễ hình dung Sự kiện khởi chạy nào? Người dùng khởi chạy event cách tương tác với chương trình bạn Ví dụ: Việc nhấp button khởi chạy event Click button Các control tự khởi chạy event riêng Ví dụ: control Timer kích hoạt event Tick vào khoảng thời gian đặn Hệ điều hành (bất kỳ phiên Windows) khởi chạy event Bạn khởi chạy event cách gọi chúng giống gọi phương thức Làm cách để thêm kiện cho Form control? Chúng ta thêm kiện code, click đúp vào control muốn thêm để thêm kiện thường dùng nó, đúp chuột vào tên kiện cần thêm khung kiện ô Properties thiết kế form Khi Visual Studio tự động generate code cho kiện vào .Designer.cs gọi hàm vào class để bạn thiết lập xử lý kiện -9- Hình 1.1: Thêm kiện khung properties -10- Chương 2: GIỚI THIỆU VỀ ĐỒ HỌA TRONG C# 2.1 Các đối tượng đồ họa sở 2.1.1 Hệ tọa độ thực hệ tọa độ thiết bị - Hệ tọa độ giới thực: + Mô tả đối tượng giới thực + Thường sử dụng hệ tọa độ Descartes Hình 2.1: Hệ tọa độ thực + + - Hệ tọa độ thiết bị: Dùng thiết bị xuất máy in, hình… Tọa độ nguyện giới hạn khoảng Hình 2.2: Hệ tọa độ thiết bị 2.1.2 Điểm – Pixel + + Là thành phần sở định nghĩa hệ tọa độ Thông tin: (x,y) hệ tọa độ chiều gọi điểm (x,y,z) hệ tọa độ chiều(Hay hệ tọa độ thiết bị) gọi Pixel -12- - Bình thường đường thẳng vẽ thẳng nhìn vào mắt thường Nhưng đánh lừa thị giác Khi phóng to hình ảnh lên thấy điểm pixel đường thẳng vẽ có sữ chênh lệnh nhau,và tạo thành hình cưa.(xem hình 2.6) Hình 2.6: Đường thẳng có hình cưa phóng to + + + - * Hình trịn Thơng tin gồm có: Tọa độ tâm bán kính Thuộc tính: Màu sắc Kiểu nét vẽ Độ rộng nét vẽ Có loại đường trịn là: Đường trịn có tâm năm gốc tọa độ nằm ngồi gốc tọa độ Hình 2.7: đường tròn tâm O(0,0) 2.1.4 Đối tượng Graphics c# - Hình 2.8: Đường trịn tâm C(xc,yc) Khái qt: Khi muốn vẽ hình dùng đến đối tượng Graphics, đối tượng Graphics cọ phết lên Frame, Canvas hay Applet -13- - Muốn vẽ hình thường phải cài đặt phương thức: Public void paint(Graphics grp){} Phương thức : Repaint() dùng để vẽ lại hình ảnh(thực chất repaint() gọi đến phương thức update(),update() gọi đến Paint()) Nếu muốn vẽ lại phần ta sử dụng phương thức repaint(int x,int y ,int width,int higth) Trong lớp Graphics gồm có: Vẽ hình học, vẽ chữ, vẽ ảnh, chế độ vẽ, Lớp color, vùng cắt, lớp tiện ích khác Ví dụ: Vẽ đường thẳng Drawline(int x1,int y1,int x2,int y2) Y(y1,y2) X(x1,x2) - Ví dụ: Vẽ Đường tròn: Ta dùng phương thức sau: drawOval(int x,int y,int width,int height) Cịn để vừa vẽ vừa tơ màu ta dùng phương thức sau : fillOval(int x,int y,int width,int height) Hình 2.9: Minh họa phương thức vẽ hình trịn, elip 2.2 Sự kiện Paint vấn đề repaint cho chương trình Tại lại phải nghiên cứu vấn đề này, chương trình game caro có thứ cần sử dụng kiện paint xử lí vấn đề repaint cho chương trình, giao diện tương tác không bị gặp lỗi Vậy kiện paint xử lí vấn đề repain nghiên cứu sau 2.2.1 Sự kiện Paint Sự kiện paint giống bao kiện khác có lắng nghe kiện phương thức để sử lí kiện dĩ nhiên cần phải có đối tượng tượng nhận kiện Đối tượng nhận kiện form chương trình -14- Hình 2.10: Sự kiện paint Vậy kiện paint dùng để làm gì? Sự kiện dùng để giải vấn đề repaint chương trình hiểu đơn giản chức làm cho thứ ta vẽ lên chương trình khơng bị biến lần form không Focus(form không ý) Để hiểu rõ vấn để repaint việc sử dụng kiệ paint để khác phục ta tiếp tục tìm hiểu phần 2.2.2 Vấn đề repaint cho chương trình Các hình vẽ bị giao diện bị “khuất”: Khi có giao diện chương trình khác đè lên bấm minimize từ cửa sổ chương trình hình vẽ bị biến Chương trình khơng ghi nhớ đối tượng vẽ lên hình : Những phiên GDI lưu lại hình vẽ phiên GDI+ sau loại bỏ việc ghi nhớ lại hình vẽ phải dùng thuật toán phức tạp giải vấn đề tràn nhớ Vì nên ta phải vẽ lại chương trình bị “khuất” bắng kiện paint, kiện paint chạy lại form Focus lại nên hiệu ứng ảnh bình thường khơng bị đi.Việc giúp bàn cờ quân cờ vẽ lên chương trình khơng bị giúp việc chơi cờ thuận lợi -15- CHƯƠNG 3: THIẾT KẾ CHƯƠNG TRÌNH GAME CARO 3.1 Mơ tả chương trình Trị chơi đối kháng (two-agent,conflicting game): Gồm người chơi,đối thủ tìm cách dành chiến thắng trước đối thủ số hữu hạn nước đo,mỗi nước tạo dựa từ trạng thái trận đấu Nếu sau số hữu hạn nước đi, chưa dành chiến thắng xem hịa Ngồi ra, thơng tin trận đấu hoàn toàn biết (perfect information) đối thủ Cờ caro (hay gọi Gomoku) loại trò chơi đối kháng, đối thủ lượt chọn trống cịn lại bàn cờ (kẻ sẵn ô lưới) cho tạo thành n liên tiếp để chiến thắng… Nếu n = có tên khác “Tic Tac Toe”, bổ sung thêm luật cho đổi tên Penta, Pentix (có ăn qn)… Ngồi ra, có luật thi đấu mà người chứng minh người chơi trước bào có thuật tốn để thắng, để hạn chế thuận lợi người trước, người ta đặt luật sau (Luật sử dụng cho trình phát triển chương trình ): + Bàn cờ có kích thước tùy ý N x M, chọn N = 21, M = 24; + Nếu tồn liên tiếp tren hàng thắng (chéo, ngang, dọc) (Luật gắt sau: Đúng không bị chặn hai đầu, em áp dụng chương trình này) + Nếu hết chỗ bên hịa 3.2 Thực chương trình Chương trình có form frmCocaro chứa tất giao diện chương trình Hình 3.1 giao diện hình chính, bàn cờ Hai người chơi chơi với hình -16- Hình 3.1: Giao diện chương trình Chương trình có thêm chức undo redo nằm menu tool Edit ( xem hình 3.2): Hình 3.2: Chức Undo, Redo Undo: Chức cho phép người chơi đánh lại quân cờ vừa đánh, bị đánh nhầm -17- Redo: Chức hoàn toàn ngược lại với Redo, Cho phép người chơi đánh lại nước đánh trước bị Undo Ngồi cịn có số Menu tool bổ trợ cho chương trình như: - Flie: chứa Item như: + New: Bên có mục nhỏ cho người dùng chọn chế độ chơi, Player vs player chế độ người chơi chơi với nhau, player vs computer chế độ dành cho người chơi với máy (xem hình 3.3) Hình 3.3: Menu Tool File + + + + + + + + Exit: Thốt chương trình - Help: Chưá item như: About: thơng tin chương trình Tutorial: Hướng dẫn chơi trị chơi 3.3 Phân tích chương trình - Thơng tin bàn cờ cờ lưu vào mảng chiều kích thước 21 x 24, phần tử mảng tương ứng với ô cờ bàn cờ - Mỗi ô cờ có trạng tháng (chưa đi), ( người thứ đi) ( người thứ đi) Ban đầu tất cờ đề có trạng thái 0, sau nước thay đổi trạng thái thành tùy theo người nước cờ - Sau nước chương trình kiểm tra điều kiện tiếp tục trị chơi: Trò chơi tiếp tục nước chưa có người thắng (Nếu có nghĩa người hịa nhau) - Điều kiện thắng có nước liên tiếp hàng ngang (hoặc hàng dọc ,hoặc hàng chéo) - Chương trình gồm có lớp để thuận tiện cho việc viết code nhanh hơn, gọn gàng, rõ ràng dễ hiểu class: Oco.cs BanCo.cs Mannager Chessboad.cs Form1.cs - Sau nhóm em phân tích rõ chức class -18- 3.3.1 Lớp Oco.cs Lớp Oco lớp nhỏ nên nhóm em xin trình bày Trong lớp Oco có thuộc tính như: + _Chieurong: Chiều rộng cờ + _ChieuCao: Chiều cao ô cờ + _SoHuu: Ô cờ thuộc quyền sở hữu người chơi nào, mặc định khởi tạo mảng cờ sở hữu ô cô mặc đinh nghĩa chưa có sử hữu + _Vitri: Ô cờ vị trí bàn cờ, thuộc tính khai báo kiểu liệu Point Để xác đinh vị trí cờ xét xử lí cờ theo mục đích + _Dong, _Cot: thuộc tính dùng để định vị cờ dịng nào, cột để gọi tới phần tử ô cờ tạo mảng ô cờ Các thuộc tính em đặt tên có dấu “_” đàng trước nhằm mục đích phân biệt biến để đóng gói thuộc tính, cơng cụ Visual studio tạo phương thức get, set tự loại bỏ dấu‘_’ trông gọn gàng rành mạch Ngồi lớp cịn có phương thức khởi tạo mặc định phương thức khởi tạo có truyền tham số, nhằm thiết lập động giá trị thuộc tính gọi phương thức khác public Oco() {} public Oco(int dong,int cot,Point vitri,int sohuu) { _Dong = dong; _Cot = cot; _Vitri = vitri; _Sohuu = sohuu; } - Trong lớp BanCo có thuộc tính phương thức sau: + Thuộc tính _Dong _Cot Chỉ số dòng cột bàn cờ Được khởi tạo với hàm khởi tạo _Dong = 0, _Cot = truyền vào giá trị tùy ý qua hàm khơi tạo mặc định có tham số public BanCo(int SoDong,int SoCot) { _Dong = SoDong; _Cot = SoCot; } -19- - Gồm có phương thức sau: + public void VeBanCo(Graphics g) Phương thức có chức quan trọng để vẽ bàn cờ cho đánh Ở phương thức ta sử dụng đối tượng Graphics với phương thức kèm Drawline để vẽ đường kẻ sọc đường kẻ ngang theo tham số mà ta truyền vào Đối tượng Graphics khởi tạo gán cho panelBanCo để quản lí vẽ lên panel + public void VeQuanCo(Graphics gr,Point point,SolidBrush sb) Phương thức có chức vẽ quân cờ đánh,dùng đối tượng SolidBrush gọi tới phương thức FillEllipse để vừa vẽ vừa tơ màu đối tượng hình trịn,hay cụ thể màu viên cờ Ở chương trình em sử dụng cọ màu đen màu trắng sbwhite sbblack + public void XoaQuanCo(Graphics gr,SolidBrush sb,Point VitriXoa) Hàm có tác dụng xóa qn cờ, mục đích để hỗ trợ cho chức Undo,theo ta nhìn thấy bấm undo quân cờ bị xóa khỏi bàn cờ, thực chất chế hoạt động hàm có phải nhìn thấy khơng? Hồn tồn khơng, thực chất hàm vẽ thêm khơng phải xóa đi, màu mà vẽ lên lại màu bàn cờ, nên nhìn mắt khơng cịn nhìn thấy quân cờ vừa đánh Kết hợp theo việc phủ màu lên quân cờ mà xóa, thêm vào gán lại quyền sở hữu 0(tức chưa bị người chơi chiếm hữu) loại khỏi mảng quân cờ đánh Vậy có hàm xóa quân cờ theo nghĩa 3.3.3 Lớp MannagerChessboad.cs Đây lớp bao hàm lại lớp Oco BanCo Các phương thức, thuộc tính lớp sử dụng lại lớp Đồng thời lớp có thêm nhiều phương thức khác quan trọng để hồn thành đủ chức năng, liệu để xử lí chương trình Trong lớp MannagerChessboad có số thuộc tính quan trọng cần nói đến thuộc tính sau : + Biến _Sansang biến có kiểu giá kiểu bool Mục đích tạo biến nhằm báo hiệu cho chương trình biết người chơi kích chọn nút Player hay chưa, tức người chơi chọn chế độ chơi cho phép bắt đầu đánh quân cờ lên ô cờ + Tiếp đến Stack _CacNuocDaDi _CacNuocDaUndo biến có chức lưu lại nước đi.và nước bị đánh lại Cách sử dụng stack giống kiểu liệu List để lấy phần tử stack thường ta đưa vào vòng lặp foreach Nhưng điểm hay stack chế hoạt động theo kiểu -20- vào sau trước Nên cần lấy qn cờ cuối khơng có tuyệt vời sử dụng stack chẳng hạn sử dụng tính Undo Thì phải Undo quân cờ vừa đánh, lấy quân cờ để xử lí + Phương thức KhoiTaoOco() : Phương thức nhằm tạo mảng ô cờ có thuộc tính khởi tạo thuộc tính cờ, cờ mà thấy xuất hình chưa khởi tạo dùng để thị chưa có giá trị hay thuộc tính đối tương ô cờ Phương thức khởi tạo cách dùng vòng lặp for lòng với số i chạy theo số dòng bàn cờ số j chạy theo số cột bàn cờ Cụ thể sau : for (int i = 0; i < _BanCo.Dong;i++ ) { for (int j = 0; j < _BanCo.Cot;j++ ) { MangOco [ i, j ] = new Oco(i, j, new Point(j * Oco._Chieurong, i * Oco._ChieuCao), 0); } } + Phương thức DanhCo(): Phương thức phương thức quan trọng nhất, khơng có phương thức có lẽ khơng cịn gọi trị chơi nữa, mà chương trình hiển thị giao diện bàn cờ mà Bản chất việc đánh cờ thực chất việc xác định quân cờ mà người chơi trỏ chuột vào vị trí nào, sau kiểm tra xem ô cờ thuộc lượt nào.nếu lượt thứ tơ màu đen,nếu lượt thứ tơ màu trắng, Mỗi lần chương trình gọi đến phương thức đánh cờ ta phải gán lại giá trị cho biến lượt đi, giá trị khác để thực việc đổi lượt đánh Demo Phương thức: Switch (_LuotDi) { case 1: MangOco[dong, cot].Sohuu = 1; _BanCo.VeQuanCo(gr, MangOco[dong, cot].Vitri,sbblack); _LuotDi = 2; break; case 2: MangOco[dong, cot].Sohuu = 2; _BanCo.VeQuanCo(gr, MangOco[dong, cot].Vitri,sbwhite); _LuotDi = 1;

Ngày đăng: 25/04/2023, 09:39

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w