1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo cáo thực tập cơ sở game caro

25 22 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Báo cáo thực tập cơ sở game caro
Tác giả Lê Thị Ý Nhi
Người hướng dẫn ThS. Đoàn Vũ Thịnh
Trường học Trường Đại học Nha Trang
Chuyên ngành Công nghệ Thông tin
Thể loại Báo cáo thực tập cơ sở
Năm xuất bản 2021
Thành phố Khánh Hòa
Định dạng
Số trang 25
Dung lượng 1,07 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cờ Caro là một Game trí tuệ đã rất quen thuộc với mỗi chúng ta. Với lối chơi đơn giản nhưng yếu tố trí tuệ lại rất cao nên Chơi Cờ Caro được rất nhiều người yêu thích đặc biệt là các bạn học sinh, sinh viên và dân văn phòng. Game Chơi cờ Caro không chỉ mang tính chất giải trí đơn thuần mà là một cuộc đấu trí vô cùng gay cấn. Trò chơi gồm 2 người chơi khác nhau và họ sẽ cố tìm cách chiến thắng đối thủ với số lần đánh hữu hạn. Nếu 1 trong 2 người thắng sẽ được cộng điểm, nếu đã đánh hết bàn cờ mà chứ phân thắng bại thì xem như hòa. Điều kiện để được xem là chiến thắng khi người chơi đánh đủ 5 ô liên tiếp theo chiều ngang, dọc và chéo.Game cờ caro được viết bởi rất nhiều ngôn ngữ nhưng ở đề tài này nó được mô phỏng theo ngôn ngữ C với sự hỗ trợ đắc lực từ winform. Ưu điểm của winform là giao diện khéo thả dễ học và sử dụng, hỗ trợ nhiều event như click, hover…Tốc độ xử lý dữ liệu nhanh và hiệu quả, chạy được trên nhiều phiên bản của Windows khác nhau.

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC TẬP CƠ SỞ

GAME CỜ CARO HAI NGƯỜI CHƠI BẰNG C#

Giáo viên hướng dẫn: ThS Đoàn Vũ Thịnh

Sinh viên thực hiện: Lê Thị Ý Nhi

Mã số sinh viên: 61130752

Khánh Hòa - 2021

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC TẬP CƠ SỞ

GAME CỜ CARO HAI NGƯỜI CHƠI BẰNG C#

GVHD: ThS Đoàn Vũ Thịnh SVTH: Lê Thị Ý Nhi

MSSV: 61130752

Trang 3

TRƯỜNG ĐẠI HỌC NHA TRANG

Khoa: Công nghệ Thông tin

PHIẾU THEO DÕI TIẾN ĐỘ VÀ ĐÁNH GIÁ BÁO CÁO THỰC TẬP CƠ SỞ Tên đề tài: GAME CỜ CARO HAI NGƯỜI CHƠI BẰNG C#

Giảng viên hướng dẫn: ThS Đoàn Vũ Thịnh

Sinh viên được hướng dẫn: Lê Thị Ý Nhi

MSSV: 61130752

Khóa: 61 Ngành: Công nghệ Thông tin

Lần Ngày Nội dung Nhận xét của GVHD

Nhận đề tài hướng dẫn và định hướng giải quyết vấn

đề Sinh viên trình bày kế hoạch thực hiện

Sinh viên và GVHD trao đổi nội dung của đề tài Phân chia công việc theo từng thời gian sao cho phù hợp với yêu cầu

Sinh viên trình bày việc mô phỏng thuật toán chính dựa trên kiến thức đã được học ở môn kỹ thuật đồ họa và các kiến thức thu nhận được từ Internet để minh họa bài toán

đa dạng nhất có thể

Sinh viên hiểu được vấn đề cần phải thực hiện và có giải pháp cho từng vấn đề cụ thể Tuy nhiên một vấn đề hoàn toán mới là sử dụng thư viện của chuột hay làm giao diện thì chưa làm lần nào nên cần đầu tư nhiều thời gian hơn

Sinh viên hoàn thiện các thuật toán đã đề ra với dữ liệu đầu vào được nhập từ bàn phím Trình bày thuật toán với các trường hợp sai

và chỉ ra được hướng khắc phục cho các trường hợp đó

Sinh viên hiểu nội dung của thuật toán khá chi tiết với các trường hợp hạn chế của thuật toán Việc lập trình cũng hoàn thành ở mức

độ nhập dữ liệu từ bàn phím bằng giao diện nhưng vấn đề với chuột thì chưa thực hiện được

5 28/01/2021 Sinh viên trình bày bản thảo Báo cáo lần này đã khắc phục được

Trang 4

phần phương pháp và kết quả chưa nổi bât, chưa có sự liên kết giữa các phần

Sinh viên nộp bản thảo lần cuối sau khi đã chỉnh sửa các yêu cầu như đã đề ra

Sinh viên nghiêm túc chỉnh sửa báo cáo theo định hướng của GVHD

Nhận xét chung (sau khi sinh viên hoàn thành ĐA/KL):

Sinh viên thực hiện tốt các yêu cầu của GVHD, trong quá trình thực hiện đề tài có

sự liên hệ chặt chẽ với GV Theo lịch hẹn Sinh viên đều có mặt để trình bày ý tưởng của các nội dung lần trước Trong quá trình hoàn tất báo cáo đều nỗ lực không ngừng mặc dù đang cao điểm của đợt thi học kỳ nhưng SV vẫn dành thời gian không ít cho TTCS

Về nội dung báo cáo đã thỏa mãn các yêu cầu của đề tài như trong đề cương Về kết quả chương trình đã minh họa được thuật toán Về các yêu cầu cao hơn như sử dụng thư viện của chuột hay minh họa các trường hợp nhược điểm của thuật toán thì chưa thực hiện thành công

Về hình thức của báo cáo và sản phẩm, báo cáo trình bày rõ ràng các mục tiêu, phương pháp, kết quả và thảo luận cho sản phẩm Còn về sản phẩm như đã trình bày có phần hạn chế

Điểm hình thức: … /10 Điểm nội dung: … /10 Điểm tổng kết: … /10

Đồng ý cho sinh viên: Được bảo vệ: Không được bảo vệ:

Khánh Hòa, ngày 26 tháng 12 năm 2021

Cán bộ hướng dẫn

(Ký và ghi rõ họ tên)

Trang 5

LỜI CAM ĐOAN

Tôi xin cam đoan mọi kết quả của đề tài “Game cờ Caro 2 người chơi bằng C#” là công trình nghiên cứu của cá nhân tôi và chưa từng được công bố trong bất cứ công trình khoa học nào khác cho tới thời điểm này

Khánh Hòa, ngày 26 tháng 12 năm 2021

Tác giả đồ án (ký và ghi rõ họ tên)

Trang 6

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN v

LỜI MỞ ĐẦU vi

Chương 1: TỔNG QUAN VẤN ĐỀ 1

Chương 2: CƠ SỞ LÝ THUYẾT 2

2.1 GIỚI THIỆU VỀ C# 2

2.2 WINFORM 2

Chương 3: THIẾT KẾ CHƯƠNG TRÌNH 3

3.1 MÔ TẢ CHƯƠNG TRÌNH 3

3.2 XÂY DỰNG CHƯƠNG TRÌNH 4

3.2.1 Giao diên chính chơi game 4

3.2.2 Tạo bàn cờ 5

3.2.3 Xử lý quân cờ sẽ đánh 6

3.2.4 Xử lý thắng thua 7

3.2.5 Đếm thời gian 12

3.2.6 Xử lý các tùy chọn người dùng 13

Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 16

4.1 KẾT LUẬN 16

4.2 HƯỚNG PHÁT TRIỂN 16

TÀI LIỆU THAM KHẢO 17

Trang 7

LỜI CẢM ƠN

Trong suốt thời gian thực hiện đề tài, tôi đã nhận được sự giúp đỡ của quý phòng ban trường Đại học Nha Trang, Khoa Công nghệ Thông tin nói chung và Bộ môn Kỹ thuật phần mềm nói riêng đã tạo điều kiện tốt nhất cho tôi được hoàn thành đề tài Đặc biệt là sự hướng dẫn tận tình của ThS Đoàn Vũ Thịnh đã giúp tôi hoàn thành tốt đề tài Qua đây, tôi xin gửi lời cảm ơn sâu sắc đến sự giúp đỡ này

Xin chân thành cảm ơn các quý thầy cô trong bộ môn Kỹ thuật phần mềm trong thời gian qua đã truyền đạt và trang bị cho em kiến thức giúp em hoàn thành tốt đề tài tốt nghiệp

Cuối cùng tôi xin gửi lời cảm ơn chân thành đến gia đình và tất cả bạn bè đã giúp

đỡ, động viên tôi trong suốt quá trình học tập và thực hiện đề tài

Khánh Hòa, ngày 22 tháng 06 năm 2021

Tác giả báo cáo (ký và ghi rõ họ tên)

Trang 8

LỜI MỞ ĐẦU

Hiện nay, game đang là một lĩnh vự nổi trội trong đời sống, game vừa giúp giải trí vừa giúp tập trung trí tuệ Điển hình game cờ Caro, một tựa game trí tuệ kinh điển với mọi lứa tuổi Game cờ Caro có lối chơi khá đơn giản, bạn chỉ cần 1 trang giấy trắng với các ô

li, mỗi người chơi sẽ chọn một kí tự để đánh, người chiến thắng sẽ là người đánh được 5 ô liên tiếp Trò chơi truy đơn giản nhưng đòi hỏi sự tính toán cản thận của người chơi để đưa

ra cách chơi hay nhất Theo sự phát triển của công nghệ, giờ đây game cờ caro đã được chơi trên điện thoại và máy tính Ở đề tài này, game cờ caro được viết bằng ngôn ngữ C# với sự hỗ trợ của winform C# là ngôn ngữ hướng đối tượng, đây là một loại ngôn ngữ lập trình hiện đại và khá mạnh mẽ được xây dựng trên nền tảng hai ngôn ngữ lập trình mạnh nhất là C++ và Java Với Winform hỗ trợ việc tạo giao diện dễ dàng và sinh động hơn

Game được xây dựng để người chơi có thể đánh cờ với nhau trên 1 bàn cờ nhất định,

có thể phân thắng bại và kèm theo một số chức năng cơ bản như: đếm thời gian để người chơi suy nghĩ, chơi lại game mới, quay lại bước trước, thoát game, tính điểm cho người chơi và đặt lại điểm Game có những ưu điểm như giao diện dễ nhìn, dễ chơi, đủ các tùy chọn, ngoài ra game vẫn còn 1 số nhược điểm cần khắc phục và các chức năng có thể phát triển thêm cho game

Trang 9

Chương 1: TỔNG QUAN VẤN ĐỀ

Cờ Caro là một Game trí tuệ đã rất quen thuộc với mỗi chúng ta Với lối chơi đơn giản nhưng yếu tố trí tuệ lại rất cao nên Chơi Cờ Caro được rất nhiều người yêu thích đặc biệt là các bạn học sinh, sinh viên và dân văn phòng Game Chơi cờ Caro không chỉ mang tính chất giải trí đơn thuần mà là một cuộc đấu trí vô cùng gay cấn Trò chơi gồm 2 người chơi khác nhau và họ sẽ cố tìm cách chiến thắng đối thủ với số lần đánh hữu hạn Nếu 1 trong 2 người thắng sẽ được cộng điểm, nếu đã đánh hết bàn cờ mà chứ phân thắng bại thì xem như hòa Điều kiện để được xem là chiến thắng khi người chơi đánh đủ 5 ô liên tiếp theo chiều ngang, dọc và chéo

Game cờ caro được viết bởi rất nhiều ngôn ngữ nhưng ở đề tài này nó được mô phỏng theo ngôn ngữ C# với sự hỗ trợ đắc lực từ winform Ưu điểm của winform là giao diện khéo thả dễ học và sử dụng, hỗ trợ nhiều event như click, hover…Tốc độ xử lý dữ liệu nhanh và hiệu quả, chạy được trên nhiều phiên bản của Windows khác nhau

Trang 10

Chương 2: CƠ SỞ LÝ THUYẾT

2.1 GIỚI THIỆU VỀ C#

C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội ngũ kỹ sư của Microsoft vào năm 2000, trong đó người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java

C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code

và Runtime Environment, cho phép chúng ta sử dụng các ngôn ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khác nhau C# với sự hỗ trợ mạnh mẽ của NET Framework giúp cho việc tạo một ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), trở nên rất dễ dàng

2.2 WINFORM

Winform là thuật ngữ mô tả một ứng dụng được viết dùng NET FrameWorrk và có giao diện người dùng Windows Forms Mỗi màn hình windows cung cấp một giao diện giúp người dùng giao tiếp với ứng dụng Giao diện này được gọi là giao diện đồ họa (GUI) của ứng dụng Là các ứng dụng windows chạy trên máy tính – mã lệnh thực thi ngay trên máy tính: Microsoft, Word, Excel, Access, Calculator, yahoo, Mail… là các ứng dụng Windows Forms

Ưu điểm nổi bật của winform là giao diện kéo thả dễ sử dụng; Gắn các event cho các button chỉ cần double click, lại hỗ trợ quá trời event như click, hover, …; Việc viết code cũng vô cùng trực quan: từ việc lấy text từ TextBox cho tới show dữ liệu bằng MessageBox, hoặc dùng Grid để kết nối SQL

Trang 11

Chương 3: THIẾT KẾ CHƯƠNG TRÌNH

3.1 MÔ TẢ CHƯƠNG TRÌNH

Luật chơi game cờ Caro:

+ Quân cờ trong game sẽ được biểu diễn bởi kí tự X/O

Hình 3.1 Kí tự XO trong cờ Caro

+ Khi bắt đầu game một bàn cờ với tỉ lệ 20 X 20 sẽ được tạo ra 2 người chơi

sẽ đều bắt đầu với số điểm là 0

+ Người đầu tiên đánh sẽ đánh ở ô bất kì trên bàn cờ sau đó người chơi khác sẽ đánh nhưng không được đánh trên ô đã được đánh

+ Quy tắc thắng: Nếu người chơi đánh đủ 5 ô theo chiều ngang, chiều dọc, chéo chính, chéo phụ Nếu ai thắng sẽ được cộng 1 điểm

+ Mỗi người chơi sẽ có 1 khoảng thời gian nhất định, sau khoảng thời gian đó

mà người chơi không đánh sẽ bị xử thua

Trang 12

Panel pnlBanco Chứa bàn cờ được vẽ

Lable lb_NC1/lb_NC2 Chứa tên người chơi

Panel pn_anh1/pn_anh2 Chứa ảnh đại diện cho người chơi

Trang 13

PictureBox Doinguoi Chứa hình kí tự tiếp theo người chơi sẽ

đánh, cũng đại diện cho người chơi tiếp theo sẽ đánh

Button btn_Gamemoi Tùy chọn game mới cho người chơi

Button btn_quaylai Tùy chọn quay lại cho người chơi

Button btn_datlai Tùy chọn đặt lại điểm cho người chơi Button btnthoat Tùy chọn thoát game cho người chơi Timer prcbDemgio Đồng hồ đếm thời gian để người chơi suy

Trang 14

3.2.3 Xử lý quân cờ sẽ đánh

Đối với game cờ Caro người chơi sẽ đánh với 2 kí tự X và O, game được cài sẵn người đánh O sẽ đánh trước, vấn đề ở đây là làm cách nào để đổi từ O sang X sau khi người chơi đã đánh và hiện kí hiệu tiếp theo sẽ đánh ở ô nhỏ bên dưới tay trái

+ Tạo 1 lớp người chơi để lưu thông tin của người chơi đó ở đây là hình (Hình 3.3)

Trang 15

+ Khi nhấn vào 1 ô cờ sẽ kiểm tra ô cờ có trống hay không nếu có thì background của ô cờ đó sẽ được gán bằng kí hiệu của người chơi đang đánh còn không thì không cho đánh

Trang 16

+ Xử lý hàng ngang: Kiểm tra từ vị trí vừa đánh sang bên phải và bên trái, nếu background giống nhau sẽ tăng 1, nếu 2 bên cộng lại đủ 5 thì thắng và cộng điểm, ngược lại thì bỏ qua

Trang 17

Hình 3.2.4.1 Thắng theo ngang

+ Xử lý hàng dọc: Kiểm tra trên và dưới vị trí đánh nếu giống với vị trí mình vừa đánh thì tăng 1 sau đó cộng lại nếu đủ 5 thì thắng và cộng điểm ngược lại bỏ qua

Trang 18

Hình 3.2.4.2 Thắng theo dọc

Trang 19

+ Xử lý chéo chính: Kiểm tra đường chéo chính của vị trí đánh nếu giống với

vị trí mình vừa đánh thì tăng 1 sau đó cộng lại nếu đủ 5 thì thắng và cộng điểm ngược lại bỏ qua

Hình 3.2.4.3 Thắng theo chéo chính

+ Xử lý chéo phụ: Kiểm tra đường chéo phụ của vị trí đánh nếu giống với vị trí mình vừa đánh thì tăng 1 sau đó cộng lại nếu đủ 5 thì thắng và cộng điểmXư ngược lại bỏ qua

Trang 20

Hình 3.2.4.4 Thắng theo chéo phụ

Trang 21

Ở đây ta dùng công cụ timer để bắt thời gian của sự kiện click và thuộc tính của công

cụ progressBar Ta dùng sự kiện tick của timer để nhảy thời gian đến khi giá trị đó lớn hơn giá trị max đc cài Nếu hết thười gian người chơi chưa đánh sẽ xử thua hoặc khi người chơi

đã đánh thì thời gian sẽ đc chạy lại

Hình 3.2.5 Thời gian

3.2.6 Xử lý các tùy chọn người dùng

Game mới: Khi người chơi chọn game mới thì sẽ xóa bàn cờ và tạo lại bàn cờ mới, thời gian cũng được đặt lại

Trang 22

Thoát: Khi người chơi nhấn vào thoát game chương trình sẽ đóng bằng phương thức Exit và bắt sự kiện Closing để hiện thông báo

Quay lại: Để biết được quần cờ nào đã được đánh phía trước ta khởi tạo 1 stack để lưu các quân cờ khi nó được đánh Điều này tiện cho khi người chơi muốn quay lại, ta chỉ cần kiểm tra nếu số lượng quân cờ trong stack lớn hơn 0 ta sẽ lấy vị trí từ quân cờ ra và xóa background của nó sau đó đổi lại người chơi, đổi ảnh

Trang 23

Đặt lại điểm: Khi này điểm của 2 người chơi sẽ đếu trả về 0

Hình 3.2.6 Tùy chọn người dùng

Trang 24

Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

4.1 KẾT LUẬN

Về cơ bản chương trình đã hoàn thiện được các tính năng cần có về 1 game cờ Caro Người dùng có thể sử dụng chương trình để chơi, game có thể phân thắng bại và các lựa chọn khác để người dùng chọn Game còn những ưu nên phát huy và nhược điểm cần điều chỉnh

Ưu điểm: Sử dụng C# dễ dàng hơn cho người dùng, giao diện sinh động hơn, trực quan hơn, … So với game khi được viết bằng C thì C# với giao diện dễ nhìn hơn và cách chươi cx đơn giản hơn so với những C

Nhược điểm: Game còn nhiều lỗi ẩn mà chưa thể fix, vì kiến thức còn hạn chế nên chưa thể làm được 1 game hoàn thiện hơn

4.2 HƯỚNG PHÁT TRIỂN

Hướng phát triển của game là có thể cho phép người chơi thay đổi tên người chơi,

kí hiệu đánh hoặc chọn tỉ lệ bàn cờ mà người chơi muốn như bàn cờ 3X3, 5X5… Tìm hiểu thêm kiến thức về AI và áp dụng để người chơi đấu với máy hay có thể sử dụng mạng LAN

để người dùng có thể chơi với nhau

Trang 25

TÀI LIỆU THAM KHẢO

[1] https://hoangphongdhhp.blogspot.com/2016/07/game-co-caro-viet-bang-c.html [2] https://www.youtube.com/watch?v=rnrNL1CT7TM&t=10s

Ngày đăng: 28/12/2022, 14:10

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w