Converted everything to orgmode
converted everything to orgmode and added solution to the README files
This commit is contained in:
@@ -13,11 +13,11 @@ The first project consists of two tasks: *task 1* was to reimplement the first v
|
||||
|
||||
The program template of task 2 differs from that of task 1 in two important ways:
|
||||
|
||||
1. A goal of task 1 was to show you how important — and potentially cumbersome — it is to precisely fulfil output requirements and to pass the automated tests. This is no longer the focus of task 2, and you are therefore given functions such as `print_you_won(...)` that generate the expected output for you.
|
||||
1. A goal of task 1 was to show you how important — and potentially cumbersome — it is to precisely fulfil output requirements and to pass the automated tests. This is no longer the focus of task 2, and you are therefore given functions such as =print_you_won(...)= that generate the expected output for you.
|
||||
|
||||
1. The final program consists of three major parts, and the template has three corresponding "holes" where you have to fill in code: inputting the next guess, checking the guess, and finishing the current round (we refer to each guess as one round of the game).
|
||||
|
||||
To make it easier for you to develop your solution step by step, you are given a "master implementation" for these steps, e.g `PART1_read_next_guess(...)`, which you must replace with your own code. Use the following workflow:
|
||||
To make it easier for you to develop your solution step by step, you are given a "master implementation" for these steps, e.g =PART1_read_next_guess(...)=, which you must replace with your own code. Use the following workflow:
|
||||
|
||||
1. Run the tests: everything should be fine (thanks to the master implementations)
|
||||
|
||||
@@ -31,7 +31,7 @@ To make it easier for you to develop your solution step by step, you are given a
|
||||
|
||||
* Your task
|
||||
|
||||
As mentioned above, you can develop the final solution step by step, by iteratively replacing each call to a `STEP...` master implementation by your own code.
|
||||
As mentioned above, you can develop the final solution step by step, by iteratively replacing each call to a =STEP...= master implementation by your own code.
|
||||
|
||||
** Step 1: input the next guess
|
||||
|
||||
@@ -59,7 +59,7 @@ As mentioned above, you can develop the final solution step by step, by iterativ
|
||||
PART2_handle_guess(guess, number_to_guess, play);
|
||||
#+end_src
|
||||
|
||||
1. Write code that compares the user-made guess with the number to guess: if the two are equal, call `print_you_won(guess)` to generate a you-won message, and set variable `play` to `false` to end the game. Otherwise, call `print_wrong_guess(guess)` to generate a wrong-guess message (and let the game continue).
|
||||
1. Write code that compares the user-made guess with the number to guess: if the two are equal, call =print_you_won(guess)= to generate a you-won message, and set variable =play= to =false= to end the game. Otherwise, call =print_wrong_guess(guess)= to generate a wrong-guess message (and let the game continue).
|
||||
|
||||
** Step 3: handle the guess the user made
|
||||
|
||||
@@ -102,42 +102,29 @@ You lost after 2 attempt(s) :-( The number to guess was 2.
|
||||
|
||||
* Submitting your solution
|
||||
|
||||
*Important*: you /must/ replace all three master implementations (calls to functions `PART1/2/3`) with your own code! Your submission /will not be accepted/ if it still uses the master implementations, regardless of how many tests pass when /you/ run them.
|
||||
*Important*: you /must/ replace all three master implementations (calls to functions =PART1/2/3=) with your own code! Your submission /will not be accepted/ if it still uses the master implementations, regardless of how many tests pass when /you/ run them.
|
||||
|
||||
-----
|
||||
* Solutions
|
||||
|
||||
Fronted to import libraries and the code from Task 1
|
||||
#+begin_src cpp
|
||||
#include <iostream>
|
||||
#include "guess_a_number.h"
|
||||
#+end_src
|
||||
|
||||
Main funtion where the magic happens. We define two variables: `number_to_guess` and `max_attempts` and we assign them.
|
||||
|
||||
#+begin_src cpp
|
||||
int main() {
|
||||
int number_to_guess;
|
||||
int max_attempts;
|
||||
int number_to_guess;
|
||||
int max_attempts;
|
||||
|
||||
std::cout << "Number to guess: ";
|
||||
number_to_guess = choose_a_number(10);
|
||||
|
||||
std::cout << "Number of attempts: ";
|
||||
#+end_src
|
||||
|
||||
Afterwards we make sure that the player has at least one attempts and create a variable `attempts` to count the attempts the player had.
|
||||
|
||||
#+begin_src cpp
|
||||
if (max_attempts < 1) max_attempts = 1;
|
||||
|
||||
int attempts = 0; // Attempts made so far
|
||||
bool play = true; // false once the game is over
|
||||
#+end_src
|
||||
|
||||
Now in a while loop, we solve `PART 1` to `3` commenting out the master functions.
|
||||
|
||||
#+begin_src cpp
|
||||
while (play) {
|
||||
print_attempts_left(max_attempts - attempts);
|
||||
|
||||
|
Reference in New Issue
Block a user