Đưa ra đầu vào của chương trình Pig , SickPig , DeadPig , QuinePig hoặc DeafPig , chọn ngẫu nhiên một trong những "ngôn ngữ" đó và diễn giải đầu vào là "ngôn ngữ" đó.
Đầu tiên, chọn ngẫu nhiên giữa một trong năm thành viên của "Chuỗi lợn":
Con lợn
Nếu lựa chọn là Pig, hãy bắt chước trình thông dịch tham chiếu bằng cách thực hiện như sau:
Tìm sự xuất hiện đầu tiên của từ
PIG
trong đầu vào (phân biệt chữ hoa chữ thường).Nếu từ
PIG
không xuất hiện trong đầu vào, hãy xuất thông báoFile must contain the string 'PIG'.
và thoát.Mặt khác, tách chuỗi đầu vào trong lần xuất hiện đầu tiên của
PIG
. Xuất văn bản sau lần xuất hiện đầu tiên củaPIG
tệp có tên tệp của văn bản trước đóPIG
.PIG
có thể được chứa trong văn bản là đầu ra (vì vậy, một đầu vàofooPIGbarPIGbaz
nên xuất rabarPIGbaz
một tệp có tênfoo
).
Lưu ý rằng trình thông dịch tham chiếu nhận đầu vào thông qua một đối số dòng lệnh chỉ định tên tệp để đọc từ đó. Tuy nhiên, việc gửi của bạn có thể nhận đầu vào theo bất kỳ phương pháp tiêu chuẩn nào được chấp nhận trên PPCG.
SickPig
Nếu lựa chọn là SickPig, hãy làm theo các hướng dẫn tương tự như Pig. Tuy nhiên, thay vì viết văn bản sau
PIG
vào tệp, hãy chọn ngẫu nhiên từ danh sách sauGRUNT MOAN OINK BURP GROAN WHINE
và xuất nó vào tập tin thay thế. Lựa chọn ngẫu nhiên này phải độc lập với lựa chọn trước đó (vì vậy, một đầu ra
GRUNT
phải có tổng cơ hội 1/5 * 1/6 = 1/30).DeadPig
DeadPig giống như SickPig, nhưng nó luôn xuất ra chuỗi sau thay vì chọn ngẫu nhiên một chuỗi:
Your pig has unfortunately died. Please try again.
QuinePig
QuinePig giống như Pig, nhưng thay vì viết văn bản sau
PIG
vào tệp, thay vào đó, nó ghi toàn bộ đầu vào vào tệp (vì vậy, một đầu vàofooPIGbarPIGbaz
nên xuất rafooPIGbarPIGbaz
tệp có tênfoo
).Điếc
Nếu sự lựa chọn là DeafPig, không làm gì cả. (Con lợn bị điếc ... bạn mong đợi điều gì?)
Quy tắc khác:
"Ngẫu nhiên" có nghĩa là mỗi lựa chọn sẽ có khả năng gần như bằng nhau (vì vậy, chọn Pig 90% thời gian và các biến thể khác chỉ 2,5% thời gian là không hợp lệ).
Bạn có thể cho rằng tên tệp được yêu cầu sẽ luôn hợp lệ cho hệ thống tệp của bạn (nhưng chúng có thể chứa dấu cách, v.v.).
Đối với tất cả các biến thể của Pig, mã của bạn cũng có thể tùy ý xuất một dòng mới duy nhất vào tệp.
Vì đây là môn đánh gôn , mã ngắn nhất tính bằng byte sẽ giành chiến thắng.