The ultimate goal of this project is to use distributed objects to implement a stock market game for several human players and several computer players. The implementation must be done using Java RMI.
You are to create a fast-paced on-line interactive game of stock market, which has many of the characteristics of electronic commerce. The entities in the game are a bank, a stock exchange, several companies and several players. The time between events has been significantly accelerated to make the game more challenging and interesting.
Company: A company has a name and issues stock. Once a minute, the company's price of the stock is adjusted based on a random process and the law of supply and demand. Initially each company has 1000 shares of stock which starts at $30 a share. There are three to ten companies in the game.
A company buys or sells shares to a player by accepting or rejecting the player's bid. The process of deciding to accept or reject may be random or based on sound business practices.
Player: There are two types of players - human and computer. A player starts with $1000 and buys and sells stock from companies or other players by trading through the stock exchange. The goal of a player is to make money. A player buys or sells shares from another player or a company by posting bids on the stock exchange. The company or the other player may accept or reject the player's bid. The process of deciding how the computer-based player accepts or rejects may be random or based on sound business practices. There are two to ten players.
Stock Exchange: Players and companies must register with the stock exchange. All trading of stocks must go through the centralized stock exchange. The stock exchange posts current bids and the prices of recent transactions on each stock.
Of course, a player can not buy shares of stock that don't exist and he or she must have enough cash to purchase the desired shares.
The bank, stock exchange, companies and computer players are trusted entities, i.e., they don't cheat.
Hand in a mockup of the player's screen and describe it's appearance and the player's interactions. The mockup could be done in MS Word.
Supply a class diagram showing all the remote objects and where they reside. Describe the responsibilities of each object.
Explain why you decided on your design.
You are to design and implement a computer player which analyzes the bids on current stocks and buys and sells to make a gain. It also post bids on stock it owns. A parameter is passed to each computer player on start up to characterize its behavior in the range from very bearish to very bullish. The computer players provide variety and fluctuations in the market and, therefore, more interest to the game.
We will demonstrate our games in lab as we did before. Prizes will be awarded to the best games.