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

(Tiểu luận) đề tài lập trình trò chơi cờ caro bằng ngôn ngữ c

29 33 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 29
Dung lượng 585,06 KB

Nội dung

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 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 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ừ khố 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 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

Ngày đăng: 20/09/2023, 15:11

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w