Project Proposal - Computation
This entry contains the continuation of our project propsal, found here, and continuing from here.
The following is taken from our project proposal:
3 ComputationThe computing necessary for the automatic card dealer and card game player needs to be very carefully planned and implemented to reach the appropriate result. It will need to be largely modular in Simulink much like object-oriented programs are modular in a real programming language. With clever and extensive planning before beginning the programming stages, there will be better versatility in what the machine can do. While the main focus will be implementing a blackjack dealer and player due to time constraints, if the possibility of dealing and playing any game is kept in mind, it will not be hard to add the implementation for additional games later.
3.1 Card Dealing
Card dealing will have two layers of computational modularity in simulink, implementing the functionality for dealing one card, and utilizing this functionality for dealing an entire game.
The single-card-dealing functionality is simply focused on all operations necessary for taking one card from the deck and getting it to the table. Its abstraction can be visualized as the internals of the dealing cart. This stage assumes the dealing-cart is already in the necessary position on the table for dispensing a card either dealer-side or player-side. Additionally, this stage will be modular enough that its processes will be transparent to the parent process calling it, in this case the cart on wheels. This way, the dealer cart can move to whatever position necessary and then pass a signal to deal one card either player-side or dealer-side and either face-up or face-down.
The functionality for dealing an entire game is primarily focused on getting the dealing-cart from one dealing position to another. Its secondary purpose is an intermediary between the single-card-dealer and the main control. Its abstraction can be visualized as the dealing-cart on wheels as a whole, ignoring the internals. Its functionality will be transparent to the main control, and the functionality for dealing one card will be transparent to it. When given a signal from the main control to deal to a particular card dealing position, it will move to that position and then pass on whatever signals necessary to the single-card-dealer.