Daha önce golf oynamadıysanız, bu soruda kullandığım golf ile ilgili terimlerin listesi
- Shot , ayrıca denilen inme : top isabet her zaman, bu bir fırsat.
- Delik : Bir golf sahası deliklere ayrılmıştır, burada amaç bir yerden bir yere diğerine olabildiğince az atışla vurmaktır.
- Tee : Bir delik açtığınız yer.
- Pim veya Bayrak : Bir deliği bitirdiğiniz yer
- Fairway , Rough , Water ve Green : Golf sahasındaki kişinin gerçek hayatta topu nasıl oynadığını etkileyen özellikler. (Programı nasıl etkiledikleri aşağıda belirtilmiştir)
Yarın golf oynamaya gidiyorum ve bazen, belirli bir yardağı vurmak için hangi kulübün kullanılacağını bulmakta zorlanıyorum. Bu yüzden kulüplerimi ve atışları arasındaki iplikleri yazmaya karar verdim.
İlk Varsayım: Tüm delikler, tee kutularının kuzeyinden kaynaklanmaktadır.
Tüm bu iplikler topun ne kadar kuzeye gittiğini gösterir. Top, her bir kulüp için belirtilen sınırlar (dahil) arasında rastgele bir tamsayı mesafe kat edecektir.
Usta bir golfçü olarak, hiçbir atışımın yatay kayması yok. Bu, tüm çekimlerimin doğrudan bayrağa düz bir çizgide gittiği anlamına geliyor.
Club # Club Yardage
1 Driver 300-330
2 3-Wood 270-299
3 5-Wood 240-269
4 3-Iron 220-239
5 4-Iron 200-219
6 5-Iron 180-199
7 6-Iron 160-179
8 7-Iron 140-159
9 8-Iron 120-139
10 9-Iron 100-119
11 P-Wedge 80-99
12 S-Wedge 50-79
13 L-Wedge 0-49
14 Putter (only on green)
Programlamadan hoşlanan bir kişi olarak, bir tur golf modellemek ve yarın ne kadar iyi yapmak istediğime bir hedef koymak istediğime karar veriyorum. Ancak, herhangi bir amatör programcı gibi, on dakika sonra vazgeçtim ve Stack Overflow (sadece şaka) konusunda yardım istedim. İşte kurs hakkında daha fazla veri.
İkinci Varsayım: Delik Coğrafyası
Parkurdaki mesafeleri tanımlayan tüm sayılar tamsayıdır.
Her delik düz bir çizgidir. Her delik ve pim (deliğin ucu) arasındaki düz çizgi mesafesi
Length
.Fairwayler, uzunluğu ile tanımlanan segmentlerdir
flen
. Listelenen değerflen
, fairway'in bulunduğu tee'den kuzeydeki iplikler aralığıdır.Su tehlikeleri, uzunluğu ile tanımlanan
wlen
ve aynı özelliklere sahip segmentlerdirflen
.Yeşil, tarafından tanımlanan bir uzunluğa sahiptir
glen
.Parkurun fairway, su veya yeşil olmayan tüm kısımları pürüzlüdür.
İşte parkurdaki her deliği açıklayan bir grafik.
Hole # Length flen wlen glen
1 401 54-390 391-425
2 171 1-165 166-179
3 438 41-392 393-420 421-445
4 553 30-281,354-549 282-353 550-589
5 389 48-372 373-404
6 133 125-138
7 496 37-413 414-484 484-502
8 415 50-391 392-420
9 320 23-258 259-303 304-327
Golf nasıl oynanır (bu program için)
- Daima tam olarak bayrağa nişan al.
- Topu fairway üzerinde veya (tercihen) yeşil üzerinde tutmaya çalışırken topa mümkün olduğunca yakın pime vurun.
- Suya bir atış yaptığınızda, bir sonraki atışınız suya giren atışla aynı yerden oynanmalıdır.
- Top yeşile indiğinde, sadece atıcı kullanılabilir. Top kesinlikle pimden 5 metreden fazla inerse, iki kez koydum. Aksi takdirde, bir kez koydum.
- Pimi geçerek bir vuruş yapmak mümkündür.
puanlama
Bir delikteki puanım çektiğim çekim sayısı artı her kaba veya suya indiğimde bir vuruş.
Program
Tamam, bu birçok kuraldı, şimdi program hakkında konuşalım.
Kurs , programda yukarıdaki gibi tanımlanmalıdır , çünkü kurs sabittir. Bununla birlikte, farklı golfçüler her atış için farklı mesafelere sahiptir, bu nedenle STDIN'e giriş, kulüp numarası sırasına göre düzenlenmiş ve virgülle (boşluk olmadan) ayrılmış bir dizi yarda aralığı olmalıdır.
Çıktı ben golf turu nasıl "oynamak" olmalıdır. Muhafaza numarası, her satırın başında geçerli delik Hole #:
olduğu gibi belirtilmelidir #
. Bir vurmak değil her atış aşağıdaki şekli şöyledir: {club,distance of shot,condition of ball,distance to pin}
. Çekimin detayları virgülle ayrılmalıdır, ancak yukarıdaki sırada boşluk bırakılmamalıdır. Çekimlerin kendileri, nasıl bir boşlukla oynandıkları ve ayrıldıkları sırasıyla yazılmalıdır. Top yeşile indiğinde, program kaç tane koyduğum biçiminde yazdırmalıdır {# putts}
. Her çizginin sonunda, deliğe aldığım çekim sayısı bir boşlukla diğer çekimden ayrılmalı ve(#)
. Her delik kendi satırında olmalı ve sırayla yazılmalıdır. Son olarak, programın son (onuncu) satırında, tur için toplam atış sayısı olarak yazdırılmalıdır Total: # shots
.
Programınızın alması gereken belirli bir "strateji" yoktur. İstediğiniz stratejiye sahip bir program yazabilirsiniz. Örnek stratejiler arasında yeşile iniş şansının yüzdesini en üst düzeye çıkarmak ve deliğe ulaşana kadar her atışın mesafesini en üst düzeye çıkarmak yer alır.
ÖRNEK GİRİŞ
300-330,270-299,240-269,220-239,200-219,180-199,160-179,140-159,120-139,100-119,80-99,50-79,0-49
ÖRNEK ÇIKTI
Hole 1: {Driver,324,Fairway,77} {S-Wedge,70,Green,7} {Two putts} (4)
Hole 2: {6-Iron,162,Water,171} {6-Iron,168,Green,3} {One putt} (4)
Hole 3: {Driver,301,Fairway,137} {8-Iron,131,Green,6} {Two putts} (4)
Hole 4: {3-Wood,288,Water,553} {3-Wood,276,Fairway,277} {3-Wood,291,Green,14} {Two putts} (6)
Hole 5: {Driver,322,Fairway,67} {S-Wedge,62} {One putt} (3)
Hole 6: {8-Iron,120,Rough,18} {L-Wedge,10,Green,8} {Two putts} (5)
Hole 7: {Driver,325,Fairway,171] {6-Iron,170,Green,1} {One putt} (3)
Hole 8: {Driver,306,Fairway,109} {9-Iron,100,Green,9} {Two putts} (4)
Hole 9: {Driver,308,Green,12} {Two putts} (3)
Total: 36 shots
İtiraf edeceğim, bu CG.SE'deki ilk yazı için oldukça iddialı bir meydan okuma, bu yüzden yorumlarda bu zorluğun nasıl iyileştirileceği hakkında konuşmaktan memnuniyet duyarım. Yardımın için teşekkürler.
0~299
yardalardan yeşil ve 300~315
yardalardan su olduğunu 316~330
varsayalım. Hangi kulüp seçilecek? Su kaba ile değiştirilirse ne olur?