© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
C#C
C#•3y ago•
11 replies
FSHF

✅ How to make this loop

        switch (chessPiece)
        {
            case "Knight":
                if(isSafe(currentCell.RowNumber -2, currentCell.ColumnNumber -1))
                    theGrid[currentCell.RowNumber + 2, currentCell.ColumnNumber + 1].LegalNextMove = true;

                if(isSafe(currentCell.RowNumber + 2, currentCell.ColumnNumber - 1))
                    theGrid[currentCell.RowNumber + 2, currentCell.ColumnNumber - 1].LegalNextMove = true;
                
                if(isSafe(currentCell.RowNumber -2, currentCell.ColumnNumber +1))
                    theGrid[currentCell.RowNumber - 2, currentCell.ColumnNumber + 1].LegalNextMove = true;

                if(isSafe(currentCell.RowNumber -2, currentCell.ColumnNumber -1))
                    theGrid[currentCell.RowNumber - 2, currentCell.ColumnNumber - 1].LegalNextMove = true;
                
                if(isSafe(currentCell.RowNumber + 1, currentCell.ColumnNumber + 2))
                    theGrid[currentCell.RowNumber + 1, currentCell.ColumnNumber + 2].LegalNextMove = true;

                if(isSafe(currentCell.RowNumber + 1, currentCell.ColumnNumber - 2))
                    theGrid[currentCell.RowNumber + 1, currentCell.ColumnNumber - 2].LegalNextMove = true;

                if(isSafe(currentCell.RowNumber - 1, currentCell.ColumnNumber + 2))
                    theGrid[currentCell.RowNumber - 1, currentCell.ColumnNumber + 2].LegalNextMove = true;

                if(isSafe(currentCell.RowNumber -1, currentCell.ColumnNumber -2))
                    theGrid[currentCell.RowNumber - 1, currentCell.ColumnNumber - 2].LegalNextMove = true;

                break; 
        switch (chessPiece)
        {
            case "Knight":
                if(isSafe(currentCell.RowNumber -2, currentCell.ColumnNumber -1))
                    theGrid[currentCell.RowNumber + 2, currentCell.ColumnNumber + 1].LegalNextMove = true;

                if(isSafe(currentCell.RowNumber + 2, currentCell.ColumnNumber - 1))
                    theGrid[currentCell.RowNumber + 2, currentCell.ColumnNumber - 1].LegalNextMove = true;
                
                if(isSafe(currentCell.RowNumber -2, currentCell.ColumnNumber +1))
                    theGrid[currentCell.RowNumber - 2, currentCell.ColumnNumber + 1].LegalNextMove = true;

                if(isSafe(currentCell.RowNumber -2, currentCell.ColumnNumber -1))
                    theGrid[currentCell.RowNumber - 2, currentCell.ColumnNumber - 1].LegalNextMove = true;
                
                if(isSafe(currentCell.RowNumber + 1, currentCell.ColumnNumber + 2))
                    theGrid[currentCell.RowNumber + 1, currentCell.ColumnNumber + 2].LegalNextMove = true;

                if(isSafe(currentCell.RowNumber + 1, currentCell.ColumnNumber - 2))
                    theGrid[currentCell.RowNumber + 1, currentCell.ColumnNumber - 2].LegalNextMove = true;

                if(isSafe(currentCell.RowNumber - 1, currentCell.ColumnNumber + 2))
                    theGrid[currentCell.RowNumber - 1, currentCell.ColumnNumber + 2].LegalNextMove = true;

                if(isSafe(currentCell.RowNumber -1, currentCell.ColumnNumber -2))
                    theGrid[currentCell.RowNumber - 1, currentCell.ColumnNumber - 2].LegalNextMove = true;

                break; 

Instead of doing this, is there a way to simplyfy it
C# banner
C#Join
We are a programming server aimed at coders discussing everything related to C# (CSharp) and .NET.
61,871Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

How to make this Faster?
C#CC# / help
2y ago
How do i exit this loop inside a loop
C#CC# / help
3y ago
How to make If statement in loop only run once
C#CC# / help
3y ago