Re: Now I Know Why I'm Having Trouble With Objects

  • From: "Littlefield, Tyler" <tyler@xxxxxxxxxxxxx>
  • To: programmingblind@xxxxxxxxxxxxx
  • Date: Tue, 12 Apr 2011 21:37:49 -0600

It could be cool to write a multi-player game (uno). Represent your deck of cards as a stack of enums or card objects or whatever you want that represents each card value, and you could be set. you would set up a set of rules for Uno, and the two-player would save you from writing out the computer logic so you could focus on OO concepts.

On 4/12/2011 9:25 PM, Sina Bahram wrote:

I agree with this. I think a card game, of which there are thousands, might be the best because it lets you have some of that chess like feel in that you still have to solve representation problems. The game of life or monopoly would do the same thing to, but the boards are a bit more complicated so folks tend to abstract them out into Rules classes.

Poker is probably one of the simplest after you pass things like 21/blackjack and so on.

Take care,

Sina

*From:*programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] *On Behalf Of *Ken Perry
*Sent:* Tuesday, April 12, 2011 10:57 PM
*To:* programmingblind@xxxxxxxxxxxxx
*Subject:* RE: Now I Know Why I'm Having Trouble With Objects

Jim,

I want to make a small suggestion. Your starting out with a very difficult problem to use OOPO to solve. The truth is there are a lot of ways you can do this for a chess game and none of them are really that good. The problem is chess is really just search tree and a state machine and making objects out of nouns and methods out of actions will not make the best of the chess games. If you're looking to learn OOP I would suggest a game like Monopoly or Life where you can actually have Objects work as they should for example you could have players on Monopoly, locations that have descriptions, prices, and things of the sort. Maybe start with a card game where you can have objects that deal with decks of cards and players and score cards and things of the sort. It's really up to you but Chess gets too complicated to fast and then you're not really thinking OOP your trying to decide the best method of figuring out who is winning which is a tougher problem then you might think.

Ken

*From:*programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] *On Behalf Of *Homme, James
*Sent:* Tuesday, April 12, 2011 3:27 PM
*To:* programmingblind@xxxxxxxxxxxxx
*Subject:* RE: Now I Know Why I'm Having Trouble With Objects

Hi,

If it's OK, I'd like to take this a little further. I was thinking about my little chess move validation project. I thought I would sit down and try to write out a little plan, because my book says that the nouns become objects, but I started to get confused when I asked myself this question. Do the pieces move, do the squares on the board somehow get pieces, or does some controller in the sky move the pieces? In the real world, the controller would be the player who is moving the pieces. The pieces can't move them selves, and all the board can do is sit there and have pieces on its squares. The rules would be another object, would they not? Oh my head.

Jim

Jim Homme,

Usability Services,

Phone: 412-544-1810. Skype: jim.homme. NonVisualDevelopment.org: Blind people can drive computers <http://www.nonvisualdevelopment.org/>. Demonstration GUI Programs: You can program GUI's while blind. <http://www.fruitbasketdemos.org/>

*From:*programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] *On Behalf Of *Homme, James
*Sent:* Tuesday, April 12, 2011 3:20 PM
*To:* programmingblind@xxxxxxxxxxxxx
*Subject:* Now I Know Why I'm Having Trouble With Objects

Hi,

I found this humorous.

Understanding the Parts of VBA "Speech"

If you were going to play soccer using BASIC, the instruction to kick a ball would look something like

"Kick the Ball"

Hey---this is how we talk! It makes sense. You have a verb (kick) and then a noun (the ball). In the BASIC code in the preceding section, you have a verb

(print) and a noun (an asterisk). Life is good.

Here is the problem. VBA doesn't work like this. No object-oriented language works like this. In an object-oriented language, the objects (the nouns) are

most important (hence, the name: object oriented). If you are going to play soccer with VBA, the basic structure would be:

Ball.Kick

You have a noun---the ball. It comes first. In VBA, this is an object

. Then you have the verb---to kick. It comes next. In VBA, this is a method.

The basic structure of VBA is a bunch of lines of code where you have

Object.Method

Sorry, this is not English. If you took a romance language in high school, you will remember that they used a "noun adjective" construct, but I don't know

anyone who speaks in "noun verb" when telling someone to do something. Do you talk like this?

Water.Drink

Food.Eat

Girl.Kiss

Of course not. That is why VBA is so confusing to someone who previously stepped foot in a procedural programming class.

Let's carry the analogy on a bit. Imagine you walk onto a grassy field and there are five balls in front of you. There is a soccer ball, a basketball, a

baseball, a bowling ball, and a tennis ball. You want to instruct the kid on your soccer team to

Kick the soccer ball

If you tell him kick the ball (or ball.kick

), you really aren't sure which one he will kick. Maybe he will kick the one closest to him. This could be a real problem if he is standing in front of

the bowling ball.

Jim

Jim Homme,

Usability Services,

Phone: 412-544-1810. Skype: jim.homme. NonVisualDevelopment.org: Blind people can drive computers <http://www.nonvisualdevelopment.org/>. Demonstration GUI Programs: You can program GUI's while blind. <http://www.fruitbasketdemos.org/>

This e-mail and any attachments to it are confidential and are intended solely for use of the individual or entity to whom they are addressed. If you have received this e-mail in error, please notify the sender immediately and then delete it. If you are not the intended recipient, you must not keep, use, disclose, copy or distribute this e-mail without the author's prior permission. The views expressed in this e-mail message do not necessarily represent the views of Highmark Inc., its subsidiaries, or affiliates.



--

Thanks,
Ty

Other related posts: