Phân tích và làm ứng dụng “Ai là triệu phú”

Chào tất cả các bạn.

Thời gian vừa qua, các bạn đã cùng với mình tìm hiểu về:
+ Ngôn ngữ Objective-C
+ Ứng dụng hỗ trợ lập trình Xcode, trong đó chúng ta cũng đã biết được những đối tượng cơ bản. (Mình sẽ không nhắc lại ở đây)

Những đối tượng trông đơn giản (khi thấy nó hiển thị trên View cho người dùng sử dụng) lại khá phức tạp nếu các bạn chưa quen, cũng như chưa tiếp xúc đủ nhiều với nó.

Trong bài viết này, mình không nói đến bất kỳ một đối tượng nào mới cũng như không nhắc lại các đối tượng đã biết, mà dành thời gian mô tả, hướng dẫn thêm về tư duy lập trình cũng như áp dụng các đối tượng đã biết để viết một ứng dụng cụ thể.

Để bắt đầu, bạn cần nhớ lại toàn bộ những đối tượng đã học.
Sau đó, cùng với mình phân tích và làm ứng dụng: “Ai là triệu phú”.

 

Bước 1: Xây dựng ý tưởng. Ý tưởng như đã nói ở trên, mình sẽ làm ứng dụng “Ai là triệu phú”.

Bước 2: Định hướng người dùng:

– Người dùng khi bấm vào icon của Apps, Apps sẽ hiển thị trên màn hình.

– Sẽ có một Segmented Control cho phép người dùng chọn mức độ chơi khó hoặc dễ. Nếu bấm vào Dễ thì câu hỏi số 1 của nhóm câu hỏi dễ hiện ra cùng với 4 đáp án cho người chơi chọn lựa. Segmented Control ngaylúc này bị vô hiệu hoá (Disable).

– Tại đây thời gian sẽ chạy là 30 giây. Nếu hết 30 giây mà người dùng không chọn đáp án, ngay lập tức báo thua cuộc và Segmented Control được kích hoạt trở lại (Enable) để người dùng chọn mức độ chơi.

– Quy định số điểm cho mỗi câu hỏi, ứng dụng sẽ xem nếu đúng ở câu hỏi nào thì cộng điểm của câu hỏi đó vào điểm tổng.
– Bất kỳ câu nào bị sai, sẽ dừng cuộc chơi.

– Sau khi kiểm tra tính đúng/sai của câu trả lời của người dùng, ứng dụng sẽ tự chuyển đến câu hỏi ở mức kế tiếp và ngược lại dừng cuộc chơi nếu câu trả lời đó sai.

Bước 3: Tạo Project (dự án) để bắt đầu lập trình.

Bước 4: Thiết kế giao diện trực quan:

– Ở đây mình sẽ không thiết kế. Các bạn hãy thể hiện ý tưởng của các bạn một cách thoải mái – đó là tiêu chí.

– Dựa vào những ý tưởng mà mình đã nói ở trên, các bạn bố trí sao cho hợp lý giao diện của ứng dụng này. Trông đẹp mắt là được. Dùng UIImage làm nền, hoa lá cành, nhìn cho sặc sỡ.

Bước 5: Liên kết giao diện đến code.

Bước 6: Thể hiện ý tưởng như ở trên bằng ngôn ngữ lập trình Objective-C và các đối tượng mà các bạn đã cùng mình tìm hiểu trong những bài viết vừa qua.

Bước 7: Chạy thử và sửa lỗi.

 

Mình sẽ không làm sẵn ứng dụng này, các bạn hãy viết dựa trên ý tưởng của mình và sáng tạo thêm, cũng như thiết kế giao diện sao cho đẹp mắt và chụp hình, quay Video đăng lên (tạo bài viết mới, bạn đừng nên đăng tại bài viết này) cho mọi người cùng tham khảo.

Ngoài ra việc quan trọng là tổ chức dữ liệu. Việc này sẽ khó khăn đối với các bạn mới bắt đầu học lập trình. Mình sẽ khái quát như sau (một vài câu hỏi, câu trả lời cho ứng dụng) giúp cho các bạn dễ hiểu.

– Dữ liệu sẽ được chia thành các mảng:

+++ (1) Mảng chứa câu hỏi.

+++ (2) Mảng chứa câu trả lời.

+++ (3) Mảng chứa đáp án.

Ở (1), mỗi phần tử trong mảng là mỗi câu hỏi.
Ở (2), mỗi phần tử trong mảng bao gồm 4 câu trả lời và được phân cách bằng dấu hiệu phân cách riêng của bạn.
Ở (3), mỗi phần tử trong mảng là một đáp án đúng.

 

 

Vậy thì chúng ta sẽ có tương ứng như ảnh đính kèm.

Bảng trên khái quát cho bạn cách bố trí dữ liệu (có 2 câu hỏi). Và một ô là một phần tử.
Bạn lấy câu hỏi ở (1) và các câu trả lời ở (2) hiện ra.
Kiểm tra tính đúng/sai của câu trả lời ở (3). Với đáp án đúng là 1 nghĩa là phần tử thứ 2 (vị trí phần tử đó là 1) trong mảng được cắt ra từ chuỗi lấy từ phần tử trong (2).

Ví dụ ở đáp án câu a, bạn sẽ bố trí câu trả lời là: “đục|trong|mát|lạnh”

Để hiện câu trả lời, bạn lấy phần tử “đục|trong|mát|lạnh” ra, và phần tử này là một chuỗi. Cắt chuỗi đó ra thành 4 phần tử và đưa vào 1 mảng riêng, sau đó hiện từng phần tử ở mảng riêng cắt được ra View cho người dùng thấy.

Tất cả phần trên đây, mình đã giúp các bạn làm sao để phân tích và viết một ứng dụng. Và đó cũng là tư duy lập trình. Tư duy lập trình đối với mình hiểu, nghĩa là đưa ra phương pháp cho một ý tưởng (một bài toán tin học – có thể nói như vậy, sau này sẽ là các dự án lớn), phân tích, thiết kế nó, dẫn hướng cho người dùng phải bấm vào đâu, chọn cái gì, viết cái gì vào đâu, … trong ứng dụng của các bạn.

Chỉ đơn giản là như vậy.

Chúc các bạn sớm hoàn thành ứng dụng “Ai là triệu phú” và cùng đăng lên đây để mọi người cùng tham khảo.

Hoặc bạn có thể gửi thư cho mình thông qua địa chỉ ithanh@me.com
Mình sẽ giúp các bạn kiểm tra, góp ý thêm hoặc chia sẻ thêm trực tiếp với bạn thông qua project mà bạn gửi cho mình. Nhưng có lẽ cũng sẽ giới hạn (có lẽ các bạn hiểu cho mình ở điểm này), sẽ ưu tiên xem từ trên xuống dưới và các project nổi bật.

Các bài viết của mình cũng được đăng tải tại http://facebook.com/LapTrinhiOS, mong các bạn ghé thăm và chia sẻ.

Cảm ơn các bạn đã quan tâm và đọc bài viết.
Mong các bạn ủng hộ để mình có thêm động lực cho các bài viết sau.

Like - Share - và cho tụi mình biết ý kiến của bạn bằng cách bình luận bên dưới nhé