LINUX.ORG.RU
ФорумTalks

Префкалк


0

0

Преамбула.

1. Мне было скучно,

2. Захотелось в рубях поковыряться

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

В результате появился https://garage.maemo.org/projects/prefcalc/

К сожалению, в данный момент порт ruby на маемо слегка сломан (точнее, его gtk binding). Поэтому запускать приходится на обычном линухе.

Вчера выложил первую ... pile of code. Арифметика вроде как работает (для Ленинградки, по идее и для Сочинки должна). Нормального инсталлятора нет, локализации нет (надо прикрутить gettext), даже пристойного шелловского скрипта для запуска нет - надо просто запустить pref_gtk.rb.

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

ЗЫ Состояние пре-альфа, поэтому только в толксы такое и можно.

ЗЗЫ Если доведу до минимально человеческого состояния, попробую на йамобилко портировать, заодно в objc поупражняюсь.

★★★★★


ну посмотри как в gems проекты добавляют. AFAIR там всё дюже просто. заодно и головняки с дистрибуцией снимутся.

// wbr

klalafuda ★☆☆
()

А чего-то подобного для игральных автоматов нет, случайно?

lester_dev ★★★★★
()

<troll_mode>
И да, что это за модератор, который вместо того, чтобы заниматься служебными обязанностями, режется в преферанс?! Негодую.
</troll_mode>

lester_dev ★★★★★
()
Ответ на: комментарий от klalafuda

Ну там вообще-то есть rakefile, который строит gem. Но он довольно тупой. Где б найти документ о том, как правильно это делать?

svu ★★★★★
() автор топика
Ответ на: комментарий от ovax

И ключ от квартиры.

ЗЫ Вообще-то я пытался арифметику в отдельный модуль запихать, так что по идее желающих ничто не останавливает...

svu ★★★★★
() автор топика

>Если доведу до минимально человеческого состояния, попробую на йамобилко портировать

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

h8 ★★★
()
Ответ на: комментарий от svu

> Ну там вообще-то есть rakefile, который строит gem. Но он довольно тупой. Где б найти документ о том, как правильно это делать?

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

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от h8

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

> роспись должна быть на бумаге, а собственно, игра в целом должна проходить вдали от компьютера и прочих ненужных (в игре) вещей

Почему? Удобно же иметь возможность в каждый момент знать текущий итог. Не говоря уж о том, что часто под конец игры участники слишком ... расслаблены, чтоб заниматься высшей математикой умножения на 10 и деления на, страшно подумать, 3!

И еще. Я лет 15 играл в преф, не умея расписывать (соббсно до того момента как начал ваять этот код). Вряд ли я один такой.

svu ★★★★★
() автор топика
Ответ на: комментарий от klalafuda

> я бы начал с рассмотрения спеков для какого-нить более-менее подходящего гема
Например?

svu ★★★★★
() автор топика
Ответ на: комментарий от svu

> Например?

ой да любой. IMHO для такого не сложного приложения без особых требований к инсталеру и пр. пойдёт всё, что угодно. оно ведь вроде как не должно хотеть чего-то сверхъестественного, правда?

// wbr

klalafuda ★☆☆
()

Сергей, как это не красиво с Вашей стороны, пидон, только пидон спасет Вашу душу.

phasma ★☆
()
Ответ на: комментарий от klalafuda

Безусловно. Я просто не знаю навскидку ни одного простого рубишного десктопного приложения (не рельсового)

svu ★★★★★
() автор топика
Ответ на: комментарий от phasma

Возможно. Абстрактный интерес есть, конкретно надо смотреть...

svu ★★★★★
() автор топика
Ответ на: комментарий от svu

>Удобно же иметь возможность в каждый момент знать текущий итог. Не говоря уж о том, что часто под конец игры участники слишком ... расслаблены, чтоб заниматься высшей математикой умножения на 10 и деления на, страшно подумать, 3!

Дык в этом весь и смысл. Умение делать быстро предварительные оценки, рисковать исходя из своих предположений/вычислений и т.д. Но боюсь, вы меня не поймете...

h8 ★★★
()
Ответ на: комментарий от klalafuda

> типун тебе на язык.. :-/
На какой именно язык? Функциональный, декларативный, императивный...?;)

svu ★★★★★
() автор топика
Ответ на: комментарий от h8

Гхм. Я догадываюсь, о чем Вы. Но с моим скромным 15-летним опытом мне кажется, что смысл все-таки скорее в удовольствии от самой игры (особенно от распасов:) Роспись - это так... формальность;)

ЗЫ Впрочем, на деньги я практически не играл.

svu ★★★★★
() автор топика
Ответ на: комментарий от svu

>ЗЫ Впрочем, на деньги я практически не играл.

А я никогда не играл на деньги ;)

h8 ★★★
()
Ответ на: комментарий от svu

>Гхм. Я догадываюсь, о чем Вы. Но с моим скромным 15-летним опытом мне кажется, что смысл все-таки скорее в удовольствии от самой игры (особенно от распасов:) Роспись - это так... формальность;)

>ЗЫ Впрочем, на деньги я практически не играл.

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

Игра без денег практически всегда вырождается в игру без интриги и борьбы.

сейчас же я практически не играю, и в практическом смысле помочь не смогу :-[

Хотя идея по моему правильная.

argin ★★★★★
()
Ответ на: комментарий от argin

> Игра без денег практически всегда вырождается в игру без интриги и борьбы.
У меня довольно большой опыт игры без денег, на интерес. Но вообще это сильно зависит от характера игроков.

> и в практическом смысле помочь не смогу

Для того, чтобы запустить и поругать интерфейс (или даже арифметику) играть, строго говоря, не обязательно;)

svu ★★★★★
() автор топика
Ответ на: комментарий от argin

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

А кто мешает играть копеек по десять за вист?? Много не проиграешь, но и садиться на 5000 вистов тоже не особо охота, таки 500р деньги более менее вещественные.

Nagwal ★★★★
()
Ответ на: комментарий от Nagwal

По десять копеек играть не Ъ. Правильно играть — по полкопейки за вист. Тогда вот копейку пилить. Да.

anarquista ★★★★★
()

Лично у меня, заработал только эбаут :) При нажимании New Game:

/prefcalc-0.1 % ./pref_gtk.rb
./new_game_dialog.rb: line 52                    
   libglade-WARNING **:could not find glade file 'prefcalc.glade'
./new_game_dialog.rb:52:in `initialize': could not load glade file prefcalc.glade
         from ./new_game_dialog.rb:52:in `new'
         from ./new_game_dialog.rb:52:in `initialize'
         from ./pref_calc_actions.rb:45:in `new'
         from ./pref_calc_actions.rb:45:in `do'
         from ./pref_calc_actions.rb:30:in `add_button'
         from ./pref_gtk.rb:130:in `call'
         from ./pref_gtk.rb:130:in `main'
         from ./pref_gtk.rb:130

a3
()
Ответ на: комментарий от svu

> У меня довольно большой опыт игры без денег, на интерес. Но вообще это сильно зависит от характера игроков.

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

a3
()
Ответ на: комментарий от Nagwal

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

>А кто мешает играть копеек по десять за вист?? Много не проиграешь, но и садиться на 5000 вистов тоже не особо охота, таки 500р деньги более менее вещественные.

Разве я говорил, что мы играли на свои имения ?

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

Вот так и достигаются две взаимно-противоречащие друг другу цели - участвовать в интересной игре и не проигрывать большие деньги самому, и не наносить финансовый ущерб друзьям :-)

argin ★★★★★
()
Ответ на: комментарий от svu

>> и в практическом смысле помочь не смогу

>Для того, чтобы запустить и поругать интерфейс (или даже арифметику) играть, строго говоря, не обязательно;)

Убедил :-)

В меру сил поучаствую в полезном деле

argin ★★★★★
()
Ответ на: комментарий от argin

> Когда возможная потеря достигает порога ощутимости, этого становится вполне достаточно, чтобы она отсекала неоправданный риск.

Если игрок ничем не рискует -- игра УГ, и 90% возможных стратегий игры теряется. Все это относится и к лимитированным играм.

> Вот так и достигаются две взаимно-противоречащие друг другу цели - участвовать в интересной игре и не проигрывать большие деньги самому, и не наносить финансовый ущерб друзьям

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

a3
()

./pref_gtk.rb:9:in `require': no such file to load -- gtk2 (LoadError) from ./pref_gtk.rb:9

Гном у меня рабочая среда, руби тоже есть. Работаю я в генту

argin ★★★★★
()
Ответ на: комментарий от a3

>> Вот так и достигаются две взаимно-противоречащие друг другу цели - участвовать в интересной игре и не проигрывать большие деньги самому, и не наносить финансовый ущерб друзьям

>Друзья и знакомые должны понимать, что в игре нет дружеских отношений и не смешивать с личной жизнью.

Да ты что ? Для меня/нас, игра в карты это лишь один из способов общения. И в любом случае, мне будет _неприятно_ наносить финансовый ущерб _друзьям_.

А друзья это тоже _часть_ личной жизни.

argin ★★★★★
()
Ответ на: комментарий от a3

Можно взять glade из svn. А вообще я таки поработал над сборкой, сегодня вечером будет 0.2, который инсталлируется и работает как нормальный gem.

svu ★★★★★
() автор топика
Ответ на: комментарий от svu

Мне стало так стыдно, что я решил сделать релиз сейчас. Попробуйте - gem должен нормально собираться и запускаться. Во всяком случае, у меня он это делает.

Спасибо всем, кто нашел время на это сырье!

svu ★★★★★
() автор топика
Ответ на: комментарий от Miguel

> у меня на первом работает.
Без jailbreak???? Вроде как эппл его не включал в поставку...

svu ★★★★★
() автор топика
Ответ на: комментарий от svu

А чего это он в 5 раз похудел? Скачал *.zip. Запустил:

/prefcalc-0.2 % ruby pref_gtk.rb
./pref_util.rb:22: undefined method `bindtextdomain' for PrefUtil:Class (NoMethodError)
	from ./new_game_dialog.rb:7:in `require'
	from ./new_game_dialog.rb:7
	from ./pref_calc_actions.rb:8:in `require'
	from ./pref_calc_actions.rb:8
	from pref_gtk.rb:14:in `require'
	from pref_gtk.rb:14

/prefcalc-0.2 % bin/prefcalc 
./pref_util.rb:22: undefined method `bindtextdomain' for PrefUtil:Class (NoMethodError)
	from ./new_game_dialog.rb:7:in `require'
	from ./new_game_dialog.rb:7
	from ./pref_calc_actions.rb:8:in `require'
	from ./pref_calc_actions.rb:8
	from ./pref_gtk.rb:14:in `require'
	from ./pref_gtk.rb:14
	from bin/prefcalc:14:in `load'
	from bin/prefcalc:14

ps с какой целью делать 

-rwxr-xr-x 1 a3 a3  12K 2009-03-17 05:06 hand_results_dialog.rb*
-rwxr-xr-x 1 a3 a3 3.5K 2009-03-17 05:11 new_game_dialog.rb*

? С тольку сбивает же.

a3
()
Ответ на: комментарий от a3

>> Гном у меня рабочая среда, руби тоже есть. Работаю я в генту

>Установи:

>libgconf2-ruby libglade2-ruby libgtk2-ruby

Спасибо.

На какие только жертвы не пойдёшь ради общего дела :-)

Установил себе около 15 разных пакетов вместе с зависимостями.

Но работает только из под рута, и при попытке нажать кнопку "new game" падает с листингом:

./drawing.rb: line 31 libglade-WARNING **:could not find glade file 'prefcalc.glade' ./new_game_dialog.rb:52:in `initialize': could not load glade file prefcalc.glade from ./new_game_dialog.rb:52:in `new' from ./new_game_dialog.rb:52:in `initialize' from ./pref_calc_actions.rb:45:in `new' from ./pref_calc_actions.rb:45:in `do' from ./pref_calc_actions.rb:30:in `add_button' from ./pref_gtk.rb:130:in `call' from ./pref_gtk.rb:130:in `main' from ./pref_gtk.rb:130

больше разбираться сегодня не было времени, продолжу завтра

argin ★★★★★
()
Ответ на: комментарий от a3

> А чего это он в 5 раз похудел?
Потому что нефиг полуметровый png с собой таскать, если jpg достигает нужного эффекта.

> bindtextdomain

Ага. Надо прописать в gem, что он требует gettext ruby binding. Пока что не используется, но будет.

> ps с какой целью делать

Да, надо пофиксить. Лишнее это.

svu ★★★★★
() автор топика
Ответ на: комментарий от argin

Это все должно быть пофикшено в 0.2. Спасибо за время!

svu ★★★★★
() автор топика
Ответ на: комментарий от Miguel

Потому что ИМХО не очень красиво _заставлять_ желающих использовать твою программу нарушать соглашения. Несмотря на скотство эппла.

svu ★★★★★
() автор топика
Ответ на: комментарий от svu

В subversion положена локализация, в основном работающая. Значит, скоро будет 0.3

svu ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.