Image

Imagematthias382 wrote in Imagejava_dev 😟anxious

Planning and Practice

Hey all! I think I posted an introduction to this community a good while back, but haven't had a chance to post since. My interest in learning Java has reared its head again, and with a copy of Visual J++ on my Win XP machine and a copy of "Learning Java" from O'Reilly Press in-hand, I'm trying to start picking Java up for the first time. I've got some background in C++ and, after a little reading, am familiar with some of the concepts Java introduces that C++ doesn't support or make full use of. In any case, tips on good learning resources would be most appreciated.

Anyway, here's the deal. I've come up with an idea for a personal project in order to give me a playground on which to learn Java. Here are my points of interest:

1) An environment that allows two people (or more, if possible) to play card games via a peer-to-peer connection, either over a LAN or via the Internet (preferably both).

2) One or more decks (private) and discard piles (private or public) in addition to one hand per player (private) and an interface to configure related options (i.e. one or multiple decks, public or private discard piles, maximum number of cards per hand, etc).

3) Board viewable by all players on which cards are revealed to all players and cards can be positioned for organization.

4) Interface to define and store the configuration of custom properties of a card for a particular game (ex: suite and type for playing cards), likely in a database (if so, preferably Access). This will allow any type of card, from a card in a regular deck of playing cards to a card from a popular trading card game, to be implemented.

5) Interface to define and store the configuration of cards of a particular type (defined using interface from #4, ex: four of spades for playing cards) in same data source as in #4.

6) Interface to define and store the configuration of decks built from particular cards (defined using interface from #5, ex: all cards constituting a deck of regular playing cards) in same data source as in #4.

7) Simple chatting functionality to allow for communication between players.

This will leave more or less all governing of the game up to the players, but will provide an interface that will allow them to play just about any game online. Suggestions, comments, concerns? Any tips on what libraries might be useful in this project? Anyone in particular think they might want to contribute their knowledge to the project?