z
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
TRƯỜNG ĐẠI HỌC THÔNG TIN LIÊN LẠC
KHOA CÔNG NGHỆ THÔNG TIN
----------
BÀI TẬP LỚN
Môn học: LẬP TRÌNH JAVA
Tên đề tài: PHẦN MỀM AI LÀ TRIỆU PHÚ
Lớp: TH12A
Năm học: 2015 – 2016
KHÁNH HOÀ, THÁNG 10/2015
2
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
TRƯỜNG ĐẠI HỌC THÔNG TIN LIÊN LẠC
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN
Môn học: LẬP TRÌNH JAVA
Tên đề tài: PHẦN MỀM AI LÀ TRIỆU PHÚ
Lớp: TH12A
Năm học: 2015 – 2016
•
•
•
•
•
•
•
Danh sách thành viên thực hiện:
PHAN THỊ GIANG (Trưởng Nhóm)
NGUYỄN THỊ HUYỀN TRANG
NGUYỄN TRỌNG THẠCH
NGUYỄN HỮU QUỐC
LÊ ĐỨC HÙNG
TRẦN TÍN
KHÁNH HOÀ, THÁNG 10/2015
3
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
Lời Nói Đầu
"Ai là triệu phú" được chuyển thể từ phiên bản game phát trên VTV3 tối
thứ 3 hàng tuần và trở nên quen thuộc với tất cả mọi người. Cơ hội để ngồi trên
chiếc ghế nóng của VTV3 tại trường quay S9 là rất khó cho hầu hết mọi người,
tựa game này ra đời đã đáp ứng được yêu cầu đó.
Đây là một thể loại game chơi trên chính sự hiểu biết của bạn về tất cả
mọi vấn đề từ cổ chí kim, nhiều lĩnh vực trong cuộc sống với hình thức trả lời
câu hỏi trắc nghiệm khách quan 4 lựa chọn với 3 quyền trợ giúp: 50/50, gọi điện
thoại cho người thân, hỏi ý kiến khán giả trong trường quay và quyền ngưng
cuộc chơi ở mốc bất kỳ để bảo toàn số điểm thưởng đang có.
Với giao diện đồ họa sống động, âm thanh đa phương tiện với lời dẫn
chương trình thật của MC Lại Văn Sâm, đây thật sự là một phần mềm vừa chơi
vừa học thú vị nhất là cho các bạn học sinh – sinh viên dùng cho ôn luyện kiến
thức.
4
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
MỤC LỤC
5
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
CHƯƠNG I: CÁC CHỨC NĂNG CỦA PHẦN MỀM
1.1 Lược Đồ Phân Rả Các Model
1.2 Chi Tiết Kỹ Thuật Xử Lý Model
1.2.1 Module Thao Tác Với Cơ Sở Dữ Liệu
6
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
Chức năng đăng nhập:
Chức năng này sẽ được thực hiện khi người chơi khởi động trò chơi. Chức
năng này có nhiệm vụ lưu lại các thông tin về người chơi, bao gồm (Họ và tên,
Tuổi, Giới tính, Nghề nghiệp, Tình trạng hôn nhân, SĐT). Thực hiện kiểm tra
các thông tin đã đăng nhập vào với các bản ghi trong bảng tblInfo.
Nếu các thông tin nhập vào chưa có trong CSDL thì thực hiện lưu
những thông ti đó vào CSDL.
- Nếu các thông tin đó đã có trong CSDL thì không thực hiện lưu các
thông tin này nữa.
Chức năng nhập bộ câu hỏi:
-
Khi người chơi muốn nhập thêm các câu hỏi vào trong CSDL, người chơi
phải có một tài khoản (Tên đăng nhập, Mật khẩu) để đăng nhập (Tài khoản này
được nhà cung cấp cung cấp).
Nếu tài khoản đó có trong tblAdmin, sẽ có một form nhập câu hỏi
để người chơi thực hiện nhập câu hỏi. Chi tiết để nhập câu hỏi bao
gồm:
+ Nội dung câu hỏi
+ Mức (phạm vi từ 1 - 15).
+ Đáp án A + tỷ lệ chon đáp án này.
+ Đáp án B + tỷ lệ chon đáp án này.
+ Đáp án C + tỷ lệ chon đáp án này.
+ Đáp án D + tỷ lệ chon đáp án này.
+ Câu trả lời đúng.
- Nếu tài khoản đó không có trong tblAdmin thì đưa ra thông báo
“Tài khoản không tồn tại”.
Chức năng nhập bộ câu hỏi tự đông:
-
Chức năng này sẽ thực hiện lấy ngẫu nhiên một bộ câu hỏi(dưới 15 câu),
tùy thuộc vào yêu cầu , mỗi câu ở một mức khác nhau và bắt đầu từ khó đến
dễ(từ mức 15 trở xuống) để đưa ra bộ đệm.
Chức năng ghi danh:
Khi người chơi kết thúc trò chơi, tính số điểm đã đạt được (userMark).
Tính số bản ghi có trong tblScore. Nếu:
- Số bản ghi trong bảng này <10, thực hiện lưu điểm và tên người
chơi.
7
LẬP TRÌNH JAVA
-
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
Số bản ghi trong bảng >=10, tính điểm nhỏ nhất (minMark) được
lưu trong bảng tblScore. Nếu:
+ Điểm của người chơi (uerMark) lớn hơn điểm nhỏ
nhất(minMark) thì thực hiện thao tác:
Xóa bản ghi có điểm số nhỏ nhất.
Thêm một bản ghi về người chơi.
+ Ngược lại, không thực hiện gì cả và kết thúc trò chơi.
1.2.2 Module Chơi
Module này chủ yếu là dựa trên module thao tác với CSDL để xử lý và xử lý
giao diện người dùng.
Chức năng chọn câu trả lời:
Đưa ra các thao tác để người dùng có thể chọn được câu trả lời của mình.
Bao gồm:
- Thao tác với bàn phím: có thể chọn câu trả lời bằng cách nhấn một
trong các phím A,B,C hoặc D
- Thao tác với chuột: click chuột trái để chọn câu trả lời
Chức năng kiểm tra câu trả lời:
Chức năng này nhằm xác định sau mỗi câu hỏi người chơi có tiếp tục
chơi được nữa hay không. So sánh câu trả lời của người chơi với đáp án
lấy trong CSDL. Nếu:
- Trả lời đúng: cho hiển thị một số tính năng để người chơi trả lời
đúng.
- Trả lời sai: Thông báo cho người chơi biết đã trả lời sai và đưa ra
một thông tin để kết thúc trò chơi.
Chức năng trợ giúp:
Chức năng này để hiện thị các form trợ giúp cho người chơi. Nếu người
chơi chọn:
- Trợ giúp 50/50: Thực hiện ẩn hai đáp án. Chọn hai đáp án này bằng
cách lấy ngẫu nhiên hai trong ba đáp án sai bằng hàm random().
- Trợ giúp gọi điện cho người thân. Sẽ đưa ra một đáp án. Đáp án
này cũng được lấy theo hàm ngẫu nhiên, với tỷ lệ đáp án đưa ra
đúng phụ thuộc vào mức đang chơi.
+ Từ câu 1-5: Tỷ lệ đúng = 100%
+ Từ câu 6-10: Tỷ lệ đúng =80%
+ Từ câu 11-15: Tỷ lệ đúng là 60%.
8
LẬP TRÌNH JAVA
-
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
Trợ giúp hỏi ý kiến khán giả: Hiển thị frmStatistics hiển thị biểu đồ
tỷ lệ chọn các đáp án. Biểu đồ này dựa trên dữ liệu của câu hỏi
(trong bảng tblQuestion có 4 trường lưu tỷ lệ lựa chọn các đáp án
đó trên thực tế).
Chức năng điều khiển:
-
Trò chơi mới:
Trò chơi mới được đưa ra bằng cách sau: xác định người chơi. Sinh
tự động bộ dữ liệu 15 câu hỏi vào bộ đệm và bắt đầu thực hiện chơi
từ câu số 1.
-
Lưu trò chơi:
Chức năng này sẽ lấy các thông tin ở thời điểm hiện tại của người
chơi.Thực hiện lưu các thông tin đó vào một file(tên file do người
chơi điền), có phần đuôi mở rộng là *.altp.
File này sẽ lưu các thông tin về:
+ Các thông tin về người chơi.
+ Số câu hỏi đã trả lời được.
+ Trợ giúp 50/50.
+ Trợ giúp gọi điện cho người thân.
+ Trợ giúp hỏi ý kiến khán giả.
Mỗi thông tin trên sẽ được lưu vào một dòng.
Lưu ý, các sự trợ giúp ta chỉ lưu dưới dạng 0 hoặc 1. 0 với người đã
sử dụng sự trợ giúp đó, 1 ứng với chưa sử dụng sự trợ giúp đó.
-
Tải trò chơi:
Chức năng này thực hiện lấy lại các thông tin của người chơi lúc
chơi mà lúc trước đó đã lưu vào file có phần mở rộng *.alt.
Khi hoàn tất việc lấy các thông tin sẽ thực hiện sinh tự động bộ câu
hỏi còn lại (trong module thao tác với CSDL) và đưa ra màng hình
cho người chơi có thể tiếp tục trò chơi.
Chức năng xem bảng vàng:
Chức năng này thực hiện frmScore, hiện thị chi tiết bảng tblScore.
Chức năng xem lý lịch:
9
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
Chức năng này thực hiện hiển thị frmCV, hiển thị chi tiết lý lịch của người
đang chơi.
Sử dụng phím
Chọn câu trả lời
Sử dụng chuột
Trả lời đúng
Kiểm tra câu trả
lời
Trả lời sai
50/50
Gọi điện cho
người thân
Module chơi
Trợ giúp
Hỏi ý kiến khan
giả
Lượt chơi mới
Lưu trò chơi
Điều khiển
Tải trò chơi
Xem bảng vàng
1.3 Tài Liệu Thiết Kế Màn Hình
Tên chi tiết
Thiết kế màn
hình
10
Tên hệ thống Tên hệ thống Tên module
con
Xem lý lịch
Ngày tạo
Tác giả
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
1.Sơ đồ chuyển đổi giữa các màn hình:
From đăng nhập
From nhập lý
lịch người chơi
From chính
From trợ giúp hỏi
ý kiến khan giả
From xem lý lịch
From xem bảng
vàng
2.prototype:
3: Chi tiết:
11
From đăng
nhập câu hỏi
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
1.3.1 Màn Hình Đăng Nhập
Điều khiển
Thao tác
Button chấp nhận
Click
Button thoát
Click
12
Chức năng
Tìm kiếm tài khoản đã nhập
trong CSDL.
Thoát khỏi màn hình đăng
nhập.
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
1.3.2 Màn hình nhập câu hỏi:
Điều khiển
Thao tác
Button lưu
Click
Button nhập mới
Click
Button thoát
Click
13
Chức năng
Kiểm tra và lưu những thông tin vừa
nhập
vào
CSDL
trong
(bảng
tblQuestion).
Xóa những thông tin vừa nhập (bởi hàm
void int())
Thoát khỏi màn hình nhập câu hỏi.
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
1.3.3. Màn hình nhập lý lịch người chơi:
Điều khiển
Thao tác
Button bắt đâu chơi
Click
Button thoát
Picture
Click
Click
14
Chức năng
Lưu các thông tin người chơi, sau đó
mở màn hình chính để người chơi bắt
đầu chơi.
Thoát khỏi màn hình nhập lý lịch.
Tải hình từ người chơi từ ổ đĩa.
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
1.3.4. Màn hình chơi chính:
Điều khiển
Button trợ giúp 50/50
Button trợ giúp gọi điện
thoại cho người than.
Button trợ giúp hỏi ý kiến
khan giả.
Button đáp án A
Button đáp án B
Button đáp án C
Button đáp án D
Button tiếp
Button dừng
15
Thao tác
Click
Click
Click
Click
Click
Click
Click
Click
Click
Chức năng
Thuật toán sẽ tự động lấy 2 đáp án sai,
thực hiện cho ẩn 2 button đáp án sai đó.
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
CHƯƠNG II: GIAO DIỆN VÀ CÁC MODULE CỦA CHƯƠNG TRÌNH
2.1 Giao Diện Và Các Form Của Chương Trình
2.1.1 Form Đăng Nhập Hệ Thống
Form này xuất hiện đầu tiên khi mở chương trình
Form này có chức năng nhập thông tin người chơi chương trình
16
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
Sau khi điền đầy đủ thông tin và bấm vào nút ‘Bắt đầu chơi’ thì hệ thống sẽ
thông báo để người chơi biết.
2.1.2 Form Quản Lý Câu Hỏi
`
17
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
Sau khi đăng nhập thành công thì người quảng trị có thể thêm câu hỏi và lưu lại
2.1.3 Form Chính Của Chương Trình Ai Là Triệu Phú
18
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
2.1.4 Phân Công Nhiệm Vụ Của Từng Thành Viên Trong Nhóm
Phan Thị Giang (Nhóm Trưởng): viết báo cáo, demo phần mềm, thiết
kế form bắt đầu của chương trình.
Lê Đức Hùng: Tìm tài liệu ,Tổng hợp báo cáo, thiết kế form quản lý của
chương trình
Nguyễn Thị Huyền Trang: Tìm tài liệu, viết báo cáo, thiết kế form trò
chơi của chương trình
Nguyễn Trọng Thạch: Tìm tài liệu, trình bày báo cáo, thiết kế form xem
lý lịch của chương trình
Trần Tín: Tìm tài liệu, viết báo cáo, thiết kế form sự trợ giúp của chương
trình
Nguyễn Hữu Quốc: Tìm tài liệu, viết báo cáo, thiết kế form xem top 10
của chương trình
19
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
Nhận Xét Của Giáo Viên
…………………………………………………………………………………….
.
…………………………………………………………………………………….
.…………………………………………………………………………………..
…..………………………………………………………………………………..
…….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
………………………………………………………………………………….
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
…………………………………………………………………………………..
….
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
………………………………………………………………………………..….
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
………………………………………………………………………………..….
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
………………………………………………………………………………..….
……………………………………………………………………………………
……………………………………………………………………………………
20
LẬP TRÌNH JAVA
[PHẦN MỀM AI LÀ TRIỆU PHÚ]
……………………………………………………………………………………
………………………………………………………………………………
.
21