15 thoughts on “Java Chess Programming Video #7 The Bishop

  1. Loving the series. Thanks a ton. One question that has been pestering me, why are there no row exclusions? Keeping symmetry in mind, there should have been exclusions for the edge rows as well. Idk if this is addressed later on in the series, or if the current exclusion columns are sufficient to cover all the edge cases.

  2. great guide, I'm glad to have found something this thorough and well paced. may I run the risk of making a question that may be answered in the subsequent videos? why do you evaluate the candidateDestinationCoordinate = this.piecePosition case? isn't this just asking for the processor to reevaluate positions that have previously been checked on, since the piece will only ever make legal moves? would it not be better to add the candidateCoordinateOffset to candidateDestinationCoordinate before entering the while loop? or is this for AI reasons?
    edit: I 100% can respect if you made this decision for better readability, I'm just checking because this is the approach I'm using on my program and was wondering if this would somehow fuck up the AI later on

  3. I like your tutorials. But why are you so obsessed about making as many variables final , as possible? Is this because of the immutability? What's the advantage of having most variables declared as final?

  4. Hey,I'm following your video and Im a bit beginner of java then I might miss some points haha.

    why did you use "break;" for the bishop and "continue;" for the knight class? Isn't it supposed to be the same? Can you help me explain this please.I know exactly how different they are but I just don't get it here.

    And for the bishop class,Im not sure if my understand is right. If >condition within if(isFirstColumnExclusion…) statement is true then it will get out of the loop(while loop) ?? and then what next ?? and what if the condition is false ,what will happen next? Im not sure about these stuffs…

    also in the knight class how does the continue; work ? when the condition within if is true/false

  5. Hey, thank you for the awesome videos!
    I was following the tutorial and ran into a bug.
    For some reason the isTileOccupied() and getPiece() methods are not recognized in the Knight class. I've imported the Tile class at the top of the Knight class. I have made sure that the methods are public. The IDE also isnt offering any assistance.
    Also, I cannot initialize the ArrayList of legalMoves for the Knight class. I am using the same line of code as you but the IDE underlines the declaration and says 'cannot infer arguments'.

  6. Hey, i have problem in 8:08, in the sentence "return immutableList.copy0f(legalMoves)".
    The words "copy0f(legalMoves) are in red in my program, why happen this ? Please, i hope your answer. I am really want to develop this program.

Leave a Reply

Your email address will not be published. Required fields are marked *