All streams
Search
Write a publication
Pull to refresh
0
0
Дмитрий Астафьев @GreenPeace

User

Send message
Где-то я это уже видел… Кажется здесь.
Хоть вопрос задан и не мне, но осмелюсь предложить свой вариант. В текущей реализации на мой вщгляд, действительно просматривается монотонность и отсутствие азарта. Чтобы это побороть я бы предложить ограничить максимальное число кликов которые доступны покупателю. Для этого я бы поступил так:
1) Какжому новому посетителю заводиться аккаунт привязанный к профилю.
2) На каждый товар можно три раза «бесплатно» попробовать поменять цену. После трёх раз — только за особые жетоны
3) Жетоны в некотором количестве выдаются каждому новому пользователю, либо же зарабатываются пользователем за совершённые покупки.
4) В зависимости от количество совершённых покупок на аккаунте пользователя можно подкручивать параметры рандомизации, для того чтобы делать большие скидки суперлояльным пользователям.
5) Фишку с суперценой на количество прокруток можно останить, то сделать её поближе — например 10/20/25 — с учётом наличия жетонов думаю это станет более разумным.

В таком виде это действительно приобретёт практически вид игры — люди будут у вас покупать только для того чтобы скидки были круче и для того чтобы получить дополнительные прокрутки.

Прошу не бить меня тапком выражать необоснованное недовольство без объяснения причины, когда будете это читать. Дополнения/уточнения приветствуются.

З.Ы.: Не спрашивайте меня как донести все эти правила для нового пользователя чтобы он сразу понял — я не знаю.
Признайтесь — вы специлально написали
нашего чада
, чтобы при белго прочтении можно было спутать с «нашего чара»
var startPosition:uint
function frameHandler(e:Event):void {
    for (var j:uint = 1; j < Height-1; j++) {
        buffer.setPixel(startPosition, j, Math.max(bmp.getPixel(startPosition, j), bmp.getPixel(startPosition-1, j), bmp.getPixel(startPosition, j-1), bmp.getPixel(startPosition, j+1)));
    }
    startPosition = (startPosition -1) % Width;
    bmp.copyPixels(buffer, buffer.rect, zeroPoint);
    
    var rect:Rectangle = new Rectangle(0, 0, Size, Size);
    for (i = 0; i < Width; i++) {
        for (j = 0; j < Height; j++) {
            rect.x = i*Size;
            rect.y = j*Size;
            display.fillRect(rect, colors[bmp.getPixel((i-startPosition)%Width,j)]);
        }

    }
}
На самом деле даже векторизовать ничего не надо — просто надо счиать нашу матрицу «замкнутой по кругу»(после последнего столбца идёт первый) и хранить в переменной фактическое начало. На каждом шаге пересчитывать столбец который является фактическим началом по предложенному алгоритму и смещать указатель. То есть в исходниках надо сделать так():
Ну что вы, причём тут мужчины. Теперь можно будет безбоязненно тыкать в экран языком.
Не смотря на то, что в целом ситуации имеют очень много сходного, но есть одно отличие в корне, которое разбивает всё эту стройную теорию. В случае с недополученной прибылью, в момент когда вы требуете компенсацию, вы находитесь в худшем состоянии чем могли бы быть и компенсация, которую вы требуете, призвана, как это не банально, «компенсировать» эту разницу. В случае же с не нанесённым ущербом, в момент когда вы требуете компенсацию, вы в лучшем состоянии чем могли бы быть, что означает, что по законам логики компенсация должна быть отрицательной — то есть, теоретически, «потерпевший» ещё должен доплатить обвиняемому за то что «обвиняемый» с ним не сделал (а ведь мог бы!).
2

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity