Göreviniz, haritayı girdi olarak vermek, ölçeğe bağlı olarak haritayı uzaklaştırmak veya uzaklaştırmaktır. Verilen ölçeğin uzaklaştırma ölçeği olduğuna dikkat edin , böylece 0 ile 1 arasındaki bir ölçek gerçekten yakınlaşacaktır.
Örneğin, aşağıdaki (kötü yapılmış) harita verildiğinde:
..____....
../OOO\...
..\OO/\...
..........
Ölçek faktörü 2 ise, önce 2x2 bölümlerine ayırmalısınız:
.. | __ | __ | .. | ..
.. | /O | OO | \. | ..
----------------------
.. | \O | O/ | \. | ..
.. | .. | .. | .. | ..
Ve her bölümde en yaygın karakteri bulun:
.__..
.....
Belirsiz bir bölüm olduğunu unutmayın:
__
OO
_Bu bölüm için kullanmayı seçtim , ancak kullanmak Oda mükemmel bir şekilde kabul edilebilirdi.
Örneğin, size 4 ölçek faktörü verildiyse, 4x4 bölüme ayırırsınız, şöyle:
..__ | __.. | ..
../O | OO\. | ..
..\O | O/\. | ..
.... | .... | ..
Anlayacağınız gibi, harita 4x4 bölümlere mükemmel uymuyor, ancak yandaki bölümün boyutunu azaltabileceğimiz için bu iyi.
Ayrıca, haritalarımızı kesmemiz gerektiğinde, alttan veya sağdan kesiyoruz.
Ortaya çıkan harita şöyle görünecektir:
...
Ne ilginç bir harita!
0,5 gibi 1'in altındaki ölçek faktörleri için işlem, yakınlaştırdığımız için daha basittir. Bu haritayı kullanın:
./O\.
.\O/.
0.5 ölçeğinde yakınlaştırma:
..//OO\\..
..//OO\\..
..\\OO//..
..\\OO//..
Yakınlaştırma faktörü az olduğunda Not olduğunu 1, şu her zaman doğru olacaktır: 1/(zoom factor) % 2 == 0. Yukarıda olduğunda 1, sahip olduğunuz tek garanti, bunun bir tam sayı olacağıdır. 1Harita olduğu zaman harita aynı kalmalıdır.
Örnekler:
4
/OO\
|OO|
|OO|
\OO/
O
0.25
ABCD
AAAABBBBCCCCDDDD
AAAABBBBCCCCDDDD
AAAABBBBCCCCDDDD
AAAABBBBCCCCDDDD
1
My zoom
should
not change
My zoom
should
not change
Haritayı yeni satırla ayrılmış bir dizi olarak da alabilirsiniz.
.fazlası var O. Sağ ve alt tarafta kestik.