Перейти к содержимому

Zer0Galaxy

Гуру
  • Публикации

    1 220
  • Зарегистрирован

  • Посещение

  • Победитель дней

    189

Сообщения, опубликованные пользователем Zer0Galaxy


  1. Предлагаемые правила - не догма, а предмет для обсуждения

    1. Акции приобретаются игроками либо за тугрики, если фондовая биржа является частью банка, либо за валюту биржи - пункты, если ФБ независимая организация. В последнем случае пункты приобретаются за определенный вид ресурсов, например, алмазы. 1 алмаз = 100 пунктов. В последствии имеющиеся пункты игрок может снова обменять на алмазы.

    2. На продажу выставляется ограниченное количество акций нескольких фирм. Акции обладают следующими видами стоимости:

    - номинальная - первоначальная стоимость акции

    - рыночная - текущая стоимость. Равняется номинальной в первый день функционирования фирмы на бирже.

    - аск - цена на продажу. По этой цене игрок может купить выставленные на продажу акции. Она всегда выше рыночной как минимум на один пункт. Разница между аск и рыночной увеличивается если рыночная цена растет.

    - бид - предлагаемая цена. По этой цене игрок может продать свои акции. Она ниже рыночной как минимум на один пункт. Разница между бид и рыночной увеличивается если рыночная цена падает.

    3. Условия формирования рыночной цены.

    Каждый последующий игровой день рыночная цена изменяется на величину dP, а dP в свою очередь изменяется по следующему закону:

    - dP изменяется на некую случайную величину в плюс или минус

    - dP увеличивается на дополнительную величину, если за последние несколько дней игроками было куплено акций больше чем продано, и уменьшается, если наоборот. Иными словами, чем большим спросом пользуются акции тем они дороже.

    - dP ограничивается по модулю, что исключит резкие скачки цены как вниз так и вверх.

    - если рыночная цена достигла определенного значения (например 500% от номинальной), а dP всё еще положительно, dP принудительно уменьшается, что не даст возможности цене на акцию расти до бесконечности.

    - если рыночная цена упала ниже определенного значения (например 10% от номинальной) фирма терпит банкротство, а все имеющиеся на руках акции сгорают.

    4. Путем голосования держатели акций (одна акция = один голос) могут принять решение о выпуске на рынок дополнительных акций. Это даст возможность уберечь фирму от банкротства т.к. продажа акций приведет к увеличению их курса.

    5. Возможны два варианта организации игры на бирже:

    5.1 Игрок против биржи - акт купли-продажи акций осуществляется только между игроком и биржей. В этом случае выигрыш или проигрыш одного игрока никак не зависит от выигрыша или проигрыша других игроков. Что бы не допустить получения сверхприбыли на биржевых спекуляциях необходимо ограничить количество продаваемых/покупаемых акций в течение одного банковского дня, что не даст возможности игроку моментально продать все свои акции или скупить все акции выставленные на продажу.

    5.2 Игрок против игрока. Биржа осуществляет только эмиссию акций, продать купленную акцию игрок сможет только другому игроку. В этом случае выигрыш одного игрока это проигрыш другого. Но тут, мне кажется, акции должны приносит дивиденды, иначе их никто не будет покупать по цене выше номинальной.

    6. Техническая организация:

    Основной сервер - хранит базы данных фирм и игроков, регистрирует акты купли-продажи акций, осуществляет ежесуточный пересчет курсов акций.

    Терминальные компьютеры - от 1 до 5 шт. Осуществляют клиент-серверный интерфейс, принимают и выдают ресурсы (алмазы)

    Информационное табло - выводит чередующиеся таблицы и/или графики, содержащие информацию о курсах акций, количестве покупок и продаж. Пример графика:

    post-7-0-78042500-1442220237_thumb.png

    На графике: по вертикальной оси - курс акции в пунктах, по горизонтальной - игровой день, кружочек - рыночная стоимость акции, черточки выше и ниже рыночной стоимости - аск и бид, соответственно. Где то на графике нужно указывать название фирмы, номинальную стоимость акций, количество акций, выставленных на продажу и т.д.

     

    P.S. Zer0Galaxy, а ты сам экономист? Просто ты там написал в шапке все по-экономически. То есть ты можешь быть как экономический консультант проекта? (я пока не предлагаю свою услуги, т.к. я еще не до конца освоился с экономикой в учебе).

    Нет. Я не экономист и ни разу им не был. Думаю, экономика нашей биржи буде не настолько серьезной, что бы потребовался профессиональный экономист. Хотя, если он уже есть, то его советы не помешают.

     

    А вот с хешами я бы поиграл ...

     

    Идею Нео с хешами я пока не понял. Что за хеши? Кто их генерирует? Что с ними делать дальше? Как это связано с фондовой биржей? Можно подробней и с примерами?

    • Нравится 1

  2. Так у тебя целое казино уже реализовано? А чего ж на наших серверах не ставил?

    Фондовая биржа это не совсем рулетка. Курс акции, в отличии от шарика, более предсказуем. Если, к примеру, я вижу, что в течение последних нескольких дней курс растет, то с определенной долей вероятности можно утверждать, что и завтра он будет расти. Кроме того, игроки могут косвенно влиять на курс. Скажем, можно сделать так, что при преобладании покупки над продажей курс будет увеличиваться, наоборот - уменьшаться.  


  3. Как вы относитесь к созданию на IT-light (надеюсь, он когда нибудь откроется) подобия рынка ценных бумаг?

    Суть в следующем: игроки через банк за тугрики или каким то другим образом приобретают акции неких виртуальных компаний. Дивидендов акции не приносят, их можно только покупать и продавать. Банк продает акции, конечно дороже чем покупает. Но акции могут изменяться в цене по какому-то случайному закону. Отслеживая тенденцию изменения цены и вовремя покупая/продавая акции игроки могут извлекать прибыль.

    Если сделать возможность покупать/продавать акции не только с терминала банка но и по сети, продвинутые пользователи смогут этот процесс автоматизировать, что бы не стоять день и ночь у терминала.


  4. Я лишь высказал свое скромное мнение по поводу файла, выложенного Вами на гитхаб на момент высказывания:

     

     

    --Нарисовать созданный массив по указанным координатам и обрезать строку до указанной длины.
    function syntax.highlightAndDraw(x, y, limit, text)
    	--Чутка левее делаем координату, т.к. цикл начинается с 1
    	x = x - 1
    	--Получаем подсвеченный массив
    	local massiv = syntax.highlight(text)
    	--Задаем стартовый цвет
    	local currentColor = currentColorScheme.text
    	gpu.setForeground(currentColor)
    	--Перебираем все элементы полученного массива
    	local symbol = 1
    	while symbol <= #massiv do
    		--Легкая оптимизация. Меняет цвет текста только в случае несоответствия текущего цвета и цвета из массива
    		if currentColor ~= massiv[symbol].color then currentColor = massiv[symbol].color; gpu.setForeground(massiv[symbol].color) end
    		--Жирная оптимизация. Анализирует ближайшие цвета создает одну строку из массы символов вместо одного символа
    		local stro4ka = massiv[symbol].symbol
    		--Считаем кол-во последующих символов с таким же цветом, как и у этого
    		local counter = 1
    		--Перебираем все символы с последующего и до конца
    		for nextSymbol = (symbol + 1), #massiv do
    			--Если цвет последующего равен текущему
    			if massiv[nextSymbol].color == massiv[symbol].color then
    				--То прибавить к строчке следующий символ
    				stro4ka = stro4ka .. massiv[nextSymbol].symbol
    				--Записать в counter, что символы совпали, значит, +1 к нему
    				counter = counter + 1
    			else
    				break
    			end
    		end
    		--Отрисовываем целую строку сразу одним цветом
    		gpu.set(x + symbol, y, stro4ka)
    		--Прибавляем к символу столько, сколько схожего цвета насчитало
    		symbol = symbol + counter
    		--Очищаем память
    		stro4ka, counter = nil, nil
    	end
    end 

     

     

    Но Вам, как автору, конечно лучше знать.


  5. Как со списком работать? Нихрена не понятно, ни как вставить, ни как удалить, что за элемент, если он все равно текстовый?

    Список это компонент, напоминающий lua-таблицу. Только визуализированный, т.е. имеющий некое представление на экране компьютера. Как и таблица, список может хранить элементы всех доступных в луа типов данных - числа, строки, таблицы, функции. Только, в отличии от таблицы, каждый элемент списка помимо собственно данных имеет строку при помощи которой данный элемент отображается.

    Вставляются элементы в список при помощи метода insert. Методу insert необходимо передать три параметра:

     - числовой - позицию, в которую вставляется элемент (при этом все последующие элементы сдвинутся);

     - строковый - имя, под которым данный элемент будет отображаться;

     - произвольный тип - собственно элемент списка.

    Если позиция вставляемого элемента пропущена, элемент будет вставлен в конец списка.

    Пример заполнения списка разными типами данных:

    function hello()
      print("Hello, world!")
    end
    
    List1=Form1:addList(5,5) -- создаем список
    List1:insert("число",42) -- заполняем список
    List1:insert("строка","string")
    List1:insert("таблица",{1,2,3})
    List1:insert("функция",hello)
    

    Удаление данных из списка поэлементно не предусмотрено. Список очищается целиком при помощи метода clear

     

     

     

    Если Вы чайник и/или не умеете читать — пожалуйста, уйдите.

    Ну зачем же сразу так?

    • Нравится 2

  6.  

     

    Ты что-то говорил про TextEditor, он есть?

    Да. Я совместил его с компонентом Edit. Если полю text компонента присвоить значение string, мы будем иметь однострочный редактор. Завершение редактирования осуществляется клавишей Enter.

    Если размеры компонента сделать побольше, а полю text присвоить значение table, получим многострочный редактор. Клавиша Enter будет вставлять новую строку, а выход из редактирования - клавишей F10.

    • Нравится 1

  7.  

     

    У компьютера стандартной комплектации должны обнаруживаться следующие файловые системы: - eeprom - жесткий диск - ram-диск - флопи-диск (при наличии)

    Я ввёл в заблуждение почтеннейшую публику. Eeprom как файловая система не видна. За нее я принял интернет-карту, которая добавляет некоторые файлы в папки /bin, /lib и /usr, а значит тоже является файловой системой.

    Список файловых систем и путей куда они смонтированы выдает команда df


  8.  

     

    И, типо, засунув что-то в эту папку можно изменить содержимое оперативной памяти?
    Строго говоря, да. Но получить доступ к памяти программы не получится. Просто кусок оперативы выделяется в качестве дополнительного диска, который можно использовать для врЕменного хранения данных.
    • Нравится 1

  9. У компьютера стандартной комплектации должны обнаруживаться следующие файловые системы:

    - eeprom

    - жесткий диск

    - ram-диск

    - флопи-диск (при наличии)

    Для всех них list("/") возвращает либо перечень файлов либо пустую таблицу.

     

    Посмотри какие "необычные" компоненты подключены к компьютеру, которые теоретически могут обнаруживаться как файловая система.

    Может ты вставлял, а потом вынул дискету или НЖМД?

    Запускал ли какие то странные программы?

    • Нравится 1
×
×
  • Создать...