From: Konstantin T. <an...@ya...> - 2010-09-22 17:37:44
|
Обсудили с Александром возможности будущего устройства OpenPref [2010-09-22 20:36] Oleksandr Dodatko: я вот обнаружил что не учёл такие вещи как информация о закрытых картах соперника. [2010-09-22 20:37] Oleksandr Dodatko: ну, мол, закончился у товарища козырь [2010-09-22 20:37] Konstantin Tokarev: через вышедшие карты [2010-09-22 20:37] Konstantin Tokarev: которые у всех одни и должны браться из модели [2010-09-22 20:38] Oleksandr Dodatko: вообще, да. но высчитывать это каждый раз утомительно [2010-09-22 20:38] Konstantin Tokarev: неэффективно [2010-09-22 20:38] Oleksandr Dodatko: лучше каждому игроку дать по listener, который будет при случае данную инфу запоминать [2010-09-22 20:39] Konstantin Tokarev: хм, тогда уж внутри накапливать инфу [2010-09-22 20:39] Oleksandr Dodatko: то есть, я к тебе зашёл в бубну. у тебя бубны нет, ты выбросил козырь. мой listener это увидел и себе тихонько записал. [2010-09-22 20:39] Oleksandr Dodatko: то есть, сброс общий. а вот такие вещи лучше чтобы каждый при себе хранил. [2010-09-22 20:39] Oleksandr Dodatko: подскажи ещё подобные вещи в тот же thread на рассылке если вспомнишь. [2010-09-22 20:40] Konstantin Tokarev: согласен. получается, что класс Player таки нужен:) [2010-09-22 20:40] Konstantin Tokarev: а что именно подсказать? [2010-09-22 20:40] Oleksandr Dodatko: подобную косвенную инфу по игрокам. [2010-09-22 20:40] Oleksandr Dodatko: ну, типа отсутствия определённой масти. [2010-09-22 20:41] Konstantin Tokarev: вышедшие крупные карты [2010-09-22 20:41] Oleksandr Dodatko: ну, у нас будет полный лог вышедших карт [2010-09-22 20:41] Konstantin Tokarev: он и сейчас есть, просто публично метода в PrefModel нет:) [2010-09-22 20:42] Konstantin Tokarev: есть внутренняя проверка на туз в рукаве:) [2010-09-22 20:42] Konstantin Tokarev: чтобы при игре по сетке два раза ону карту не передали [2010-09-22 20:44] Oleksandr Dodatko: похоже, больше ничего таки не нужно. [2010-09-22 20:44] Oleksandr Dodatko: ок. спасибо. [2010-09-22 20:45] Konstantin Tokarev: ну можно анализировтаь как соперники торговался, правда это только против человека поможет [2010-09-22 20:45] Konstantin Tokarev: или сделать специально стратегию с "дыркой" [2010-09-22 20:46] Konstantin Tokarev: типа компу надоело и он резко поднял до восьми [2010-09-22 20:46] Oleksandr Dodatko: не. это не то. [2010-09-22 20:46] Konstantin Tokarev: или начал не с 6 пик [2010-09-22 20:46] Oleksandr Dodatko: я про вспомогательные элементы окружающей среды [2010-09-22 20:47] Konstantin Tokarev: какое пиво пьет противник? :) [2010-09-22 20:47] Oleksandr Dodatko: то есть, явно у нас нигде не написано что у него бубна закончилась. но мы проанализировали его выброс и всё узнали. [2010-09-22 20:48] Konstantin Tokarev: ну это уже обсудили [2010-09-22 20:48] Konstantin Tokarev: это можно в модели хранить для проверки на чит (ренонс) [2010-09-22 20:49] Oleksandr Dodatko: а потом отдавать всем кто попросит? можно и так :) [2010-09-22 20:49] Konstantin Tokarev: хм, может отдавать не стоит. по правилам можно смотерть последнюю взятку :) [2010-09-22 20:50] Oleksandr Dodatko: ну, типа компы у нас таааакие умные что помнят прям всё что вышло и чего у кого нет [2010-09-22 20:50] Oleksandr Dodatko: :) [2010-09-22 20:52] Konstantin Tokarev: не, скрывать не надо. в модифицированном клиенте эту инфу все равно легко вытащить, в немодифицированном она не будет видна человеку, а вообще все легко записать на бумажке [2010-09-22 20:54] Oleksandr Dodatko: та можно даже отдельную фичу завести. мол, покажи мне чё вышло итп. типа "режим обучения" [2010-09-22 20:54] Konstantin Tokarev: ага [2010-09-22 20:54] Oleksandr Dodatko: или давать подобную подсказку, скажем, 2 раза в сдачу [2010-09-22 20:55] Konstantin Tokarev: тогда уж как в кдеешных играх - "подскажи как ходить дальше" :) [2010-09-22 20:57] Konstantin Tokarev: сбоку показывать справку на тему что сейчас происходить и что надо делать ( в зависимости от текущего состояния) [2010-09-22 20:58] Oleksandr Dodatko: ну, кто знает толк, тот эту хрень отрубает [2010-09-22 20:59] Konstantin Tokarev: наоборот, по-умолчанию выключить надо, кто не знает - включит [2010-09-22 20:59] Oleksandr Dodatko: да и вообще, найдутся features помажорнее [2010-09-22 20:59] Konstantin Tokarev: мб иностранцы какие-нибудь начнут учиться:) [2010-09-22 20:59] Konstantin Tokarev: расширить круг пользователей [2010-09-22 21:00] Oleksandr Dodatko: ну, это да. [2010-09-22 21:00] Konstantin Tokarev: в принципе качают не только в Росси и Украине [2010-09-22 21:00] Oleksandr Dodatko: к стати, глянь потом на класс ITradeStrategy повнимательней. Может, его слегка распилить стоит? У меня были некоторые сомнения когда я его рисовал :) [2010-09-22 21:02] Konstantin Tokarev: а что там пилить? там же один метод всего :) [2010-09-22 21:02] Konstantin Tokarev: а [2010-09-22 21:02] Konstantin Tokarev: не туда посмотрел:) [2010-09-22 21:02] Konstantin Tokarev: ну да, можно пополам [2010-09-22 21:03] Oleksandr Dodatko: там 3 метода :) [2010-09-22 21:03] Oleksandr Dodatko: или ты хочешь сброс отдельно? [2010-09-22 21:03] Konstantin Tokarev: нет, я хочу сброс и FinalBid вместе [2010-09-22 21:03] Oleksandr Dodatko: и как мы сие назовём? [2010-09-22 21:04] Konstantin Tokarev: имхо trade неправильное слово, мы не продаем товары [2010-09-22 21:05] Oleksandr Dodatko: ок. учту. [2010-09-22 21:05] Konstantin Tokarev: bid лучше подходит [2010-09-22 21:05] Oleksandr Dodatko: я про тип стратегии. со сбросом и финальным заказом [2010-09-22 21:05] Konstantin Tokarev: я понимаю, что если трудно назвать, это неправильно:) [2010-09-22 21:06] Oleksandr Dodatko: а может так втроём их и оставить? [2010-09-22 21:06] Konstantin Tokarev: можно, но стадии игры разные [2010-09-22 21:07] Konstantin Tokarev: это все будет в qstatemachine, и после двух пасов будет переключение [2010-09-22 21:08] Konstantin Tokarev: по-идее надо уже другую стратегию вызывать [2010-09-22 21:08] Konstantin Tokarev: хотя у них будет общий код [2010-09-22 21:09] Oleksandr Dodatko: как стадия эта называется? [2010-09-22 21:10] Oleksandr Dodatko: ладно. назовём IBidStrategy и IFinalBidStrategy [2010-09-22 21:10] Konstantin Tokarev: ок [2010-09-22 21:12] Konstantin Tokarev: еще такое соображение: наверно надо убрать коннекты между моделью и представлением - чтобы проще было не кутэшный гуй прикрутить [2010-09-22 21:13] Konstantin Tokarev: с главным окном пусть коннектится - никто не обработает и пофиг [2010-09-22 21:15] Oleksandr Dodatko: я попробую учесть. но я ещё дотуда не дошёл. [2010-09-22 21:18] Konstantin Tokarev: логика такая: коннект нужен там где заранее неизвестно какую функцию надо вызвать. например, DeskView сейчас - самодостаточный виджет, который необязательно должен сидеть в MainWindow. А в случае PrefModel и DeskView участники известны (или их базовые классы, если выделить абстрактные) [2010-09-22 21:18] Konstantin Tokarev: со стратегиями то же самое [2010-09-22 21:20] Konstantin Tokarev: если мы хотим добавить скриптовую обертку для С-подобного интерфейса это одно. а если нужно поддерживать коннекты, маленькие скриптовые движки вроде lua превращаютсяв монстров -- Regards, Konstantin |