Tantangan Golf
Diberikan ASCII "Hijau" di bawah ini.
| |
| |> |
| | |
| O |
| |
| |
| |
| |
| |
| |
Biarkan |
Mendenotasikan dinding
Biarkan |
Mendenotasikan setengah tiang bendera
Biarkan >
Mendenotasikan bendera pada tiang
Biarkan O
Mendenotasikan lubang
Biarkan o
Mendenotasikan bola
Dimensi "Hijau" adalah 10x10. Ada sepuluh ruang di antara kedua dinding |
.
Ada juga sepuluh ruang, kosong atau tidak antara bagian atas dan bagian bawah hijau.
Tantangan
Masukkan nilai x dan y atau hasilkan dua angka acak untuk "menembak" bola golf ke green.
Jika x, y yang dihasilkan tidak menyentuh lubang atau flag flag / flag output "Coba Lagi!"
Jika x, y yang dihasilkan menyentuh output lubang "Hole in One!"
jika x, y yang dihasilkan mencapai output kutub "Lucky Shot!"
jika x, y yang dihasilkan hits keluaran bendera "Tutup Satu!"
Setelah tembakan, keluarkan lokasi bola di atas hijau dengan o
, menggantikan karakter apa pun yang terkena. Keluarkan pepatah masing-masing di atas.
Contoh:
//Hole in one example, the O was replaced with a o
Randomed x = 3
Randomed y = 4
"Hole in One!"
| |
| |> |
| | |
| o |
| |
| |
| |
| |
| |
| |
//Clone example, the top half of the pole was replaced with a o
Randomed x = 3
Randomed y = 2
"Lucky Shot!"
| |
| o> |
| | |
| O |
| |
| |
| |
| |
| |
| |
//Lucky Shot example, the > was replaced with a o
Randomed x = 4
Randomed y = 2
"Close One!"
| |
| |o |
| | |
| O |
| |
| |
| |
| |
| |
| |
//Try Again example, the <space> was replaced with a o
Randomed x = 5
Randomed y = 1
"Try Again!"
| o |
| |> |
| | |
| O |
| |
| |
| |
| |
| |
| |
Selamat bersenang-senang dan semoga sukses dan karena ini adalah golf kode, kode terpendek akan menang!
Jawaban:
JavaScript (ES6)
210208193184 byteDemo
sumber
Jelly , 78 byte
Mainkan Skill-Game atau Crap-Shoot di TryItOnline!
(Crap-shoot membutuhkan lebih banyak byte).
Bagaimana?
sumber
Python 2,
290264262252248245 byteIni tidak cantik dan tidak pendek tapi saya lelah dan itu satu- satunya jawaban Python
pertama. Masukkan bidikan dalam format x, y.Edit
Bermain golf 26 dengan mendefinisikan ulang cara daftar dibuat. Masih tidak beruntung dengan pernyataan jika panjang sekalipun.
-2 dengan mengganti yang panjang jika dengan kamus dan jika lebih pendek.
-10 dengan terima kasih kepada @ Noodle9 - Saya melewatkan yang satu itu :)
-4 - terima kasih lagi :)
3 lagi. Terima kasih.
Bagi siapa pun yang tertarik dengan logika, tidak diserang dengan komentar (1316 bytes tetapi masih mudah masuk pada disk 3,5 "jika ada yang mengingatnya):
Pasti pertama kalinya bagi saya bahwa kamus telah menjadi format data terbaik dalam tantangan golf.
sumber
C, 236 byte
Tidak Disatukan:
sumber
Scala, 238 byte
Menggunakan pengindeksan nol.
Ini terlalu mudah dibaca :(
Penjelasan:
Saya telah menggunakan rumus
1+x+13*y
untuk menghitung indeks yang benar, karena setiap baris panjangnya 13 karakter (2 batas, baris baru dan 10 spasi) plus offset satu karena (0,0) harus menjadi karakter kedua.sumber
Perl,
225209 byteDua baris baru literal masing-masing menyimpan satu byte. Cukup standar. Mencetak deklarasi, lalu papan permainan.
sumber
Arang , 99 byte
Mengambil input berbasis 1, dipisahkan oleh ruang, pada stdin. Sebagian besar kode digunakan untuk mencetak (satu dari) empat pesan. Cobalah online!
Catatan: Arang masih dalam proses. Kode ini berfungsi sejak komit saat ini . Jika berhenti berfungsi di masa mendatang (khususnya, jika tautan TIO tidak berfungsi seperti yang diharapkan), ping saya dan saya akan mencoba menambahkan versi pembaruan yang tidak bersaing yang berfungsi.
Penjelasan
sumber
Brain-Flak , 1466
1938byteCobalah online!
Apakah saya menang?
sumber
TI-Basic, 183 byte
Syukurlah TI-Basic menggunakan token.
The
|
biasanya tidak dapat diketik, tetapi di set karakter.Tolong beri tahu saya jika hasil tembakan harus benar-benar huruf kecil.
Saya akan menambahkan tangkapan layar hasil contoh program nanti.
sumber
Groovy - 235 byte
Usaha pertama saya - Penutupan asyik yang menerima 2 bilangan bulat dari 0 hingga 9 sebagai koordinat X dan Y untuk bidikan.
sumber
Dyalog APL , 147 (atau 127) byte
Membawa (y, x) sebagai argumen.
Dari versi 16.0, kita hampir dapat membagi dua byte-count dengan
@
operator baru ;@
menempatkan operan kiri ke posisi operan kanan dalam argumen yang tepat:NewChars @ Positions ⊢ Data
Kode yang sedikit dimodifikasi agar diperbolehkan di TryAPL:
Hole in One , Lucky Shot 1 , Lucky Shot 2 , Close One , Acak
sumber
Turtled , 164 byte
Sekali lagi, menampilkan keseimbangan Turtlèd antara golfiness dan verbositas untuk hal-hal yang paling sederhana (seperti menambah angka), Turtlèd mengalahkan semua kecuali golf.
Cobalah online
Perhatikan bahwa itu adalah setengah nol diindeks dan setengah satu diindeks; x adalah satu diindeks, y adalah nol diindeks; 3,3 adalah hole in one
sumber
R,
230226 byteBerkat @billywob untuk -2 byte, memperhatikan
M[a,b]
setara denganM[c]
dalam beberapa kasus.Yang menjengkelkan, kedua
cat
panggilan (!) Tidak dapatcat
disatukan menjadi satu, karenafill
argumen mengacaukan pesan. Argh!sumber
function(x,y){M=matrix("|",10,10);M[2:9,]=" ";M[34]="0";M[4,2:3]="f";M[15]=">";m=switch(M[y,x],">"="Close One","f"="Lucky Shot","0"="Hole In One","Try again");M[y,x]="o";cat(m,"!\n",sep="");cat(gsub("f","|",M),sep="",fill=10)}
f=
solusi saya. Dihapus.