Your move

Your move

Processing grid references to indexes.

Popular games like chess and battleships are played on a grid of squares that can be referred to with coordinates such as A1, B3, C5 etc. The user would input the coordinate to make a move with a piece on that square. However, for processing it is easier to work with just numbers instead of a combination of letters and numbers. This program takes an input and creates a list of the numerical grid reference. E.g. A1 is [1, 1], B3 is [2, 3] and C5 is [3, 5].

Make


Write a program that converts a grid reference, e.g. C5 to a list of two coordinates, e.g. [3, 5].

Use this boilerplate code as a starting point:

Success Criteria

Remember to add a comment before a subprogram, selection or iteration statement to explain its purpose.

Complete the subprogram called `get_move` that:

  1. Prompts the user to enter their move.
  2. Strips any additional whitespace.
  3. Converts the input to uppercase.
  4. Returns the string.

Complete the subprogram called `get_indexes` that:

  1. Takes a parameter `move` which is the string output from `get_move`.
  2. Returns the coordinates as a list of two indexes.

Complete the `main program` so that:

  1. It calls the `get_move` function.
  2. Outputs the coordinate list.

Typical inputs and outputs from the program would be:

Enter your move: A1

[1, 1]


Enter your move: B3

[2, 3]


Enter your move: c5

[3, 5]

Knowledge Organiser

Use these resources as a reference to help you meet the success criteria.

Programming guide:

Evaluate


Run the unit tests below to check that your program has met the success criteria.

Enter your move: c8

[3, 8]

Enter your move: f6

[6, 6]

Enter your move: G4

[7, 4]

Enter your move: d3

[4, 3]

Check that you have:

  • Used comments within the code to describe the purpose of subprograms, conditions and iterations.
  • Used meaningful identifier names. That means the names of subprograms and variables indicate what they are for.
Craig'n'Dave logo

Craig ‘n’ Dave

In partnership with

Mission Encodeable
Bett Awards 2024 Finalist