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

Xây dựng hệ thống phần mềm soạn thảo câu đố chữ và trò chơi ô chữ

31 571 2

Đ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 31
Dung lượng 896 KB

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

Nội dung

Xây dựng hệ thống phần mềm soạn thảo câu đố chữ và trò chơi ô chữ

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÀI TẬP LỚN

MÔN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Đề tài : Xây dựng hệ thống phần mềm soạn thảo câu đố chữ và trò chơi ô chữ.

Sinh viên thực hiện :

Page 0

Trang 2

MỤC LỤC

Phần I Tổng quan về các vấn đề liên quan, mô tả yêu cầu bài toán 3Phần II Phân tích thiết kế mức kiến trúc

Phần III Thiết kế chi tiết

Phần IV Kết luận và đánh giá

4.2 Kết quả chương trình minh họa

4.2.1 Kết quả chính đạt được trong chương trình 20

Trang 3

LỜI NÓI ĐẦU

Trong xu hướng lập trình ngày nay, xu hướng lập trình hướng đối tượng đã

và đang có một vị thế rất lớn Thông qua nền tảng lý thuyết chặt chẽ cùng những ứng dụng từ việc áp dụng hướng đối tượng vào phân tích thiết kế và xây dựng sản phẩm phần mềm đã cho thấy tính linh hoạt và hiệu quả của hương pháp này

Hiện nay, Kỹ thuật lập trình hướng đối tượng đã trở thành một môn học chính thức không thể thiếu đối với các trường ĐH Công nghệ thông tin nói chung

và Viện CNTT- ĐHBKHN nói riêng Việc đưa nó thành một môn học bắt buộc đốivới sinh viên CNTT ngay từ đầu giúp cho sinh viên có điều kiện nắm bắt và tìm hiểu sớm, có những cái nhìn tích cực đầu tiên đối với xu hướng lập trình này

Để kiểm tra sự tiếp thu của bản thân về kiến thức lập trình hướng đối tượng thông qua các bài giảng trên lớp bởi sự truyền đạt của các thầy cô, qua việc tìm hiểu các tài liệu liên quan, cũng là để tăng kỹ năng lập trình hướng đối tượng trên

một ngôn ngữ hỗ trợ , chúng em đã chọn đề tài : “Xây dựng hệ thống phần mềm

soạn thảo câu đố chữ và trò chơi ô chữ” làm đề tài bài tập lớn cho môn học.

Bài tập lớn hoàn thiện được nhờ sự giúp đỡ nhiệt tình về mặt kiến thức cũng như kinh nghiệm từ phía thầy Cao Tuấn Dũng, người trực tiếp giảng dạy môn học, cùng với đó là sự chia sẻ của rất nhiều thành viên khác trong lớp và sự nỗ lực của các thành viên trong nhóm Nhưng còn nhiều thiếu sót vẫn là điều không thể tránh khỏi đối với kết quả BTL này Rất mong nhận được thêm nhiều sự góp ý của cô giáo cùng các bạn để đề tài này có thể phát triển ở mức cao hơn

Em xin chân thành cảm ơn

Hà Nội ngày 23 tháng 4 năm 2011 Các thành viên trong nhóm

Đoàn Hồng Thái

Đỗ Văn Kiên

An Đình Luận Phạm Anh Đức

Page 2

Trang 4

PHẦN I TỔNG QUAN VỀ CÁC VẤN ĐỀ LIÊN QUAN, MÔ TẢ YÊU CẦU

BÀI TOÁN

Trò chơi ô chữ là trò chơi được nhiều người chúng ta biết đến thông qua một

số gameshow như “Đường lên đỉnh Olympia” hay tại các mục giải trí của một vài

 Giao diện soạn thảo câu đố trực quan, dễ thao tác, các câu đố dễ dàng

di chuyển để tạo cảm giác bắt mắt dành cho người chơi

 Người chơi game được quyền chọn chủ đề và hệ thống câu đố tương ứng để giải đố, quá trình chơi được giới hạn về mặt thời gian Mục điểm thưởng dành cho trò chơi sẽ thay đổi tùy thuộc vào việc sử dụng gợi ý của người chơi

 Tính điểm dựa theo thời gian trả lời câu hỏi của người chơi

PHẦN II PHÂN TÍCH THIẾT KẾ MỨC KIẾN TRÚC

2.1 Biểu đồ use case tổng quát

Trang 5

Người chơi có thể soạn thảo trò chơi và chơi trò chơi.

+ Các Use case chính : Chơi Game và Soạn Game.

2.2Mô tả các Use case.

Use case : SOẠN GAME

Trong use case này, thao tác chính đó là soạn thảo các câu hỏi, bao

gồm các bước :

+ Nhập nội dung ô chữ+ Nhập gợi ý cho ô chữ (3 gợi ý nếu là ô hàng ngang và 1 gợi ý nếu là

ô khóa của trò chơi)

+ Di chuyển ô chữ đến vị trí mong muốn để tạo khung trò chơi + Lựa chọn chủ đề cho màn chơi mà mình soạn thảo để dễ dàng lựa chọn khi chơi game Nhập thông tin về người soạn game

+ Lưu lại kết quả soạn thảo Trở về giao diện chính của trò chơi

Page 4

Trang 6

Người soạn thảo

Trang 7

Use case : Chơi Game

Trong use case này, các thao tác cần thực hiện đó là :

+ Lựa chọn chủ để ô chữ+ Lựa chọn màn chơi ứng với chủ đề

+ Lựa chọn hàng ngang để trả lời+ Hiện các gợi ý cho từng ô chữ+ Hiển thị thời gian cho màn chơi và cho từng ô chữ+ Nhập câu trả lời, xác nhận câu trả lời

+ Cộng điểm nếu nhận được câu trả lời đúng+ Kiểm tra kết quả của người chơi có lọt vào top điểm cao hay không?Nếu người chơi lọt vào danh sách điểm cao, thực hiện lưu thông tin người chơi

+ Kết thúc màn chơi, trở về giao diện chính

Page 6

Trang 8

=8 <8

Kiểm tra điểm số xem

có thuộc top 5 không?

Lưu thông tin Kết thúc trò chơi

Yes

No Sai từ khóa

Trang 9

2.3 Biểu đồ trình tự

Phần Soạn Game :

Page 8

Trang 10

Thao tác chính của phần này là việc tạo hệ thống ô chữ với các gợi ý tương ứng đi kèm Nó được mô tả như biểu đồ dưới :

Trang 11

Việc thay đổi thông tin 1 ô chữ được mô tả như sau :

Page 10

1 : lua chon hang ngang

2 : Thay doi thong tin

3 : Chap nhan thay doi

4 : Ket thuc

5 : Xoa hang ngang

6 : Chap nhan xoa

7 : ket thuc

Trang 12

Phần chơi Game:

PHẦN III

Trang 13

THIẾT KẾ CHI TIẾT

3.1 Giới thiệu các lớp chính của trò chơi :

 Access : truy xuất đến cơ sở dữ liệu

 Trò chơi: giao diện chính

 Luật chơi: lưu luật chơi

 Chơi game : giao diện chơi game, có sử dụng timer tính thời gian chơi

 Soạn game: giao diện soạn game, có kéo thả tạo giao diện ô chữ khi chơi

 Điểm cao: lưu điểm của 5 người cao nhất

Hình ảnh toàn bộ lớp của chương trình

3.2 Mô tả chi tiết một số lớp chính:

Lớp Access:

Page 12

Trang 14

Thuộc tính, phương thức Mô tả

excuteNonQuery() Truy vấn câu lệnh SQL không có giá trị trả

về:update, insert, delete

SqlDataReader

SqlConnection

Trang 15

Lớp TroChoi:

Page 14

Trang 16

Lớp SoanGame:

Trang 17

Thuộc tính, phương thức Mô tả

Page 16

Trang 18

bntChonHangNgang Nút họn để tạo ô chữ hàng ngang

strHangNgang

strTuKhoa

bntChonHangNgang_Click() Xử lý sự kiện chọn hàng ngang

bntThemChuDe_Click() Xử lý sự kiện chọn thêm chủ đề

picBoxHangNgang1_MouseDown() Xử lý sự kiện khi Click chuột

picBoxHangNgang1_MouseUp() Xử lý sự kiện khi thả chuột

picBoxHangNgang1_MouseMove() Xử lý sự kiện khi di chuyển chuột

Trang 19

Lớp ChoiGame:

Page 18

Trang 20

Thuộc tính, phương thức Mô tả

strHangNgang[,] Biến lưu câu trả lời hàng ngang

timer1_tick() Tính thời gian cho một hàng ngang

timerThoiGianTong_tick() Tính thời gian cho toàn bộ phần chơirbtnHang1_CheckChanged() Bắt sự kiện hàng được chọn trả lời

3.3 Thiết kế cơ sở dữ liệu

Sử dụng SQL 2005 để lưu cở dữ liệu của game, trữ các ô chữ do người dùng tạo

ra, lưu trữ điểm cao, từ khóa, các gợi ý…cụ thể lưu thành 4 bảng như sau:

 Bảng “ChuDe” lưu các chủ đề của game

 Bảng “DiemCao”

 Bảng “HangNgang” lưu các ô chữ của hàng ngang và các gợi ý của nó

 Bảng “Từ Khóa” lưu các từ khóa và gợi ý cho từ khoá

Khi bắt đầu chơi, người chơi chọn “Chơi Game” thì chương trình sẽ gọi

đến lớp dữ liệu và thực hiện nhiệm vụ Load Game, sau khi thực hiện chức năng này xong thì sẽ trả về 1 đối tượng Game đầy đủ thông tin để người chơi thực hiện giao tiếp với đối tượng game này

Trang 21

Khi soạn thảo, người chơi chọn “Save Game” thì chương trình sẽ gọi đến

lớp dữ liệu và thực hiện nhiệm vụ Save Game (tất nhiên phải truyền cho lớp dữ liệu đối tượng Game), lớp dữ liệu sẽ thực hiện nhiệm vụ ghi các thông tin của màn chơi vừa soạn thảo bởi người dùng ra các bảng tương ứng của cơ sở dữ liệu dựa vào các phương thức truy vấn

Có một số chú ý trong quá trình soạn thảo Game như sau:

o Khi chọn chủ đề màn chơi, mà chủ đề này chưa có, người soạn thảo sẽ

có thể tạo ra chủ đề mới, và khi đó 1 thư mục dữ liệu mới sẽ được tạo

ra, tất nhiên là phải kiểm tra xem chủ đề tạo mới đã tồn tại hay chưa, nếu đã tồn tại thì không thể tạo mới nữa

o Khi nhập tên màn chơi và chủ đề màn chơi, tất nhiên là tên màn chơi này phải chưa tồn tại trong chủ đề được chọn

Khi bắt đầu chơi, người chơi chọn “Chơi Game” thì chương trình sẽ gọi

đến lớp dữ liệu và thực hiện nhiệm vụ Load Game, sau khi thực hiện chức năng này xong thì sẽ trả về 1 đối tượng Game đầy đủ thông tin để người chơi thực hiện giao tiếp với đối tượng game này

Khi soạn thảo, người chơi chọn “Save Game” thì chương trình sẽ gọi đến

lớp dữ liệu và thực hiện nhiệm vụ Save Game (tất nhiên phải truyền cho lớp dữ liệu đối tương Game), lớp dữ liệu sẽ thực hiện nhiệm vụ ghi các thông tin của màn chơi vừa soạn thảo bởi người dùng ra file *.txt, và tạo 1 file *.txt chứa thông tin HighScore tương ứng (file này khi đó chưa có dữ liệu gì cả)

Có một số chú ý trong quá trình soạn thảo Game như sau:

o Khi chọn chủ đề màn chơi, mà chủ đề này chưa có, người soạn thảo sẽ

có thể tạo ra chủ đề mới, và khi đó 1 thư mục dữ liệu mới sẽ được tạo

ra, tất nhiên là phải kiểm tra xem chủ đề tạo mới đã tồn tại hay chưa, nếu đã tồn tại thì không thể tạo mới nữa

o Khi nhập tên màn chơi và chủ đề màn chơi, tất nhiên là tên màn chơi này phải chưa tồn tại trong chủ đề được chọn

Page 20

Trang 22

PHẦN IV KẾT LUẬN VÀ ĐÁNH GIÁ

4.1 Công nghệ và thuật toán

Trước tiên đó là việc lựa chọn ngôn ngữ, đây là yếu tố đầu tiên làm nền

tảng cho việc vận dụng các công nghệ và thuật toán sau này một cách hợp lý và hiệu quả nhất Sau khi thống nhất, nhóm đã lựa chọn ngôn ngữ C# để thực hiện việc triển khai đề tài Đây là ngôn ngữ lập trình thuần hướng đối tượng, trong sáng,

dễ nắm bắt, thích hợp với yêu cầu triển khai đề bài Hơn thế nữa, việc sử dụng C#

để xây dựng bài tập lớn sẽ ổn định, dễ nâng cấp và có độ tin cậy cao Trong suốt quá trình thực hiện bài tập lớn, các modun chương trình được tối đa hóa việc sử dụng các hàm có sẵn của C#, đặc biệt là trong việc thiết kế giao diện chương trình Bên cạnh đó là các hàm được dùng để xử lý việc lưu trữ thông tin soạn thảo, xử lý cho ô chữ… ( đây là các tiện ích nằm trong gói System.Data,

Trong bài tập lớn này, 1 nguyên lý khá quen thuộc đối với lập trình hướng

đối tượng đã được nhóm sử dụng đó là nguyên lý kế thừa Nguyên lý này đã được

trình bày khá kỹ càng trong những giờ học OOP trên lớp, vì vậy nhóm xin phép không nhắc lại kiến thức lý thuyết của nó Ở bài tập lớn này, sự thể hiện của việc vận dụng nguyên lý trên là việc tạo các Form nhờ kế thừa lớp Form có sẵn trong C#

Sử dụng lớp System.Drawing.Graphics để tạo các ô chữ, và bắt sự kiện để dichuyển các ô chữ đấy

Sử dụng kết nối cơ sở dữ liệu với SQL Server 2005

4.2 Kết quả xây dựng chương trình minh họa

4.2.1 Những kết quả chính đạt được trong chương trình

Trang 23

Với những yêu cầu thu được từ yêu cầu đề bài cũng những phân tích để xây dựng mô hình bài toán, quá trình xây dựng chương trình minh họa về cơ bản đã thểhiện được các yêu cầu chính cần phải làm.

Các thành phần chức năng chính mà chương trình minh họa đã làm làm được :

o Cho phép người dùng tự mình soạn thảo hệ thống ô chữ theo chủ đề tùy ý

o Có sự thay đổi nhỏ so với yêu cầu đề bài, thay vì đặt khóa theo hàng dọc, ô chữ làm khóa của trò chơi sẽ được tách riêng thành một hàng ngang đặc biệt

o Cho phép người chơi lựa chọn chủ đề chơi mà màn chơi tương ứng để chơi game

o Người chơi có thể thực hiện giải đố theo luật chơi đã công bố, dưới sự giới hạn của 1 đối tượng thời gian chơi

4.2.2 Giao diện chương trình

Giao diện khi bắt đầu chương trình:

Để người chơi click vào luật chơi để xem luật

Page 22

Trang 25

Click vào Soạn Game để tạo ô chữ với giao diện:

Ở đây người chơi chọn chủ đề có sẵn để tạo game, hoặc có thể thêm chủ đề mới Sau đó chọn từ khóa, nhập gợi ý cho từ khóa và click chuột vào nút :Chọn Từ Khóa

Sau khi chọn xong từ khóa người chơi chọn các ô chữ hàng ngang để nhập các từ hàng ngang Lần lượt nhập gợi ý cho các từ hàng ngang này Các từ hàng ngang cần có nội dung hướng đến từ khóa chính của màn chơi

Chú ý: người chơi chỉ có thể làm theo trình tự này vì:

-Trước khi tạo xong từ khóa thì các thao tác với hàng ngang đều bị disable

Page 24

Trang 26

-Khi chưa nhập đủ các gợi ý mà kết thúc soạn thảo cho ô chữ thì chương trình sẽ không cho phép tiếp tục và bắt nhập đủ.

Sau khi điền đầy đủ các từ hàng ngang người chơi chọn Lưu

Chú ý:

Phải điền đầy đủ 8 hàng ngang người chơi mới có thể Lưu

Trang 27

Trong quá trình soạn ô chữ hàng ngang người chơi có thể kéo thả các ô chữ đến các vị trí mong muốn để tạo giao diện khi chơi.

Người chơi game sẽ click vào nút chơi game để bắt đầu chơi

 Lần lượt chọn chủ đề và màn chơi Click Chọn để load về giao diện game

 Sau đó người chơi lần lượt chọn các ô chữ hàng ngang để trả lời.Mỗi từ hàng ngang người chơi sẽ có 30 giây trả lời và sau mỗi 10 giây sẽ có thêm một gợi ý được hiện ra

 Nếu trả lời đúng, ô chữ hàng ngang sẽ được mở và điểm của người chơi sẽ được cộng tùy theo thời gian trả lời nhanh, chậm

 Nếu trả lời sai ô chữ hàng ngang sẽ bị bôi đen

 Khi còn 50 giây gợi ý của từ khóa sẽ hiện ra và người chơi sẽ dễ dàng hơn trong trả lời từ khóa

Page 26

Trang 28

 Nếu số điểm người chơi thuộc top 5 người cao điểm nhất chương trình sẽ hiện giao diện yêu cầu người chơi nhập thông tin để lưu vào dữ liệu

highscore

Trang 29

Click vào thoát để ra khỏi trò chơi.

4.3 Kết luận và hướng phát triển

 Sau một thời gian thiết kế và xây dựng chương trình, kết quả mà nhóm thuđược đó là một chương trình phần mềm mô tả được cơ bản các yêu cầu của

đề bài.Thông qua đây, các thành viên trong nhóm đã có cơ hội tiếp cận sâuhơn với việc thực hành thiết kế xây dựng 1 chương trình theo phương pháphướng đối tượng Tập khả năng tư duy tìm tòi và sáng tạo trong việc xử lýcác tình huống của đề bài Tuy vậy vẫn còn những yêu cầu chưa thực hiệnđược trong sản phẩm lần này, ví dụ như chưa có thao tác cho phép ngườichơi cấu hình kiểu chơi (dọc, ngang, chéo…), chưa có nhiều cấp độ cho mỗimàn chơi…

 Hướng phát triển tiếp theo:

o Để phát triển ứng dụng Online ta có thể lưu dữ liệu của ứng dụng lênDatabase, mọi Client có thể truy cập đến và chơi được trò chơi

o Mở rộng màn chơi ra nhiều cấp độ, tăng dần theo độ khó hoặc độphức tạp của từ khóa

o Mở rộng về số hàng ngang được dùng trong mỗi màn chơi, có thể dongười tạo game tự chọn

o Người chơi có thêm lựa chọn tự cấu hình cho trò chơi để tăng sự thú

vị ( giải đố theo hàng ngang, hàng dọc hoặc hàng chéo…)

Page 28

Trang 30

o Có thể phát triển thêm về giao diện chương trình cho thân thiện hơn.

4.4 Phân công công việc trong nhóm

Trang 31

Tài liệu tham khảo

1 Các bài giảng về lập trình hướng đối tượng trên lớp

2 Cac_giai_phap_lap_trinh_C#

3 Các Video hướng dẫn học C#

4 CSharp Yellow Book 2010-Rob Miles

Page 30

Ngày đăng: 18/11/2015, 16:16

HÌNH ẢNH LIÊN QUAN

Hình ảnh toàn bộ lớp của chương trình - Xây dựng hệ thống phần mềm soạn thảo câu đố chữ và trò chơi ô chữ
nh ảnh toàn bộ lớp của chương trình (Trang 13)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w