1. Trang chủ
  2. » Luận Văn - Báo Cáo

QUẢN Lý d6cntt epu dai

67 1,5K 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 67
Dung lượng 2,68 MB

Nội dung

MỤC LỤC LỜI MỞ ĐẦU DANH MỤC CÁC HÌNH Hình 1.1: Game Flappy Bird Hình 1.2: Kiến trúc khung ứng dụng Net Hình 1.3: Vị trí quân cờ Hình 1.4: Các quân cờ Hình 1.5: Nguyên lý cờ Hình 1.6: Cờ vua máy tính Hình 2.1: Một phần trò chơi trò chơi tic-tac-toe Hình 2.2: Minimax hai lớp áp dụng vào nước mở đầu trò chơi Tic-tac-toe Hình 2.3: Minh họa chiến lược chơi cờ người lẫn máy Hình 2.4: Thuật toán Alpha-beta cắt tỉa nhánh Hình 2.5: Minh họa giải thuật Alpha-beta Hình 2.6: Khảo sát bùng nổ tổ hợp, Thuật toán Alpha-beta làm giảm bùng nổ tổ hợp không chống nó.32 Hình 3.1: Cắt bỏ gốc a, eval(u) > eval(v)34 Hình 3.2: Mô hình phân rã chức Hình 3.3: Sơ đồ thể mối liên quan lớp chính38 Hình 3.4: Giao diện chương trình Hình 3.5: Giao diện tùy chọn Hình 3.6: Giao diện chơi game Hình 3.7: Trạng thái quân cờ45 Hình 3.8: Textbox chiếu tướng46 Hình 3.9: Tìm phòng chơi qua LAN47 Hình 3.10: Tùy chọn cài đặt game chế độ LAN48 Hình 3.11: Giao diện chơi game qua LAN49 Hình 3.12: Các cờ luyện tập Hình 3.13: Chiếu bí nước Hình 3.14: Màn hình lưu game Hình 3.15: Nạp trò chơi Hình 3.16: Chức hỗ trợ game Hình 3.17: Cài đặt giao diện bàn cờ55 Hình 3.18: Quản lý người chơi Hình 3.19: Dữ liệu luyện tập FEN Hình 3.20: Chức thông tin Hình 3.21: Luật cờ vua.59 Hình 3.22: Thông tin tác giả KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT Từ khóa Tiếng Anh Tiếng Việt LAN Local Area Network Mạng máy tính cục ESPORT Electronic Sports Thể thao điện tử C# C Sharp Ngôn ngữ lập trình AI Artificial Intelligence Trí tuệ nhân tạo HTML HyperText Markup Language Ngôn ngữ lập trình WCA World Cyber Arena Nhà tổ chức game App Application Ứng dụng VNG VinaGame Công ty game LỜI MỞ ĐẦU Cờ vua môn thể thao trí tuệ giúp cho người chơi phát triển trí óc khả xử lý tình hình Mồi ván cờ tình khác đòi hỏi người chơi phải có suy nghĩ nhanh nhạy biết cách xử lý tình thật sáng suốt Chính mà chơi cờ vua người ta vừa tập luyện tập trung suy nghĩ vừa học hỏi thêm cách xử lý đối phó với tình ván cờ sống Hiện giới, lứa tuổi chơi cờ vua, câu lạc hay lớp học cờ vua có nhiều nơi, có thời gian, sức lực để theo học lớp trên, đồng thời người theo học khả đồng trình độ chơi Với mục đích giúp người chơi tiếp cận với môn thao trí tuệ người có kinh nghiệm chơi luyện tập suy nghĩ nhanh Em áp dụng kỹ thuật lập trình C# kết hợp với thuật toán tìm kiếm đối kháng cắt tỉa Alpha-Beta để xây dựng chương trình cờ vua có khả máy đánh với người người đánh với người thông qua mạng LAN Đây đề tài khó hướng dẫn tận tâm thầy giáo Ngô Ngọc Thành qua buổi học lớp buổi nói chuyện, thảo luận môn học Trong thời gian học tập thực hành hướng dẫn thầy, em thu nhiều kiến thức bổ ích Nếu lời hướng dẫn, dạy bảo thầy em nghĩ đồ án em khó hoàn thành Đồ án em gồm nội dung sau: • Chương Tổng quan ứng dụng game máy tính • Chương Các thuật toán giải toán • Chương Cài đặt thử nghiệm ứng dụng game cờ vua Do có mặt hạn chế định mặt kiến thức kinh nghiệm thực tế nên đồ án tránh thiếu sót, khuyết điểm Em mong thầy cô bạn giúp đỡ để kiến thức thân đồ án hoàn thiện CHƯƠNG 1: TỔNG QUAN VỀ CÁC ỨNG DỤNG GAME TRÊN MÁY TÍNH Ngày công nghệ game phát triển giới, bao gồm thể loại game như: Nhập vai, đối kháng, hành động, chiến thuật, … Những tựa game không mang tính giải trí mà giúp cho người chơi thư giãn phát triển tư trí óc 1.1 Tổng quan game Game tiện ích công nghệ điện tử - tin học nhằm phục vụ nhu cầu giải trí người Đó phần mềm xây dựng theo nội dung định, cho phép người tham gia điều khiển "nhân vật" theo ý muốn tuân theo quy tắc trò chơi cài đặt Thông qua hình liệu mã hóa đưa dạng hình ảnh, cho người chơi quan sát diễn biến trò chơi Đây điểm qua trọng làm nên hấp dẫn trò chơi Kèm theo hệ thống âm cài đặt để phát âm theo điều khiển người sử dụng đồng thời với hình ảnh hình Như phim hấp dẫn mà người chơi thay đổi theo ý muốn Hấp dẫn hình ảnh sống động âm kích thích hiếu thắng trí tưởng tượng người, buộc họ chinh phục trò chơi Game theo phát triển công nghệ tin học, chia làm nhiều loại: theo nội dung, theo hình thức Game đời phát triển theo phát triển tin học Lịch sử Game máy tính điện tử bước sang hệ thứ 2, thiết bị điện tử cồng kềnh, chậm chạp Game "Pong" người lầm tưởng, mà game viết năm 1952 mang tên "Tennis for two" nhà vật lí hạt nhân William Higinbothcim (1958),tại phòng thí nghiệm Brookhaven New York (Mĩ).Đơn giản hình điện tử thô sơ bảng điều khiển cồng kềnh Sau phát triển máy tính điện tử tới hế hệ thứ Các công ti sáng tạo phat triển game đời hòa vào công nghiệp giải trí Những người tiên phong trò chơi điện tử tên tiếng làng game tác giả game "Pong" lầm tưởng game viết 1972, Alan Alcorn, kĩ sư công ti phần mềm Atari (Mĩ) 1.2 Khảo sát thị trường game toàn cầu Có thể nói ngành giải trí mang lại nhiều lợi nhuận ngành Game Game lĩnh vực giải trí tương tác quan trọng hàng đầu ngành công nghiệp nội dung số Doanh thu toàn cầu từ ngành tăng trưởng nhanh chóng từ tỷ USD (1994) lên 41.9 tỷ USD (2007) dự đoán đạt 68 tỷ USD (2012) Với tốc độ tăng trưởng bình quân 9% năm, Game trở thành ngành có tốc độ phát triển nhanh lĩnh vực giải trí Trong đó, Mỹ chiếm 40.42% thị phần, Anh 12.45% Nhật 11.87% Năm 2008, ngành Game Mỹ giá trị khoảng 22 tỷ USD vượt qua ngành công nghiệp âm nhạc (10 tỷ USD) ngành công nghiệp phim ảnh (9,5 tỷ USD), thu hút hàng triệu lao động chuyên gia phát triển, phân phối marketing Game Việt Nam thị trường Game lớn khu vực Đông Nam Á với 20 nhà phát hành Game nước Doanh thu năm gần liên tục tăng trưởng với mức trung bình 400 triệu USD/năm, chiếm 70% doanh thu ngành nội dung số Có mức tăng trưởng ấn tượng, ngành công nghiệp Game Việt Nam dừng lại mức phân phối phát hành gia công tựa Game nước Trong năm gần đây, game mobile trở thành thành phần thiếu ngành công nghiệp game toàn cầu không ngừng mở rộng cách nhanh chóng Thông qua đó, nhiều quốc gia nhanh chóng thuận theo xu thời đại đồng thời mở nhiều diễn đàn, kiện để học hỏi lẫn định hướng đường tương lai 1.3 Game trở thành môn thể thao đại chúng Với 170 triệu người theo dõi toàn giới năm vừa qua, game thực phát triển thành môn thể thao đại chúng Điểm nhấn xu hướng theo dõi vụ sát nhập trị giá tỷ USD tảng phát stream game Twitch thực tế game đứng sau hạng mục âm nhạc lượt xem Youtube Xu hướng lan sang game mobile, với nhiều công ty tập trung vào mong muốn gamer ghi hình lại, phát stream xem trải nghiệm game mobile Trong số có Kamcord, cho phép người chơi game mobile phát stream trực tiếp game chạm mức 175 triệu thiết bị tháng Năm 2014, World Cyber Arena (WCA) tổ chức kiện Esports vô lớn Trung Quốc, nơi mà tựa game mobile đình đàm – Dota Legend mang đến tổng giải thưởng giá trị lên tới 1,1 tỷ USD 1.4 Lập trình game Trò chơi Flappy Bird làm mưa làm gió thời gian gần đây, kèm với thông tin tác giả game – chàng trai người Việt kiếm tiền tỷ/ngày nhờ nó, khiến nghề viết ứng dụng điện thoại (viết app) nhiều người quan tâm hết Thực ra, nghề viết app “hot” từ lâu giới lập trình Khi mà thị trường smart phone bùng nổ năm gần đây, “chợ” ứng dụng như: Apple Store, Android Market, Ovi Store,… mọc lên với vô số ứng dụng hàng tỷ lượt download, nghề nhiều lập trình viên, đặc biệt bạn trẻ theo đuổi Hình 1.1 : Game Flappy Bird 1.5 Sức hút nghề lập trình game Nghề lập trình game nghề đam mê sáng tạo Với bạn trẻ yêu thích trò chơi, công nghệ mỹ thuật, nghề lập trình viên game mảnh đất “vàng” để phát triển ý tưởng Công việc lập trình viên game gồm quản lý dự án, phát triển ý tưởng, thiết kế kịch trò chơi, chơi, lập trình, vẽ đồ họa 2D, 3D và… chơi thử để tìm lỗi! Mỗi khâu đòi hỏi lập trình viên niềm đam mê với giới trò chơi trạng thái muốn sáng tạo điều mẻ “Làm game phải chơi game để tìm cảm hứng sáng tạo Không “giữ lửa” nghề tồn lâu được”, game developer chia sẻ Môi trường làm việc đại điểm hút ngành nghề giới trẻ Dạo quanh game studio công ty FPT online, Gameloft VN, GlassEgg, Sáng Tạo, VNG…, bạn trẻ bị “choáng” bàn làm việc người gồm hình, hai, ba di động nhiều thiết bị đại khác Nhưng quan trọng triển vọng nghề nghiệp lập trình viên game cao Tại Texas, Mỹ, theo thống kê “The Texas Tribune”, lương ngành Mô Lập trình Game từ 1.000 đến 40.000 USD/tháng Game nội dung thông tin số ngành công nghiệp tiềm không giới mà Việt Nam Lương lập trình viên game dao động từ đến 15 triệu/tháng, chưa kể nhiều công ty thưởng lương tháng 13, thưởng thành tích doanh thu sản phẩm cao Các công ty game Việt Nam liên tục tuyển người thường xuyên rơi vào tình trạng “khát nhân lực” nhu cầu cao số lượng đáp ứng yêu cầu công việc lại thấp 1.6 Ngôn ngữ Cshap 1.6.1 Khái niệm Từ máy tính lập trình (First freely programmable computer) đời vào năm 1936 hàng nghìn ngôn ngữ lập trình tạo Có ngôn ngữ chết thiếu tâm huyết người tạo nó, hạn chế ngôn ngữ hay không cộng đồng sử dụng rộng rãi có ngôn ngữ trở nên thành công Với “chống lưng” Microsoft tháng giêng năm 1999 Anders Hejlsberg trở thành người phụ trách xây dựng ngôn ngữ lập trình Cool (C-like Object Oriented Language tiền thân C#), ngày 12/2/2002 C# đời với NET Framework 1.0 Kế thừa phát triển từ ngôn ngữ lập trình trước ưu từ hệ điều hành Window, sau số điểm bật ngôn ngữ C# Cú pháp C# hàm ý, đơn giản dễ dàng để học Nếu có kinh nghiệm với C, C++ Java bạn bắt đầu làm việc hiệu C# với thời gian ngắn c# có cú pháp tương tự, nhiên C# đơn giản so với C+ + cung cấp tính mạnh mẽ loại giá trị nullable, enumerator, delegate, biểu thức lambda việc truy cập nhớ trực tiếp (unsafe code) mà bạn không tìm thấy ngôn ngữ Java C# hỗ trợ kiểu liệu phương thức chung (giống Java), ứng dụng C# nhanh bảo mật mã nguồn tái sử dụng Là ngôn ngữ hướng đối tượng, C# hỗ trợ khái niệm đóng gói ncapsulation, thừa kế inheritance đa hình polymorphism Tất biến phương thức, bao gồm phương thức override virtual methods, đóng gói Class Một lớp kế thừa trực tiếp từ lớp cha, có thực nhiều interfaces khác nhau… Ngoài nguyên tắc ngôn ngữ hướng đối tượng, C# có sáng tạo riêng: Encapsulation, Properties, Attribute, XML, Language-Integrated Query (LINQ) Việc sử dụng đối tượng COM Win32 DLLs thông qua "Interop" trở nên dể dàng Thậm chí C# hỗ trợ trỏ khái niệm mã "không an toàn" trường hợp mà truy cập nhớ trực tiếp tuyệt đối quan trọng Quy trình xây dựng ứng dụng C# đơn giản so với C C++ linh hoạt Java 1.6.2 Cách thức ứng dụng C# hoạt động Các ngôn ngữ NET C#, VB.NET, VJ#, VC++ NET có cách thức hoạt động giống thành phần NET Framework bạn chạy ứng dụng máy không chạy cài đặt NET Framework version thích hợp Trước hết cần có nhìn khái quát NET Framework gồm phần chính: The common language runtime (CLR) and The NET Framework class library Những bạn viết custom object libraries, class libarary chứa class chung Có thể sử dụng nhiều lần class định nghĩa console, window hay button thứ mà bạn cần có để ứng dụng chạy mà không cần viết lại Khi bạn viết xong chương trình, qua trình biên dịch cho ta kết quả, Microsoft Intermediate Language (MSIL code) Sau JIT compiler chuyển mã MSIL code sang mã máy thứ mà CPU hiểu thực thi Vậy có nhìn khái quát C# cách mà ứng dụng NET Framework hoạt động • Nền tảng NET Khi Microsoft công bố C# vào tháng năm 2000, việc khánh thành phần số nhiều kiện mà tảng Net công công bố Nền tảng Net bô khung phát triển ứng dụng mới, cung cấp giao diện lập trình ứng dụng (Application Programming Interface - API) mẽ cho dịch vụ hệ điều hành Windows, cụ thể Windows 2000, mang lại nhiều kỹ thuật khác bật 10 1.16.4 Giao diện chơi qua mạng LAN Hình 3.9 : Tìm phòng chơi qua LAN Người chơi chọn chế độ chơi mạng LAN hình hiển thị form tìm phòng chơi chức from tìm phòng chơi : - Danh sách máy chờ mạng với bạn Tạo phòng chơi Vào phòng chơi Gửi tin mạng LAN 53 Hình 3.10 : Tùy chọn cài đặt game chế độ LAN Tùy chọn chế độ mạng LAN người chơi cài đặt : - Chọn quân đen trắng - Tùy chỉnh thời gian ván đấu - Thời gian lượt - Thời gian thêm lượt - Số lần lại - Đồng ý 54 Hình 3.11 : Giao diện chơi game qua LAN Giao diện người chơi qua mạng LAN có nhiều chức : - Hiển thị tên người chơi - Lịch sử chơi - Tùy chọn bắt đầu, sẵn sàng - Xin lại, xin hòa, chịu thua, chơi lại - Khung chát 55 1.16.5 Luyện tập Không luyện cờ khó , khó thành cao thủ Hình 3.12 : Các cờ luyện tập Các tập luyện gồm cờ khó, giúp người chơi nâng cao tư duy, rèn luyện trí tuệ Các cờ có chương trình : - Tàn Cuộc Luyện Tập Chiếu Bí Trong Nước Chiếu Bí Trong Nước Chiếu Bí Trong Nước 56 57 Hình 3.13 : Chiếu bí nước Ví dụ cờ chiếu bí nước Bạn người cầm quân trắng nước để dành chiến thắng 58 1.16.6 Lưu Game Hình 3.14 : Màn hình lưu game Chức lưu game giúp người lưu lại ván cờ chơi dở 59 1.16.7 Nạp game Hình 3.15 : Nạp trò chơi Chức nạp trò chơi giúp người chơi nạp lại chương trình mà người chơi lưu lại trước 60 1.16.8 Chức hỗ trợ Hình 3.16 : Chức hỗ trợ game Chức hỗ trợ chương trình hỗ trợ người chơi chơi ván cờ : - Chức quay lại : Giúp người chơi quay lại nước cờ trước Chức gợi ý : Gợi ý cho người chơi nước Chức chép FEN : Sao chép nước cờ lại để sử dụng vào luyện tập Chức chụp ảnh : Chụp ảnh lại hình Chức lưu nước : Lưu lại nước 61 1.16.9 Cài đặt giao diện bàn cờ Hình 3.17 : Cài đặt giao diện bàn cờ Các chỉnh bàn cờ cho phép người chơi : - Cài đặt kích thước ô cờ - Cài đặt kích thước quân cờ - Kiểu bàn cờ - Kiểu quân cờ - Âm 62 1.16.10 Hồ sơ Form quản lý hồ sơ người chơi : Hình 3.18 : Quản lý người chơi Gồm có : - Danh sách tên người chơi tạo trước Thêm Profile : Tạo Profile Xem Chi tiết profile Xóa profile 63 1.16.11 Dữ liệu luyện tập Form quản lý liệu : Hình 3.19 : Dữ liệu luyện tập FEN Form quản lý liệu cho phép người dùng thêm cờ luyện tập giúp người chơi nâng cao trình độ 64 1.16.12 Thông tin Chức thông tin chương trình : Hình 3.20 : Chức thông tin Gồm có : • • • Luật cờ vua Liên hệ tác giả Thông tin tác giả 65 1.16.13 Luật cờ vua Luật cờ vua giúp người chơi đọc hiểu luật cờ vua Hình 3.21 : Luật cờ vua 66 1.16.14 Thông tin tác giả Hình 3.22 : Thông tin tác giả 1.17 Kết luận chương Vậy toán giải Chương phân tích , thiết kế xây dựng game cờ vua tương đối hoàn chỉnh Áp dụng thuật toán cắt tỉa alpha-beta vào chương trình để tính nước cho máy Hi vọng bạn thích game cờ vua 67 [...]... tượng cho tất cả các chức năng của NET Framework (hơn 5000 lớp) 12 Các lớp cơ sở tương tự với các lớp trong Java Các lớp này hỗ trợ các thao tác nhập xuất, thao tác chuổi, văn bản, quản lý bảo mật, truyền thông mạng, quản lý tiểu trình và các chức năng tổng hợp khác … Trên mức này là lớp dữ liệu và XML Lớp dữ liệu hỗ trợ việc thao tác các dữ liệu trên cơ sở dữ liệu Các lớp này bao gồm các lớp SQL (Structure... quốc tế B) di chuyển theo đường chéo tới ô có cùng màu với nguyên lý tương tự như Xe tới ô còn trống hay ô bị quân đối phương chiếm giữ (ăn quân) • Hậu (ký hiệu quốc tế Q) có nước đi là tổ hợp đơn giản của chuyển động của Xe và Tượng Trong một nước đi nó có thể di chuyển theo đường chéohoặc đường thẳng dọc theo cột hay hàng, với nguyên lý đi và ăn quân giống như Tượng và Xe 16 • Mã (ký hiệu quốc tế N)... giá cao của mình) thì thông thường họ sẽ bỏ qua các giá trị danh định dành cho quân đó để đổi lấy các ưu thế về chiến lược hay ưu thế về vị trí của các quân đang tấn công 18 Hình 1.5 Nguyên lý thế cờ Một số nguyên lý cơ bản về thế cờ phổ biến đối với phần lớn các chiến thuật cờ và bẫy cờ như: Nĩa [còn gọi là đòn đôi] (tiếng Anh: fork) là một tình huống khi một quân di chuyển tới vị trí mà nó uy hiếp... dịch dự án, mã nguồn C# được chuyển thành tập tin IL lưu trên đĩa Khi chạy chương trình thì IL được biên dịch (hay thông dịch) một lần nữa bằng trình JustInTime- JIT, khi này kết quả là mã máy và bộ xử lý sẽ thực thi Trình biên dịch JIT chỉ chạy khi có yêu cầu Khi một phương thức được gọi, JIT phân tích IL và sinh ra mã máy tối ưu cho từng loại máy JIT có thể nhận biết mã nguồn đã được biên dịch chưa,... như để thi đấu trong các câu lạc bộ cờ vua, các giải đấu, chơi trực tuyến và chơi theo cách gửi thư Rất nhiều biến thể và các trò chơi tương tự như cờ vua được chơi trên toàn thế giới 15 1.7.2 Nguyên lý chơi Khi một ván cờ vua bắt đầu, một người chơi sẽ cầm quân đen và người chơi còn lại cầm quân trắng Việc chọn lựa ai sẽ cầm quân đen hay trắng phụ thuộc vào thể thức chơi là giải trí hay thi đấu trong... hơn đang bị tấn công và nó lại đứng trước quân ít giá trị Một loại hình khác là một quân di chuyển ra khỏi vị trí mà nó đang đứng để mở đường cho quân khác tấn công gọi là "mở đường bắt quân" Các nguyên lý chiến thuật khác còn có: nước trung gian (dịch của zwischenzug trong tiếng Đức, có nghĩa là khi một bên đe dọa tấn công một mục tiêu nào đó, thay vì bảo vệ mục tiêu thì đối phương phản công vào mục... Giới thiệu Thuật toán Minimax là thuật toán tìm kiếm chuyên dùng để trả về chuỗi nước đi tối ưu cho một người chơi trong trò chơi có tổng bằng không Minimax (còn gọi là minmax) là một phương pháp trong lý thuyết quyết định có mục đích là tối thiểu hóa (minimize) tổn thất vốn được dự tính có thể là tối đa (maximize) Có thể hiểu ngược lại là, nó nhằm tối đa hóa lợi ích vốn được dự tính là tối thiểu (maximin) ... NGHIỆM ỨNG DỤNG GAME CỜ VUA Trong chương em áp dụng thuật toán Alpha-beta để xây dựng game xây dựng game thực tế 1.13 Áp dụng giải thuật cắt tỉa Alpha-Beta vào xây dựng game cờ vua Trong chiến... tiến thuật toán MiniMax thuật toán cắt tỉa Alpha-Beta, tư ứng dụng thuật toán cắt tỉa Alpha – Beta vào việc xây dựng chức tìm nước cho máy tính game cờ Vua 39 CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM ỨNG DỤNG... MiniMax thuật toán cắt tỉa Alpha-Beta 22 CHƯƠNG 2: THUẬT TOÁN MINMAX VÀ CẮT TỈA ALPHA-BETA Trong chương tìm hiểu thuật toán tìm kiếm đối kháng MiniMax thuật toán cài tiến thuật toán MiniMax thuật toán

Ngày đăng: 08/01/2016, 15:47

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w