Bố mẹ chồng tôi có một ao cá trong sân của họ, đầy cá koi. Nó không thực sự xuất hiện trong đầu tôi cho đến khi tôi nhận thấy đoạn trích sau từ mã của mình.
',') & '_'
... Tôi có khuôn mặt cá nhìn lại tôi từ màn hình của tôi ...
Điều đó đã cho tôi một ý tưởng tuyệt vời ...
Nhiệm vụ của tôi dành cho bạn, những người chơi golf thân yêu của tôi là tạo ra một bể cá ASCII một dòng, với các quy tắc sau:
- Kích thước của bể cá từ bên này sang bên kia của bể phải không nhỏ hơn 60 ký tự và không lớn hơn 80 ký tự. Các mặt của bể cần được chỉ định bằng
|
ký tự pipe / bar ( ). - Cá phải có khả năng "bơi" từ trái sang phải giữa các cạnh của bể. Vì chúng sẽ quay, nên cần có chế độ xem trước để chuyển từ hướng này sang hướng khác.
Cá phải trông như sau:
}}< }} ',')
Cá bơi ngay(',' {{ >{{
Cá bơi trái}}('_'){{
Cá hướng về phía trước
Khi một con cá quay sang đổi hướng (30% cơ hội), nó phải bắt đầu từ một hướng, quay mặt về phía trước, rồi quay mặt sang hướng khác ... Hãy chắc chắn rằng có nhiều chỗ để cá quay, tức là cần sáu khoảng trống trước cạnh của bể tối thiểu ...
- Trừ khi một con cá đang thổi bong bóng hoặc đổi hướng, nó sẽ tiếp tục theo hướng nó đang đối mặt, nếu nó ở trong sáu không gian bên cạnh bể, nó sẽ đổi hướng.
- Cá (quay mặt sang trái hoặc phải) đôi khi (10% cơ hội) dừng lại để thổi bong bóng liên tiếp (
.oO*
), vì vậy cá bắt buộc phải có một khoảng trống bên cạnh chúng để bong bóng tồn tại, vì vậy một con cá có thể Chỉ bơi càng gần hai bên, tiết kiệm một khoảng trống. Bong bóng phải biến mất trước khi cá có thể di chuyển ...
Một loạt các dòng ví dụ về hành vi của cá, với các -
ký tự chỉ ra khoảng trắng, vì tính năng hiển thị mã ở đây hơi nghiêm ngặt ... Tôi sẽ hy vọng các dấu gạch ngang này sẽ được thay thế bằng khoảng trắng khi bạn mã hóa ...
Mỗi dòng ở đây có thể được coi là một khung trong thời gian trôi đi.
|-}}< }} ',')----------|
|--}}< }} ',')---------|
|---}}< }} ',')--------|
|----}}< }} ',')-------|
|-----}}< }} ',')------|
|-----}}< }} ',').-----|
|-----}}< }} ',')o-----|
|-----}}< }} ',')O-----|
|-----}}< }} ',')*-----|
|---------}}('_'){{----|
|-----------(',' {{ >{{|
|----------(',' {{ >{{-|
|---------(',' {{ >{{--|
|--------.(',' {{ >{{--|
|--------o(',' {{ >{{--|
|--------O(',' {{ >{{--|
|--------*(',' {{ >{{--|
|--------(',' {{ >{{---|
|-------(',' {{ >{{----|
|------(',' {{ >{{-----|
vv Ví dụ trên là, như tôi đã nói, nhỏ, nhưng bạn có ý tưởng chung ...
Mã ngắn nhất sẽ thắng ...
Tôi hy vọng đầu ra trên cùng một dòng (nếu có thể), nếu không, hiển thị khung hình sau khung hình liên tiếp là tốt ... Cho dù bạn đi một dòng hay nhiều dòng là tùy thuộc vào bạn. Nếu bạn đang thực hiện nhiều dòng, chúng phải được phân tách bằng một dòng mới.
Ngoài ra một bộ đếm thời gian được áp đặt giữa các khung, 2000ms. Điều này là bắt buộc .
Hãy xem những gì bạn đã có!