Düzenleme : Daha önce D & D oynamadım, bu yüzden bu soruyu ilk kez yaptığımda düzgün bir şekilde araştırmadım. Bunun için özür dilerim ve dnd 5e kurallarına olabildiğince doğru kalması için cevapları geçersiz kılabilecek birkaç düzenleme yapıyorum. Afedersiniz.
Yakın zamanda yapılan bir Hot Network sorusundan gelen bir D&D hayranı, bir büyücünün seçtiği büyülerin olasılıklarla aynı hizaya gelip gelmediğini anlamakta sorun yaşıyor ve bence yardım etmeliyiz!
Giriş
(bunların hepsi daha önce bahsedilen soruda zaten açıklanmıştır)
Bir büyücü başlangıçtan iki seviye 1 büyüyü bilir (seviye 1): [1, 1]
Bir büyücü her seviye kazandığında (12, 14, 16, 18, 19 ve 20 seviyeleri hariç) yeni bir büyü öğrenir (zorunlu).
Buna ek olarak, seviye atlarken büyülerden birini diğeriyle değiştirmek için (isteğe bağlı) seçimini yapabilirsiniz .
Öğrenilen ve değiştirilen büyüler, büyücünün seviyesinin yarısı kadar olan geçerli bir büyü yuvası seviyesi olmalıdır. Bu tabloya bakın:
Sorcerer level Highest spell level possible
1 1
2 1
3 2
4 2
5 3
6 3
7 4
8 4
9 5
10 5
11 6
12 6
13 7
14 7
15 8
16 8
17 9
18 9
19 9
20 9
Bu, 3. seviyede insanın büyü seviyelerine sahip olabileceği anlamına gelir [1, 1, 2, 2]
:
Level 1: [1, 1] (initial)
Level 2: [1, 1, 1 (new)]
Level 3: [1, 1, 2 (replaced), 2 (new)]
Erişiminiz olan en yüksek seviyedeki büyüleri seçmeniz gerekmez.
Büyü seviyeleri [1, 1, 1, 1]
seviye 3 için mükemmel şekilde geçerlidir.
Son olarak, büyü değiştirmenin her seviye için isteğe bağlı bir seçenek olduğunu unutmayın . Bu, bazı seviyelerin değiştirmeyi atlayabileceği anlamına gelirken, diğerleri onu kullanabilir.
Meydan okuma
1 ile 20 arasında bir tamsayı (seviye) alan bir program veya işlev yapın.
Ayrıca, herhangi bir sırayla 1 ile 9 arasında değişen bir tamsayı dizisi (büyü seviyesi) almalıdır (9 maksimum büyü seviyesidir).
Seçilen büyü seviyeleri verilen seviyenin büyücüsü için geçerliyse, programın çıktısı doğru / gerçek değeri doğrulamalıdır.
Test senaryoları
Level: 1
Spells: [1, 1]
Output: true
Level: 8
Spells: [1, 1, 2, 3, 3, 5]
Ouput: false
Reason: A level 8 can't ever have access to a level 5 spell.
Level: 5
Spells: [1, 1, 1, 2, 2, 2, 3]
Output: false
Reason: A level 5 can't have access to 7 spells
Level: 11
Spells: [3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6]
Output: false
Reason: Too many spell upgrades.
The highest valid selection for level 11 is
[3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6]
Bu kod golf - en az bayt kazanır!
[2,2,3,3]
, bu seviyedeki bir büyücünün erişebileceğinden daha fazla yer değiştirmeyi gerektirdiğinden mümkün olmazdı." - listenin 5 yerine uzunluk 4 olması burada daha temel bir neden değil midir? (Ben varsayalım [1,3,2,2,3]
3. seviyeden giderek bir seviyeye 4 mümkündür [1,1,2(replaced),2(new)]
için [1,3(replaced),2,2,3(new)]
?)