
Dmitriy
17.02.2017
13:25:42
и рандомь выпадение числа от 0 до 9 и сравнивай в какой set заходит)

Engylizium
17.02.2017
13:26:21
У меня пока так
Жоско конечно, но как по мне самый быстрый вар все вбивать

Google

Dmitriy
17.02.2017
13:30:28
можешь plist создать, в котором на каждый ЛВЛ будет множитель на %

Ilkhom
17.02.2017
13:30:32
а если 80lvl?

Dmitriy
17.02.2017
13:30:38
а в коде все 1 циклом зафигачишь

Engylizium
17.02.2017
13:30:46
15 лв макс

Dmitriy
17.02.2017
13:30:52
заодно сможешь редактировать данные с сети, подгружая plist
код чище будет и удобней добавлять
и менять все

Евгений
17.02.2017
13:31:54
Там клевые всякие есть штуки в gameplay kit для таких целей

Engylizium
17.02.2017
13:32:07
Хорошо, это действительно хороший выход. Но вопрос как раз как эти процентовки использовать чтобы выходное значение получить

Ilkhom
17.02.2017
13:33:53
if (rand < 1) { iron } else if (rand >= 1 && rand < 4) { rock } .... итд

Engylizium
17.02.2017
13:35:09
Я так и писал до того как к вам обратиться
но в итоге получится 15 фунций и мне кажется это громоздко

Alfred
17.02.2017
13:35:53
да, тебе надо абстракцию повысить

Google

Dmitriy
17.02.2017
13:35:59
1 цикл
1 формула

Alfred
17.02.2017
13:36:32

Dmitriy
17.02.2017
13:37:13
можно и в коде, просто так меньше загромождаться текстом будет. мне нравится в plist выносить списки статические

Alfred
17.02.2017
13:37:28
лол, а чтение и всё такое.

Dmitriy
17.02.2017
13:37:59
а че его читать? инициализируешь масив с файла и работаешь

Alfred
17.02.2017
13:42:13
свободные вы люди, раз можете налево направо файлы читать.

Dmitriy
17.02.2017
13:42:27
iPhone 5c
file:' data_dictionary_root_100.plist' opened in avg. time: 1620377 ns

Alfred
17.02.2017
13:43:00
ну, 1мс

Dmitriy
17.02.2017
13:43:10
ужс)

Alfred
17.02.2017
13:43:18
из 16 доступных

Dmitriy
17.02.2017
13:44:17
оО 16?)
это откуда цифра?)

Alfred
17.02.2017
13:45:00
16мс – время для отрисовки кадра. если в мт что то будет работать дольше – лаги.


Andrew
17.02.2017
13:45:38
Может еще это поможет:
http://stackoverflow.com/questions/34481843/gaussian-random-numbers-with-swift-2-1
class MyRandomGenerator {
// stored properties
var s : Double = 0.0
var v2 : Double = 0.0
var cachedNumberExists = false
// (read-only) computed properties
var gaussRand : Double {
var u1, u2, v1, x : Double
if !cachedNumberExists {
repeat {
u1 = Double(arc4random()) / Double(UINT32_MAX)
u2 = Double(arc4random()) / Double(UINT32_MAX)
v1 = 2 * u1 - 1;
v2 = 2 * u2 - 1;
s = v1 * v1 + v2 * v2;
} while (s >= 1 || s == 0)
x = v1 * sqrt(-2 * log(s) / s);
}
else {
x = v2 * sqrt(-2 * log(s) / s);
}
cachedNumberExists = !cachedNumberExists
return x
}
}
var myRandomGenerator = MyRandomGenerator()
let numGaussNumbers = 1000
var myGaussArr = [Double](repeating: 0.0, count: numGaussNumbers)
for (i,_) in myGaussArr.enumerated() { myGaussArr[i] = myRandomGenerator.gaussRand }
let myMean = myGaussArr.reduce(0.0, +)/Double(numGaussNumbers) // 0.0.. OK
let myVar = myGaussArr.map { pow(($0 - myMean), 2) }.reduce(0.0, +)/Double(numGaussNumbers) // ~1, O
print("(\(myMean),\(myVar))") // ~(0,1), OK
https://www.dropbox.com/s/x6oxhg62fa14exl/Screenshot%202017-02-17%2015.45.29.png?dl=0


Dmitriy
17.02.2017
13:45:43
так при старте инициализировал и все, зачем его читать из файла на каждый чих?)


Alfred
17.02.2017
13:46:25
а потом приложения грузятся по 10 секунд
Может еще это поможет:
http://stackoverflow.com/questions/34481843/gaussian-random-numbers-with-swift-2-1
class MyRandomGenerator {
// stored properties
var s : Double = 0.0
var v2 : Double = 0.0
var cachedNumberExists = false
// (read-only) computed properties
var gaussRand : Double {
var u1, u2, v1, x : Double
if !cachedNumberExists {
repeat {
u1 = Double(arc4random()) / Double(UINT32_MAX)
u2 = Double(arc4random()) / Double(UINT32_MAX)
v1 = 2 * u1 - 1;
v2 = 2 * u2 - 1;
s = v1 * v1 + v2 * v2;
} while (s >= 1 || s == 0)
x = v1 * sqrt(-2 * log(s) / s);
}
else {
x = v2 * sqrt(-2 * log(s) / s);
}
cachedNumberExists = !cachedNumberExists
return x
}
}
var myRandomGenerator = MyRandomGenerator()
let numGaussNumbers = 1000
var myGaussArr = [Double](repeating: 0.0, count: numGaussNumbers)
for (i,_) in myGaussArr.enumerated() { myGaussArr[i] = myRandomGenerator.gaussRand }
let myMean = myGaussArr.reduce(0.0, +)/Double(numGaussNumbers) // 0.0.. OK
let myVar = myGaussArr.map { pow(($0 - myMean), 2) }.reduce(0.0, +)/Double(numGaussNumbers) // ~1, O
print("(\(myMean),\(myVar))") // ~(0,1), OK
https://www.dropbox.com/s/x6oxhg62fa14exl/Screenshot%202017-02-17%2015.45.29.png?dl=0
чувак, зачем ты кидаешь тонну нечитаемого кода в чат


Dmitriy
17.02.2017
13:46:54
это сколько надо файлов грузить?) что бы по 1 мс вышло 10 секунд?)

Google

Alfred
17.02.2017
13:47:06

Dmitriy
17.02.2017
13:47:09
у ФБ секунд 5 грузится апп) и они не особо парятся из-за этого)

Andrew
17.02.2017
13:47:11

Alfred
17.02.2017
13:47:34
Просто не совсем понятно, зачем юзать плист, если много проще впихнуть в код.

Dmitriy
17.02.2017
13:47:36
а так) я еще не видел на оське выше 6 апки, которые бы загружались по скорости хоть приблизительно как в 6 и ниже)

Alfred
17.02.2017
13:48:20

Dmitriy
17.02.2017
13:49:03

Alfred
17.02.2017
13:51:15
То есть они инклюдят его посередине кода

Ilkhom
17.02.2017
13:52:08
зачем вообще в играх статичные данные использовать? json зачем придумали, для тестирования баланса игры статика усложняет жизнь

Alexander
17.02.2017
13:59:13
если я правильно понял, что ты хочешь


Sergey
17.02.2017
14:15:08
подскажите пожалуйста кто работал с Alamofire swift
читаю доку, смотрю у них есть делегат, через который можно реализовать примитивный логер например
sessionManager = Alamofire.SessionManager(configuration: URLSessionConfiguration.default,
delegate: LoggingSessionDelegate(),
serverTrustPolicyManager: nil)
реализация LoggingSessionDelagate следующая
class LoggingSessionDelegate: SessionDelegate {
override func urlSession(
_ session: URLSession,
task: URLSessionTask,
willPerformHTTPRedirection response: HTTPURLResponse,
newRequest request: URLRequest,
completionHandler: @escaping (URLRequest?) -> Void)
{
print("URLSession will perform HTTP redirection to request: \(request)")
super.urlSession(
session,
task: task,
willPerformHTTPRedirection: response,
newRequest: request,
completionHandler: completionHandler
)
}
}
собственно вызываю через sessionManager.request
не вызываются методы у делегата
извините, я не знаю как в телеграме делать подсветку кода


Vladislavs
17.02.2017
14:17:29
```

Google

Sergey
17.02.2017
14:19:13
или подскажите, как реализовать с alamofire логирование запроса/ответа

Даша
17.02.2017
14:28:35
Всем привет. Работаю с сорстри и периодически сталкиваюсь, что изменения файла не трекаются. Файл как будто удаляется и вставляется заново с изменениями. Потом выяснить, что изменилось - никак. С xml’кой(storyboard, xib) всё в порядке, работает как и должно. А с классами проблемы. Откатывалась с последней версии до 2.3.2, проблема осталась.

Maksim
17.02.2017
14:31:23
Даша, странно, у меня последняя вверсия и таких проблем нету
а какую систему контроля используешь ?

Admin
ERROR: S client not available

Maksim
17.02.2017
14:31:40
git или mercurial ?

Vladislavs
17.02.2017
14:31:59
мб на одном пк форматирование табами, а на другом пробелами, хз

Engylizium
17.02.2017
14:39:43
если я правильно понял, что ты хочешь
Не совсем так.
Функция по уровню получает соотношение вероятностей. Делаем рандом число. Находим в какую категорию из этих вероятностей попало число и выдаем материал

Alexander
17.02.2017
14:43:04

Engylizium
17.02.2017
14:47:44
Ааа, ну ты получается tuples юзал
Я вбивал как key:value
У себя

Michael
17.02.2017
15:19:07

Радость
17.02.2017
15:19:53
И case пишется с маленькой :)

Ilkhom
17.02.2017
15:20:30
C#?
Xamarin dev detected

Michael
17.02.2017
15:20:53
Ну епта щас я с телефона тут подровняю шрифт еще )))

Google

Michael
17.02.2017
15:21:08
Свифт3
Можно свитчить по диапазонам

? Райзя ?
17.02.2017
15:25:46
И еще where написать
Офигенно

Vladislav
17.02.2017
15:50:54
Всем привет из Беларуси) https://www.youtube.com/watch?v=AfA8RaNXcwY

Dmitriy
17.02.2017
16:13:19
"we are going to defer the declaration of ABI stability out of Swift 4" ?
lists.swift.org/pipermail/swif…
Походу аби в 4 свифте тож не светит

Engylizium
17.02.2017
17:28:25

F
17.02.2017
17:30:23

Alexander
17.02.2017
17:45:43

4ch7ung
17.02.2017
17:59:29

Vlad
17.02.2017
18:13:27
Ребят, а могу ли юзать CoreData так же, как переменные?
Т.е. часто обращаться например
и не страдает ли скорость от этого?
или же нужно выгрузить из CD все при запуске приложения, и потом использовать?

Engylizium
17.02.2017
18:16:13
Можно
И даже нужно