1. Trang chủ
  2. » Tất cả

assignment1_2

5 2 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Khoa khoa học kỹ thuật máy tính Bộ mơn Khoa học máy tính Mơn học: Kỹ thuật lập trình Bài tập lớn Bài Tập Lớn Phiên v1.00 Giới thiệu Game máy tính hay thiết bị di động trị chơi giải trí ưu chuộng mạnh, năm gần đây, mà thiết bị di dộng thông minh phát triển mạnh Tổng giá trị thị trường game Hàn Quốc 9.16 tỷ USD (tương đương 180 ngàn tỷ đồng), Nhật Bản, ước tính giá trị gấp lần Việt Nam có thị trường game non trẻ, nhiên bắt đầu hội nhập với số hãng game lớn xuất game thị trường giới, VinaGame ví dụ Ngồi ra, với tìm tịi, cá nhân tự viết game bán giới Flappy Bird vừa tạo cú hích mạnh mẽ làng game giới Với giao diện đơn giản, tác giả tiết lộ hoàn thành game buổi, hấp dẫn người chơi đứng đầu nhiều Store nhiều tháng liền, với doanh thu quảng cáo tiết lộ tương đương tỷ ngày Yêu cầu: Jewel trị chơi giải trí phổ biến nhiều thiết bị điện thoại, máy tính bảng máy tính Đây trị chơi mang tính giải trí, nhiên hấp dẫn người chơi Trong tập lớn này, sinh viên lập trình giả lập trị chơi với trạng thái game cho sẵn số thao tác người chơi Từ đó, chương trình tính điểm đạt người chơi trạng thái game tới thời điểm xác định Một số kiến thức sinh viên rèn luyện tập lớn này: - Cách sử dụng vòng lặp, for, while,… - Cách sử dụng phân nhánh if - Mảng, bao gồm mảng chiều nhiều chiều - Một số kiến thức liên quan khác Mô tả game Game Jewel có nhiều biến thể, nhiều quy ước khác Trong tập lớn này, sử dụng dạng đơn giản game Hình mô tả đồ trạng thái game với kích thước 8x8 Theo hình vẽ, đánh số hàng từ lên trên, đánh số cột từ trái sang phải hình vẽ; số hàng bên trái số cột hàng, Các chữ bên chữ đại diện cho ô tương ứng trạng thái game Với phiên đơn giản tập lớn này, người chơi cố gắng ăn nhiều điểm tốt Luật chơi sau: - Người chơi đổi chỗ viên chữ kề (kề cạnh) để cố gắng ăn điểm CuuDuongThanCong.com Trang Học kỳ II / 2013https://fb.com/tailieudientucntt 2014 Khoa khoa học kỹ thuật máy tính Bộ mơn Khoa học máy tính Mơn học: Kỹ thuật lập trình Bài tập lớn - Tình trạng ăn viên chữ, cộng điểm cho theo thứ tự ưu tiên từ cao tới thấp sau: A A B D F E F C E C E G C E E D E G F E G A E A A D C F D B F F E C D E D E G B D A G B G G A F F F A B E C A D C B D E F B D B Hình 1: Ví dụ đồ game + Trong trường hợp có đồng thời cách ăn điểm khác cho viên màu (chỉ xảy trường hợp ăn theo chiều ngang, trường hợp ăn theo chiều dọc) cộng điểm theo trường hợp viên điểm Ví dụ: ăn hàng ngang viên đồng thời hàng dọc viên tổng cộng viên tính viên điểm tổng cộng 28 điểm + Nếu viên kề thẳng hàng (ngang/dọc) chữ viên bị ăn, viên tính điểm, tổng cộng 20 điểm + Nếu viên kề thẳng hàng ngang/dọc chữ, viên bị ăn, viên tính điểm + Nếu viên kề thẳng hàng (ngang hay dọc) chữ, viên biến mất, đồng thời cộng điểm, tương ứng với viên tính điểm - Khi viên bị ăn, biến mất, viên theo cột bị rơi xuống để lấp đầy khoảng trống, rơi xuống ổn định, xảy trạng thái ăn điểm tiếp tục ăn điểm (dù khơng có tác động người chơi) - Người chơi di chuyển không hợp lệ (di chuyển không ăn điểm nào), trường hợp đó, viên đổi chỗ bị đưa lại vị trí cũ - Giả sử khơng có trường hợp viên thẳng hàng (ngang hay dọc) có chữ thời điểm ban đầu lúc load game lên chưa xảy trường hợp ăn điểm (khơng có hàng, cột thỏa mãn điều kiện ăn điểm mô tả trên) Mỗi có viên bị ăn, viên cột rơi xuống để lấp đầy khoảng trống, game thực viên chữ rơi xuống sinh ngẫu nhiên người dùng chơi thực tế Tuy nhiên, để đơn giản, tập lớn này, sinh viên rơi xuống tương lai lưu vào mảng (được nhập từ file) CuuDuongThanCong.com Trang Học kỳ II / 2013https://fb.com/tailieudientucntt 2014 Khoa khoa học kỹ thuật máy tính Bộ mơn Khoa học máy tính Mơn học: Kỹ thuật lập trình Bài tập lớn Chúng ta sử dụng đồ hình vng NxN (các dịng cột đánh số từ N1) hình chơi người chơi, để thuận tiện thêm nhiều hàng, đánh số từ N tới M để sinh sẵn viên rơi xuống Trong tập lớn này, giả sử rằng, lúc kết thúc chơi cột cịn viên chữ để rơi xuống, khơng gặp tình trạng hết viên chữ cột C Dữ liệu nhập/xuất 4.1 Dữ liệu nhập Dữ liệu nhập vào bao gồm nhập từ file (input.txt) nhập từ bàn phím Dữ liệu nhập từ file bao gồm số thơng tin sau: - Kích thước N mơ tả kích thước NxN game - M: kích thước chiều cao (M > N) - Mảng hai chiều MxN mô tả trạng thái ban đầu game hạt chữ rơi xuống cột tương lai, chữ chữ in hoa ABC Z, chữ viết cách khoảng trắng Để thuận lợi lưu trữ, đọc liệu từ file, mảng file lưu ngược theo số dòng, cụ thể dòng đầu lưu cho hàng 0, dòng lưu hàng 1, … Dữ liệu nhập trực tiếp từ bàn phím bao gồm sau: Thao tác người dùng, thao tác mô tả sau: XYT X, Y, T cách ký tự trống Trong đó, X, Y tọa độ dịng, cột viên chữ đổi, T viên chữ kề viên chữ tọa độ (X, Y) tráo đổi với T thuộc tập chữ (T, L, B, R) tương ứng với ô bên trên, trái, hay phải ô (X, Y) Giả sử liệu nhập với giá trị X, Y, T thỏa mãn thao tác hợp lệ (không khỏi viền NxN) Người dùng nhập -1 -1 A để kết thúc chơi Lúc kết xuất file bao gồm điểm trạng thái game theo mô tả phần 4.2 Dữ liệu xuất Sau thao tác chơi, trạng thái game xuất hình để người dùng chơi tiếp Để dễ nhìn, trạng thái game nên xuất hình 1, tức dòng trước, tới dòng 6,… Chú ý rằng, cách xuất ngược so với đọc liệu từ file, cách hồn tồn khơng ảnh hưởng tới Khi kết thúc chơi, chương trình xuất file output.txt số thơng tin sau: Dịng đầu: số nguyên số điểm mà người chơi đạt Ma trận NxN: mô tả trạng thái game tại, sau dòng cuối ma trận ký tự xuống dòng CuuDuongThanCong.com Trang Học kỳ II / 2013https://fb.com/tailieudientucntt 2014 Khoa khoa học kỹ thuật máy tính Bộ mơn Khoa học máy tính Mơn học: Kỹ thuật lập trình Bài tập lớn Mã ban đầu Sinh viên download file assigment1.zip từ trang Web mơn học Khi giải nén file này, có file sau: input.txt Một file input ví dụ output.txt Một file mô tả kết trả theo file input.txt jewel.cpp Chương trình khởi tạo Assignmen1.pdf File mơ tả nội dung tập lớn File input.txt file nhập mẫu mô tả phần File jewel.cpp chương trình khởi tạo, có số hàm, thành phần viết sẵn để hỗ trợ sinh viên hoàn thiện tập lớn Sinh viên thêm code hàm main, viết thêm số hàm cần thiết để hoàn thành tập lớn, nhiên, không phép chỉnh sửa, thay đổi tất hàm đặc tả viết sẵn, thêm bớt thư viện Để bắt đầu viết chương trình Visual Studio, sinh viên nên tạo Empty project add file jewel.cpp vào để bắt đầu lập trình Nộp Khi nộp bài, sinh viên sử dụng account cấp phát để nộp qua hệ thống Sakai Sinh viên nộp file jewel.cpp (tên file phải viết thường).File nộp phải file chương trình gốc, SINH VIÊN KHƠNG ĐƯỢC NÉN FILE KHI NỘP BÀI Sinh viên phải kiểm tra chương trình Microsoft Studio 10.0 trước nộp Thời hạn chót để nộp 16:00 thứ sáu ngày 04/04/2014 KHÔNG nhận gửi qua mail hình thức khác Bài nộp trễ KHÔNG nhận Để tạo điều kiện cho sinh viên, trước thời điểm nộp thức tuần tức 16:00 thứ sáu ngày 28/03/2014, nộp sinh viên thời điểm chấm thử sơ testcases lúc chấm thức kết cơng bố vào đầu tuần tiếp theo, sinh viên dựa vào kết chấm thử để điều chỉnh cho kết tốt lúc chấm thực Lưu ý: 1) Kết chấm sơ không tính vào điểm cuối cùng, nên dù kết chấm sơ cao điểm cuối có thấp tính kết điểm cuối 2) Đây hội tốt cho sinh viên nhằm hồn thiện làm mình, khơng nên bỏ quả, từ đó, sinh viên nên lập kế hoạch để làm từ sớm, không nên để tới tuần cuối bắt đầu Đối với tập lớn này, thời gian chạy tối đa cho testcase giây, CuuDuongThanCong.com Trang Học kỳ II / 2013https://fb.com/tailieudientucntt 2014 Khoa khoa học kỹ thuật máy tính Bộ mơn Khoa học máy tính Mơn học: Kỹ thuật lập trình Bài tập lớn testcase bảo đảm sinh viên làm quy trình thừa thời gian cho chương trình thực thi testcase Xử lý gian lận Bài tập lớn phải sinh viên TỰ LÀM Sinh viên bị coi gian lận nếu: - Có giống bất thường mã nguồn nộp Trong trường hợp này, TẤT CẢ nộp bị coi gian lận Do sinh viên phải bảo vệ mã nguồn tập lớn - Sinh viên khơng hiểu mã nguồn viết, trừ phần mã cung cấp sẵn chương trình khởi tạo Sinh viên tham khảo từ nguồn tài liệu nào, nhiên phải đảm bảo hiểu rõ ý nghĩa tất dòng lệnh mà viết KHƠNG CHẤP NHẬN BẤT KỲ GIẢI THÍCH NÀO VÀ KHƠNG CĨ BẤT KỲ NGOẠI LỆ NÀO! CuuDuongThanCong.com Trang Học kỳ II / 2013https://fb.com/tailieudientucntt 2014

Ngày đăng: 11/04/2022, 23:52

Xem thêm:

HÌNH ẢNH LIÊN QUAN

Hình 1: Ví dụ bản đồ game - assignment1_2
Hình 1 Ví dụ bản đồ game (Trang 2)
bài được gửi qua mail hoặc bất kỳ hình thức nào khác. Bài nộp trễ sẽ KHÔNG được nhận. Để tạo điều kiện cho sinh viên, trước thời điểm nộp bài chính thức đúng 1 tuần  tức 16:00  thứ  sáu  ngày  28/03/2014,  các  bài  nộp  của  sinh  viên  tại  thời  điểm   - assignment1_2
b ài được gửi qua mail hoặc bất kỳ hình thức nào khác. Bài nộp trễ sẽ KHÔNG được nhận. Để tạo điều kiện cho sinh viên, trước thời điểm nộp bài chính thức đúng 1 tuần tức 16:00 thứ sáu ngày 28/03/2014, các bài nộp của sinh viên tại thời điểm (Trang 4)

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

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

TÀI LIỆU LIÊN QUAN