Just to save space, let's have a color flag. Take care, Sina Take care, Sina -----Original Message----- From: programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Jared Wright Sent: Tuesday, April 12, 2011 6:08 PM To: programmingblind@xxxxxxxxxxxxx Subject: Re: Now I Know Why I'm Having Trouble With Objects So I wrote out this rough little OOP outline of how I'd model a chess game to send with piece and square objects and a board object containing collections of them, then read this and thought, "Oh, yeah. That's why Sina's smarter than me." You'd need to have twelve possible values though I think to distinguish the different color pieces and you'd have to handle mutating pawns that make it to the last row. On 4/12/2011 5:39 PM, Sina Bahram wrote: > I wouldn't necessarily model the pieces at all. > > Just treat the chess game as a state representation problem. > > The board represents the state of the game > > So, if you have an 8x8 array with 6 possible values at each slot, then > you can represent any chess game in existence. > > You can make the pieces an enum, then simply have a rules class that has > static methods to validate the board upon moves being queried, such as > > Rules.isValidMove(3, 5, Pieces.KNIGHT) > > Or whatever > > Take care, > > Sina > > *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. > __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind