Đề tài lập trình trò chơi cờ caro bằng ngôn ngữ c

29 0 0
Đề tài lập trình trò chơi cờ caro bằng ngôn ngữ c

Đ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

Báo cáo tiểu luận GVHD: Nguyễn Văn Khương Phần MỞ ĐẦU Lý chọn đề tài Trong năm gần đây, công nghệ thông tin nước ta có phát triển lĩnh vực sống lĩnh vực quản lý xã hội khác Một lĩnh vực nhiều người quan tâm lĩnh vực giải trí Game vừa cách giúp giải trí, giúp có khả tư duy, đầu óc nhạy bén Ngồi ra, game cịn giúp người tập trung cao độ hơn, rèn luyện tính tâm, kiên trì, tích lũy kinh nghiệm xử lí vấn đề… Chúng em chọn đề tài “Lập trình trị chơi cờ Caro ngơn ngữ C#”, dạng Game xuất từ lâu giới, ưu điểm Game mà nhóm thiết kế tốc độ game nhanh, khơng u cầu cấu hình mạnh … Chính mà giải vướng mắc gặp phải thiết kế theo phương pháp lập trình thủ tục túy : - Mã chương trình rõ ràng,dễ đọc, dễ hiểu đọng - Chương trình có tính mềm dẻo cao - Có khả tái sử dụng tài nguyên Mục tiêu đề tài - Tìm hiểu C# vận dụng để để xây dựng game cờ caro - Nâng cao trình độ, tự nghiên cứu, học hỏi, tư duy, làm việc theo nhóm, khả thuyết trình cho sinh viên, làm tảng vững cho sinh viên sau trường Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu:  Tìm hiểu C ứng dụng để lập trình game cờ Caro  Nắm lớp, phương thức cần thiết để xây dựng chương trình Trang Báo cáo tiểu luận GVHD: Nguyễn Văn Khương - Phạm vi nghiên cứu: nghiên cứu lập trình hướng đối tượng C# kỹ thuật lập trình game theo hướng đối tượng Phương pháp nghiên cứu - Phương pháp nghiên cứu tài liệu - Nghiên cứu xử lý thơng tin định tính - Nghiên cứu xử lý thông tin định lượng (phương pháp điều tra) Trang Báo cáo tiểu luận GVHD: Nguyễn Văn Khương CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1.1 Tổng qt trị chơi máy tính Trị chơi máy tính cịn gọi PC game, thể loại trị chơi video chơi máy tính cá nhân (PC), thay chơi máy chơi trị chơi điện tử gia máy chơi trò chơi arcade Các đặc điểm cố định bao gồm: phần cứng phần mềm chơi game đa dạng người dùng định; nói chung cơng suất lớn đầu vào, xử lý, đầu video âm Hiện nay, chất khơng có phối hợp rõ ràng thị trường trò chơi PC, việc thiếu phương tiện truyền thơng vật lý, khiến việc đánh giá xác quy mơ trở nên khó khăn Năm 2018, thị trường game PC toàn cầu định giá khoảng 27,7 tỷ USD Các trị chơi máy tính gia đình trở nên phổ biến sau cố trò chơi điện tử năm 1983, dẫn đến kỷ nguyên "coder phòng ngủ" Vào thập niên 1990, trò chơi PC đánh sức hút từ thị trường đại chúng vào tay máy chơi trò chơi điện tử, trước hồi sinh vào thập niên 2000 thông qua phân phối kỹ thuật số Ngày nay, phần lớn trị chơi máy tính thiết kế để chạy dòng hệ điều hành Microsoft Windows Trong trò chơi trước viết cho DOS bao gồm mã để giao tiếp trực tiếp với phần cứng ngày giao diện lập trình ứng dụng (API) cung cấp giao diện trò chơi hệ điều hành, giúp đơn giản hóa việc thiết kế trò chơi DirectX Microsoft API trị chơi máy tính ngày sử dụng rộng rãi để giao tiếp với phần cứng âm đồ họa OpenGL API đa tảng sử dụng để kết xuất đồ họa Phiên trình điều khiển card đồ họa cài đặt thường ảnh hưởng đến hiệu suất trị chơi cách chơi Trang Báo cáo tiểu luận GVHD: Nguyễn Văn Khương 1.2 Ngơn ngữ lập trình C# NetFrameWork 1.2.1 Giới thiệu C# C# ngôn ngữ đơn giản, với khoảng 80 từ khoá mười kiểu liệu dựng sẵn, C# có tính diễn đạt cao C# hỗ trợ lập trình có cấu trúc, hướng đối tượng, hướng thành phần (component oriented) Trọng tâm ngôn ngữ hướng đối tượng lớp Lớp định nghĩa kiểu liệu mới, cho phép mở rộng ngôn ngữ theo hướng cần giải C# có từ khoá dành cho việc khai báo lớp, phương thức, thuộc tính (property) C# hỗ trợ đầy đủ khái niệm trụ cột lập trình hướng đối tượng: đóng gói, thừa kế, đa hình Định nghĩa lớp C# khơng đòi hỏi tách rời tập tin tiêu đề với tập tin cài đặt C++ Hơn thế, C# hỗ trợ kiểu sưu liệu mới, cho phép sưu liệu trực tiếp tập tin mã nguồn Đến biên dịch tạo tập tin sưu liệu theo định dạng XML C# hỗ trợ khái niệm giao diện, interfaces (tương tự Java) Một lớp kế thừa lớp cha cài đặt nhiều giao diện C# có kiểu cấu trúc, struct (khơng giống C++) Cấu trúc kiểu hạng nhẹ bị giới hạn.Cấu trúc thừa kế lớp hay kế thừa cài đặt giao diện C# cung cấp đặc trưng lập trình hướng thành phần property, kiện dẫn hướng khai báo (được gọi attribute) Lập trình hướng component hỗ trợ CLR thơng qua siêu liệu (metadata) Siêu liệu mô tả lớp bao gồm phương thức thuộc tính, thông tin bảo mật … Assembly tập hợp tập tin mà theo cách nhìn lập trình viên thư viện liên kết động (DLL) hay tập tin thực thi (EXE) Trong NET Trang Báo cáo tiểu luận GVHD: Nguyễn Văn Khương assembly đon vị việc tái sử dụng, xác định phiên bản, bảo mật, phân phối CLR cung cấp số lớp để thao tác với assembly C# cho truy cập trực tiếp nhớ dùng trỏ kiểu C++, vùng mã xem khơng an tồn CLR khơng thực thi việc thu dọn rác tự động đối tượng tham chiếu trỏ lập trình viên tự giải phóng 1.2.2 Đặc trưng ngơn ngữ lập trình C# gì? 1.2.2.1 C# ngơn ngữ đơn giản C# loại bỏ vài phức tạp rối rắm ngôn ngữ Java c++, bao gồm việc loại bỏ macro, template, đa kế thừa, lớp sở ảo (virtual base class) Ngơn ngữ C# đơn giản dựa tảng C C++ Nếu thân thiện với C C++ chí Java, thấy C# giống diện mạo, cú pháp, biểu thức, toán tử chức khác lấy trực tiếp từ ngôn ngữ C C++, cải tiến để làm cho ngơn ngữ đơn giản 1.2.2.2.C# ngôn ngữ đại Điều làm cho ngơn ngữ đại? Những đặc tính xử lý ngoại lệ, thu gom nhớ tự động, kiểu liệu mở rộng, bảo mật mã nguồn đặc tính mong đợi ngôn ngữ đại C# chứa tất đặc tính Nếu người học lập trình cảm thấy đặc tính phức tạp khó hiểu Tuy nhiên, đừng lo lắng tìm hiểu đặc tính qua nội dung khố học 1.2.2.3.C# ngơn ngữ lập trình hướng đối tượng Lập trình hướng đối tượng (OOP: Object-oriented programming) phương pháp lập trình có tính chất Đó tính trừu tượng (abstraction), tính đóng Trang Báo cáo tiểu luận GVHD: Nguyễn Văn Khương gói (encapsulation), tính đa hình (polymorphism) tính kế thừa (inheritance) C# hỗ trợ cho tất đặc tính 1.2.2.4.C# ngơn ngữ từ khóa C# ngôn ngữ sử dụng giới hạn từ khóa Phần lớn từ khóa sử dụng để mơ tả thơng tin Chúng ta nghĩ ngơn ngữ có nhiều từ khóa mạnh Điều khơng phải thật, trường hợp ngơn ngữ C#, tìm thấy ngơn ngữ sử dụng để làm nhiệm vụ 1.2.3 Quá trình thực biên dịch ngơn ngữ #C Bước 1: Thực Click chuô †t phải vào project chọn build Visual Studio thực gọi trình biên dịch Tiếp đó, mã C# chuyển đổi để trở thành loại ngôn ngữ trung gian Microsoft Intermediate Language (MSIL) Sau chương trình kết thúc việc đóng gói thành file exe thực Bước 2: Click chuột phải vào project, chọn Open folder in file explorer Bước 3: Vào thư mục bin/debug, lúc chương trình bạn chuyển thành dạng exe file exe có chứa mã MSIL Bước 4: Tiến hành viết nội dung cho chương trình, thơng tin sau: using System;using System.Collections.Generic;using System.Text;namespace DuAn{class Program{ { /* Nội dung bạn cần viết */ Console.ReadKey(); System.Linq;using static void Main(string[] args) Console.WriteLine(“Xin chào”); }}}Thực chạy file exe vào lúc MSLI chuyển hướng trở thành ngơn ngữ máy Vì vậy, thơng qua Just In Time Compiler máy tính hiểu dịng lệnh mà bạn viết xuất kết hình hiển thị Trang Báo cáo tiểu luận GVHD: Nguyễn Văn Khương Trang Báo cáo tiểu luận GVHD: Nguyễn Văn Khương Phần NỘI DUNG NGHIÊN CỨU CHƯƠNG 1: ĐẶC ĐIỂM KỸ THUẬT YÊU CẦU KHÁCH HÀNG (CUSTOMER REQUIRE SPECIFICATION) 1.1 Giới thiêu tổng quát: Đây Game mơ tả trị chơi xếp gạch chơi online mạng Internet offline máy bạn ,nó lập trình ngơn ngữ Java theo phương pháp hướng đối tượng Tuy dạng Game xuất từ lâu giới ,nhưng ưu điểm Game mà thiết kế chế độ đồ họa đẹp, tốc độ game nhanh, không yêu cầu cấu hình mạnh … 1.2 Các chức chi tiết: 1.2.1 Start: Giải thích: Để bắt đầu chơi trò chơi xếp gạch bạn click mouse vào button Start ,trị chơi thức bắt đầu I.2.2 Dừng trò chơi tạm thời bắt đầu lại: Giải thích:  Nếu lý mà bạn muốn dừng trị chơi nửa chừng ,thì bạn cần click mouse vào button Pause ,hay cần ấn phiếm P,trò chơi tạm dừng  Nếu bạn muốn bắt đầu lại cần click mouse vào button Resume bấm phím P, trò chơi bắt tiếp tục I.2.3 Hiển thị gạch: Giải thích: Đây chức giúp người chơi biết trước lát gạch xuất hiên kế tiếp,giúp chơi Game dễ dàng  Nếu bạn bấm phiếm N ,chức hiển thị tắt  Nếu bạn muốn khởi tạo lại chức cần bấm lại phím N lần nửa, viên gạch lại xuất tên khung nhỏ bên cạnh Trang Báo cáo tiểu luận GVHD: Nguyễn Văn Khương I.2.4 Dịch chuyển đảo gạch: Giải thích: Đây chức cho phép ta dịch chuyển gạch qua lại,dịch chuyển xuống nhanh hơn,và đảo gạch theo nhiều hướng khác  Dịch sang trái : Bấm phím  Dịch sang phải : Bấm phím  Dịch nhanh xuống nhanh chóng:  Đảo gạch : Bấm phím I.2.5 Tính điểm: Giải thích : Đây chức tính điểm cho người chơi bạn làm đầy hàng gạch khung ,hàng gạch tự biến mất,và 100 điểm tự động cộng cho bạn I.2.6 Level Finish: Giải thích: Level : Đây chức làm tăng độ khó (speed)của  Game Nếu bạn đạt 500 điểm level (speed) tăng lên bậc, trình tiếp tục bạn đích hay Gameover  Finish : Khi bạn chơi đạt tới Level (speed 9)thì chương trình báo bạn đích bắt đầu Game lại từ đầu I.2.7 GameOver: Giải thích: Khi viên gạch chồng lên ,nếu đụng đỉnh khung chữ GameOver xuất ,như bạn kết thúc trò chơi bắt đầu lại trò chơi a Yêu cầu hệ thống : Cấu hình máy : CPU G2020 Mhz, RAM 2G Hệ diều hành : Window trở lên Các phần mềm kèm theo : Trình duyệt IE hay trình duyệt khác Chrome, Firefox có hổ trợ Java.Các phần mềm cho phép chạy file Java b Giới hạn đề tài : Trang Báo cáo tiểu luận GVHD: Nguyễn Văn Khương  Chưa thực chức Save Game, Edit Game cho người chơi…  Khi máy Game chơi có người ,chưa thực chức chơi người máy tính: chơi bàn phím,một chơi mouse  Chưa đổi giao diện cho viên gạch theo ý muốn người chơi  Chưa cho người chơi tự điều khiển tốc độ Game CHƯƠNG 2: MEMBER CLASS 2.1 Các Class thành viên : Trang 10 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương 2.4 Configuration Class : Trang 15 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương 2.5 Figure Class : Trang 16 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương 2.5.1 Square Board Class : Trang 17 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương 2.5.2 SquareBoardComponent Class: (inner Class SquareBoard class)  Chú thích kí hiệu :  Class : : Class : InnerClass  Object&Variable : : Private Object or Variable Trang 18 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương : Public Object or Variable  Method : : Contructor : Public Method : Private Method 2.6 UMLMap class hích SiteMap : : SubClass : SuperClass : Mũi tên lớp thừa kế lớp cha : Quan hệ kết hợp có biến thể : Quan hệ kết hợp khơng có biến thể Trang 19 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương Object Applet Main Configuration Object Figure Compoment Object Object Game SquareBoard Container SquareBoardComponent Thread GameThread GamePanel Trang 20 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương CHƯƠNG 3: GIAO DIỆN GAME 3.1 Bắt đầu: Close Khung báo trước Khung hình Score Level Bấm Start để bắt đầu Game Trang 21 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương 3.2 Đang chơi : Viên gạch Viên gạch hình chữ z Bấm Pause để dừng Game Trang 22 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương 3.3 GameOver : Trò chơi kết thúc Bấm Start để chơi lại Trang 23 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương 3.4 Về đích : Báo người chơi đích Score Level cao Bấm Start để bắt đầu lại Game 3.5 Trang 24 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương S ơđồồ chức năng: Start Bắắt đầầu chơi Kiểm tra If (score>=Level*500) Pause GameOver Stop Game Score and Level increase Start If (Level == 9) Resume New Game Finish Restart Game Trang 25 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương Phần KẾT LUẬN Những vấn đề đạt Với kiến thức tảng học trường nỗ lực mình, nhóm em hồn thành đề tài “Lập trình trị chơi xếp gạch phương pháp hướng đối tượng” Tài liệu giúp ta có nhìn tồn vẹn cấu phần mềm, chức phần mềm Những vấn đề hạn chế Do thời gian có hạn, nên đồ án khơng thể hoàn thành hết chức dự định ban đầu đặt ra.Tuy nhiên, chức chưa hoàn thiện sớm bổ sung hoàn chỉnh thời gian sớm Trong trình thiết kế thực đồ án khơng tránh khỏi sai sót, mong q thầy bạn thơng cảm có góp ý q báu nhằm hồn thiện cho sản phẩm Trang 26 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương Phần 4: TÀI LIỆU THAM KHẢO [1] Tơ Cẩm Tú, Nguyễn Huy Hồng (2003), Phân tích số liệu nhiều chiều Nhà xuất Khoa học Kỹ thuật [2] Hoàng Trọng & Chu Nguyễn Mộng Ngọc (2005), Phân tích liệu nghiên cứu với SPSS, tập Nhà xuất Thống kê [3] Hoàng Xuân Huấn (2015), Giáo trình học máy, Đại học Quốc gia Hà Nội [4] ZHOU Shuangxi (2015), University Teachers’ Performance Comprehensive Evaluation Based on Principal Component Analysis, Higher Education of Social Science, CSCanada [5] MengYi (2019), Application of Principal Component Analysis in Teaching Evaluation, Published by Francis Academic Press, UK [6] JMP 13 Multivariate Methods, Second Edition (2017) Cary, NC: SAS Institute Inc Trang 27 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương MỤC LỤC Phần MỞ ĐẦU 1 Lý chọn đề tài Mục tiêu đề tài Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu Phần NỘI DUNG NGHIÊN CỨU CHƯƠNG 1: ĐẶC ĐIỂM KỸ THUẬT YÊU CẦU KHÁCH HÀNG (CUSTOMER REQUIRE SPECIFICATION) .3 1.1 Giới thiêu tổng quát: .3 1.2 Các chức chi tiết: 1.2.1 Start: .3 1.2.2 Dừng trò chơi tạm thời bắt đầu lại: 1.2.3 Hiển thị gạch: 1.2.4 Dịch chuyển đảo gạch: 1.2.5 Tính điểm: 1.2.6 Level Finish: 1.2.7 GameOver: CHƯƠNG 2: MEMBER CLASS 2.1 Các Class thành viên : 2.2 Main class : 2.3 Game class : 2.3.1 Game Thread class : (inner class Main class) 2.3.2 Game Panel Class : (inner class Main class) .8 2.4 Configuration Class : .9 2.5 Figure Class : .10 2.5.1 Square Board Class : 11 2.5.2 SquareBoardComponent Class: (inner Class SquareBoard class) 13 2.6 UMLMap class 14 CHƯƠNG 3: GIAO DIỆN GAME 15 3.1 Bắt đầu: 15 3.2 Đang chơi : 16 3.3 GameOver : 17 3.4 Về đích : 18 3.5 Sơ đồ chức năng: 19 Phần KẾT LUẬN 20 Phần 4: TÀI LIỆU THAM KHẢO 23 Trang 28 Báo cáo tiểu luận GVHD: Nguyễn Văn Khương NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Giảng viên hướng dẫn Sinh viên thực (Ký ghi họ tên) (Ký ghi họ tên) Nguyễn Văn Khương ……………………………… Cán chấm Cán chấm (Điểm, Ký ghi họ tên) (Điểm, Ký ghi họ tên) ……………………………… ……………………………… Trang 29

Ngày đăng: 11/08/2023, 13:23

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan