Những gì tôi muốn thấy là những nỗ lực của bạn trong việc viết một loại "câu chuyện" có ý nghĩa khá dễ đọc, nhưng cũng tạo ra một đoạn mã hợp lệ. Ví dụ: mã BASIC (BBC) này:
LET customer = "sober"
REPEAT
INPUT "more beer"
UNTIL customer = "drunk"
(dựa trên http://img.rakuten.com/PIC/12184048/0/1/300/12184048.jpg cho ý tưởng)
Quy tắc / hướng dẫn:
- Mã phải hợp lệ trong ngôn ngữ bạn đã chỉ định - Bất kỳ ai cũng phải có thể chạy mã mà không cần tạo bất kỳ ưa thích nào
- Có thể sử dụng chuỗi, nhận xét hoặc bất cứ điều gì cho phép thêm văn bản miễn phí vào mã, nhưng tối đa 3 từ trên mỗi chuỗi (và bạn không thể đặt nhiều chuỗi hoặc nhận xét liên tiếp)
- Mã của bạn không phải dẫn đến bất kỳ đầu ra hợp lý nào khi nó được thực thi. Nó thậm chí có thể là một vòng lặp vô hạn, miễn là mã hợp lệ và nó đại diện cho một cái gì đó hợp lý (*) khi đọc bằng tiếng Anh.
- Bất kỳ sự xen kẽ nào trong mã của bạn sẽ bị bỏ qua trong câu chuyện.
- Các biến không cần phải được xác định. Mã bạn thực hiện ở đây chỉ là một mã số mảnh . Bạn sẽ mất 5 điểm khi gọi một biến / từ khóa / nhãn / vv không xác định. Tuy nhiên.
- cho mỗi từ khóa / tuyên bố / chức năng / vv tích hợp riêng lẻ mà bạn sử dụng, bạn nhận được 15 điểm . Chúng bao gồm
for
vàif
, nhưng cũng có các chức năng tích hợp nhưreplace()
. Các thư viện không được tính là các hàm tích hợp, nhưng bạn có thể sử dụng chúng miễn phí. - đối với mỗi chữ cái, số hoặc dấu gạch dưới trong mã của bạn, bạn nhận được 1 điểm .
- đối với mỗi dòng / khối mã không liên quan ( ) với câu chuyện hoặc sử dụng từ khóa / câu / v.v. không có nghĩa ( ) trong tiếng Anh, bạn mất 20 điểm và các ký tự liên quan sẽ không được tính vào 1 điểm cho mỗi chữ cái / con số. Để giữ công bằng cho các ngôn ngữ cần loại dữ liệu như
int
khi xác định biến, loại dữ liệu bị bỏ qua hoàn toàn. Điều này có nghĩa là họ không nhận được 10 điểm vì là một từ khóa, họ sẽ không nhận được điểm cho các nhân vật liên quan, nhưng họ cũng không gây mất điểm. - Không được phép tạo ra một thứ tiếng Anh hợp lệ bằng cách chèn một bình luận để "điền vào chỗ trống".
- Vì đây là một cuộc thi phổ biến , cứ mỗi câu trả lời cho câu trả lời của bạn, bạn sẽ nhận được 25 điểm .
- Đảm bảo chỉ định ngôn ngữ mà mã của bạn đang sử dụng và công thức bạn đã sử dụng để đếm số điểm mà câu trả lời của bạn đạt được.
- Câu trả lời có nhiều điểm nhất, sử dụng hệ thống này ở trên, sẽ thắng.
- Sử dụng hệ thống này, mã ví dụ trên sẽ nhận được
4*15 + 53*1 = 113
điểm ban đầu.
(*) phần phân tích quá mức / đối tượng hóa: để giữ điều này càng khách quan càng tốt, "hợp lý" hoặc "không liên quan" có nghĩa như sau: Nếu đoạn mã sử dụng các từ không phải tiếng Anh, thì nó không hợp lệ (ví dụ, const
hoặc int
là không từ tiếng Anh, nhưng foreach
hoặc typeof
là 2 từ tiếng Anh sáp nhập, do đó không quan trọng). Ngoài ra, ngay cả khi bạn sử dụng các từ tiếng Anh hợp lệ như print
hoặc echo
, những từ này sẽ phải phù hợp với câu chuyện với nghĩa gốc của chúng (vì vậy, 'đặt mực lên giấy' và 'âm thanh phản chiếu', chứ không phải 'hiển thị trên màn hình'). Và với 'phù hợp', ý tôi là chủ đề của câu chuyện phải liên quan đến nó.
Tôi hy vọng "từ chối trách nhiệm" cuối cùng này đáp ứng yêu cầu xác định các tiêu chí khách quan.