Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A Perl scoreboard management project
Perl
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib/Games
t
.gitignore
Changes
MANIFEST
MANIFEST.SKIP
Makefile.PL
README

README

GAMES-SCOREBOARD

Games::Scoreboard is a Perl project to manage and manipulate scoreboard,
players and scores.

Sometimes I play something, and I need to register points by player, to have
the top scorers, and sometimes I would like to have also an history of
ranking.

I wanted persistance and I implemented the possibility to save in (and load
from) XML data file.
I wanted "easy mode" to insert data and I created GUI (first Curses::UI to
allow data entry by remote-terminal).

It's my desire the whole project had a strong trend for the decoupling, so
GUI(s) draws only, the XML model just reads and writes, and Games::Scoreboard
lib map data. I hope this may help to develop plugins and useful features.


INSTALLATION

To install this module, run the following commands:

	perl Makefile.PL
	make
	make test
	make install


DEPENDENCIES

Curses::UI
DateTime
DateTime::Format::ISO8601
IO::File
Mouse
Mouse::Util::TypeConstraints
Set::Object
XML::Parser
XML::Writer


WHY MOUSE?
(and not Moose or Moo or other OOP modules)

I appreciate the idea to create constructor, accessors and OOP logic easily
and fast.
I don't prefer an OO module on the others: I've choosen Mouse because the game
has started all this in my mind was about mices. ;-)

If you are interested in benchmarks about OO you can read here:
http://blogs.perl.org/users/michael_g_schwern/2011/03/and-the-fastest-oo-accessor-is.html



LICENSE AND COPYRIGHT

Copyright (C) 2011 simotrone

This program is free software; you can redistribute it and/or modify it
under the terms of either: the GNU General Public License as published
by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

Something went wrong with that request. Please try again.