ZAMYLA CHAN: Chúng ta hãy vui vẻ với Mười lăm. Mười lăm là game đầu tiên mà bạn nhận được để thực hiện và nó tương tác. Bây giờ, không phải lo lắng. Bạn không phải viết toàn bộ điều mình. Nhìn vào mã phân phối vì một rất nhiều cấu trúc trò chơi đã thiết lập cho bạn. Nó chấp nhận và phân tích một dòng lệnh lập luận từ người sử dụng và tạo ra một hội đồng quản trị dựa trên đầu vào đó. Nó sẽ kiểm tra nếu các trò chơi là giành chiến thắng và lối thoát hiểm một khi người dùng của chiến thắng. Và giành chiến thắng trong trò chơi, nó được đầu vào từ người sử dụng và gọi hàm di chuyển. Vì vậy, chúng ta sẽ được thực hiện bốn chức năng cho các trò chơi của mười lăm, init, vẽ, di chuyển, và chiến thắng. Đầu tiên, hãy giải quyết init. Trong init, cho khởi tạo, chúng tôi đại diện hội đồng quản trị trong một mảng số nguyên 2D. Và đây là một biến toàn cầu được gọi là hội đồng quản trị với kích thước MAX, MAX, kích thước tối đa của hội đồng quản trị. Bây giờ, kích thước thực tế của hội đồng quản trị được đưa ra bởi người sử dụng, đại diện trong d số nguyên, mà có thể ít hơn MAX. Tuy nhiên, trong C, bạn có thể thay đổi kích thước mảng không, do đó, bạn đang mắc kẹt với rằng kích thước tối đa. Công việc của bạn trong init là để cư các giá trị của hội đồng quản trị với giá trị chính xác. Bây giờ, chúng tôi đã nhìn thấy mảng 1D, nhưng làm thế nào để các mảng 2D làm việc? Có một chỉ số của hàng, số không lập chỉ mục như mọi khi, và sau đó cũng của cột. Và bạn sẽ điền vào mạng lưới của bạn trong trong giảm dần giá trị, chỉ cần như thế này. Lưới, 0, 0, 0 hàng, cột 0, 8, lưới 0, 1 là 7. Đây là một ví dụ nơi d, ít d, là 3. Bây giờ, hội đồng quản trị trong mười lăm cũng phải chứa một gạch trống, nếu bạn đã bao giờ chơi với các trò chơi thể chất. Nhưng, hội đồng quản trị là một mảng số nguyên, do tất cả các giá trị phải là số nguyên. Vì vậy, nó là vào bạn để quyết định một số nguyên giá trị để đại diện cho một gạch trống. Để khởi tạo bảng của bạn, bạn có thể sử dụng cấu trúc vòng lặp để chứa bắt đầu từ trạng thái bảng, nơi hội đồng quản trị i j đại diện cho phần tử ở i hàng và cột j. Họ bắt đầu trong thứ tự giảm dần và, nhớ rằng, nếu số lượng gạch là số lẻ, sau đó bạn sẽ phải trao đổi vị trí của 2 và 1. Do đó, chúng tôi có của chúng tôi hội đồng quản trị khởi tạo. Bây giờ, chúng ta đã khởi tạo của chúng tôi hội đồng quản trị, đó là thời gian để vẽ nó. Lễ bốc thăm sẽ in ra trạng thái hiện tại của hội đồng quản trị, nhưng bạn cần phải chắc chắn in gạch theo thứ tự mà bạn đã khởi tạo chúng. Và bạn cũng cần phải định dạng con số của bạn một cách chính xác. Bởi vì chúng tôi có thể có một con số và hai con số, sau đó bạn muốn in một không gian trống trước bất kỳ chữ số duy nhất. Bạn sử dụng bằng cách sử dụng giữ chỗ -. Nhưng hãy nhớ không gian trống của chúng tôi. Chúng tôi không muốn in số lượng thực tế mà chúng tôi đã chọn để đại diện không gian trống trong hội đồng quản trị, nhưng chúng tôi cũng không muốn in không có gì cả. Vì vậy, những gì bạn có thể làm là xác định một biểu tượng hoặc ký tự đại diện cho gạch trống. Trong ví dụ trước tôi đã chọn một gạch dưới, và sau đó bạn chỉ cần in bất cứ khi nào bạn đạt đến trống không gian trong chức năng vẽ của bạn. Vì vậy, vẽ sẽ lồng nhau cho các vòng. Một cái gì đó như thế này. Cho mỗi hàng, và sau đó cho mỗi giá trị trong hàng, bạn sẽ in giá trị trong không gian này. Một khi bạn đã in tất cả các giá trị trong hàng, sau đó bạn có thể in một dòng mới. Hãy nhớ rằng để cho hòa của bạn chức năng phải vang hoặc phản ánh thứ tự trong chức năng khởi tạo của bạn. Bây giờ bạn khởi tạo bảng và rồi bạn đã vẽ nó, đó là thời gian để cho người sử dụng chỉnh sửa nó và làm cho di chuyển của họ. Vì vậy, trong các chức năng Fifteen.c, các chương trình có đầu vào từ người sử dụng và sau đó gọi chức năng di chuyển, đi qua số lượng gạch mà người dùng muốn di chuyển. Bây giờ, hãy cẩn thận. Đây là con số thực tế của ngói và không thực tế vị trí của nó. Vì vậy, bạn sẽ cần phải tìm kiếm cho ngói của vị trí để biết nó ở đâu. Bây giờ, bạn chỉ nên cho phép người sử dụng để thực hiện một di chuyển nếu đó là hợp pháp. Một động thái pháp lý là bất kỳ gạch đó là tiếp giáp với gạch trống. Điều đó có nghĩa, trên và dưới, để bên trái và bên phải. Vì vậy, bạn sẽ cần phải biết gạch trống là tốt. Bây giờ, cho mỗi bước di chuyển bạn đang tìm kiếm ngói người sử dụng, nhưng nó có thể là không tốt nhất để tìm kiếm các ngói trống mỗi lần bởi vì bạn đang làm việc đó mỗi lần duy nhất các người dùng muốn di chuyển. Vì vậy, thay vào đó, nó là tốt nhất để ghi nhớ gạch trống được sử dụng một số cũng được đặt tên biến. Vì vậy, một khi bạn cho phép người dùng để làm cho họ di chuyển, họ đang trên của họ cách để chiến thắng trò chơi của Mười lăm. Để giành chiến thắng trong trò chơi của mười lăm, gạch phải theo một thứ tự cụ thể, và chức năng giành kiểm tra xem trò chơi là giành chiến thắng. Nó trả về True nếu trò chơi là giành chiến thắng và gạch là đúng trình tự, và sai khác. Vì vậy, để giành chiến thắng trong trò chơi của mười lăm, gạch phải được thứ tự tăng dần, với sự gạch trống ở góc dưới bên phải. Vì vậy, làm thế nào để bạn kiểm tra xem người sử dụng đã di chuyển bảng vào bên phải định hướng? Vâng, bạn sẽ lặp qua hội đồng quản trị và kiểm tra các giá trị để đảm bảo rằng họ đang ở đúng nơi. Để làm điều này, bạn có thể sử dụng lồng nhau cho các vòng giống như bạn đã làm trong trận hòa và trong init. Có một vài cách để kiểm tra và xác nhận cho dù hội đồng quản trị là chính xác và một chiến thắng hình thành, mặc dù. Nếu bạn đi từ trái sang phải, bắt đầu từ hàng trên xuống, sau đó mỗi số phải lớn hơn trước đó. Hãy cẩn thận về những gì bạn đã đánh giá chọn cho ngói trống của bạn mặc dù. Hoặc bạn có thể sử dụng một biến ngược lại đảm bảo rằng mỗi giá trị được đặt ra, nếu bạn đi lên với một số loại công thức để đại diện cho điều này. Vì vậy, vui chơi thử nghiệm với toán học. Một khi bạn đã tìm ra một cách, trở lại Đúng khi người dùng đã thắng. Nhưng nếu có giá trị là không chính xác, trở lại Sai, người sử dụng phải tiếp tục di chuyển bởi vì họ đã không thắng. Một khi bạn thực hiện việc kiểm tra này, và cùng với khởi tạo, vẽ, và di chuyển, bạn đã hoàn thành trò chơi của Mười lăm. Xin chúc mừng và có chơi vui vẻ. Tên tôi là Zamyla và đây là CS50.