API săn trứng Phục sinh!
Có một API tại http://easter_egg_hunt.andrewfaraday.com sẽ cung cấp một cuộc săn trứng Phục sinh đặc biệt, chỉ dành cho bạn ...
Bạn có thể xem tài liệu API tại địa chỉ trên hoặc thử từ đây.
API:
Tất cả các lệnh gọi API này là các yêu cầu GET, sẽ trả về một chuỗi JSON.
Những ví dụ này là trong một khu vườn 5x5, chỉ để minh họa. API thực sự sẽ hoạt động trên một khu vườn 100x100 (từ các chỉ mục 1 đến 100)
/new_game
Trong nội bộ, API tạo ra một khu vườn và giấu một quả trứng trong đó.
Trong ví dụ này, quả trứng ở 4, 4
+----------+
| |
| |
| |
| |
| E |
| |
| |
| |
| |
| |
+----------+
Gọi
/new_game
Trả về
{game_id: 'abcde'}
/guess/:game_id/:x/:y
API nhìn trong vườn và cho bạn biết mức độ gần gũi của bạn.
Nếu bạn đoán 2 ngang và 8 xuống, khu vườn trông như thế này
+----------+
| |
| |
| |
| |
| E |
| |
| |
| g |
| |
| |
+----------+
Gọi
/guess/abcde/2/8
Trả về
{x: 'higher', y: 'lower'}
Điều này có nghĩa là: * x của bạn quá thấp (vị trí trứng cao hơn) * Y của bạn quá cao (Vị trí trứng thấp hơn)
Gọi đúng:
/guess/abcde/4/4
Trả về
{x: 'right', y: 'right', turns: 10}
Những quy định
Viết chương trình tìm trứng Phục sinh bằng API.
- Sử dụng bất kỳ ngôn ngữ.
- Cố gắng viết ngắn gọn, nhưng mã có thể đọc được.
- Chương trình của bạn PHẢI gọi '/ new_game' mỗi lần và sử dụng game_id được trả lại trong tất cả các cuộc gọi 'đoán'. Không nhìn trộm tại vườn!
- Cố gắng liên tục kết thúc trò chơi với số lượng cuộc gọi nhỏ nhất có thể.
- Đây không phải là mã golf.
Câu trả lời cạnh tranh?
Để có cơ hội chiến thắng đây là những gì chúng ta cần biết:
- Bạn đang sử dụng mã nào (Trong câu trả lời của bạn hoặc liên kết github nếu nó lớn hơn bạn muốn đặt câu trả lời).
- Chạy mã của bạn 10 lần và ghi lại game_id và ghi điểm mỗi lần.
-game_id- : -score-
ví dụ
abbbbbbb : 10
abbbbbdd : 5
(Lưu ý: Game_ids được yêu cầu để xác minh kết quả)
Điểm sẽ được tính như vậy:
- Hai kết quả cao nhất và thấp nhất sẽ bị bỏ qua.
- 6 điểm còn lại sẽ được cộng lại.
- Đây là điểm số của bạn.
- Điểm số thấp nhất chiến thắng.
Phụ lục
Tl, dr: Ứng dụng này hơi kém chất lượng.
API được viết trong khoảng 90 phút và được triển khai trên Raspberry Pi 2. Hãy nhẹ nhàng với máy chủ API của tôi. Nếu bạn DDOS điều tồi tệ này, bạn có thể làm hỏng nó cho tất cả mọi người.
Ngoài ra, nó được triển khai với NOIP để mô phỏng địa chỉ IP tĩnh, nhưng đôi khi điều này sẽ mất một lúc. Đó là những gì tôi nhận được khi sử dụng cho lưu trữ web không có ngân sách.
Chỉ để cười khúc khích, đây là một phân tích thống kê đơn giản về các trò chơi đã chơi ... http://easter_egg_hunt.andrewfaraday.com/stats