Join David Powers for an in-depth discussion in this video Detecting horizontal attacks programmatically, part of Code Clinic: PHP.
- View Offline
- Exercise Files
- In Chess, queens can attack…horizontally, vertically and diagonally.…We've eliminated the first two possibilities by using…binary numbers to represent each row.…There are eight binary numbers, each with only one bit set.…This ensures no two queens are ever…in the same row or column, it's easier to see…if you remove the zeroes.…That means that we only have to check for diagonal attacks.…Let's say there is a queen in the fifth column…of the fourth row, if we check the board row by row…beginning at the top, we need to search…for potential attacks only upwards and left…and upwards and right, diagonal attacks…from the adjacent row come from the column…on either side of the target, attacks from two rows away…come from squares two columns away and so on.…
Diagonals are always an equal number…of rows and columns from the target.…Let's see how we can test adjacent rows.…This is the first row with a binary number…from one of the permutations, we need…to test it against the second row.…Diagonal attacks against the queen in the second row…
David introduces challenges and provides an overview of his solutions in PHP. Challenges include topics such as statistical analysis, searching directories for images, and accessing peripheral devices.
Visit other courses in the series to see how to solve the exact same challenges in languages like C#, C++, Java, Python, and Ruby.
Skill Level Intermediate
PHP with MySQL Essential Trainingwith Kevin Skoglund14h 32m Beginner
Exporting Data to Files with PHPwith David Powers3h 42m Intermediate
Problem One: Statistical Analysis
Problem Two: Image Analysis
Problem Three: Eight Queens
Problem Four: Accessing Peripherals
Problem Five: Recursion and Directories
Problem Six: Building the Web
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
Take notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.