WEBVTT

0
00:00.590 --> 00:06.950
Now that you've completed some of the scoping problems, it's time to tackle the final project.

1
00:06.980 --> 00:13.910
This final project is a little bit special because now, I think you've got enough experience and enough

2
00:13.910 --> 00:20.210
skills under your belt to actually create this project entirely from scratch by yourself.

3
00:20.210 --> 00:22.400
So you're flying solo now.

4
00:22.610 --> 00:29.090
Now, the first thing I want you to do is to play this game quite a few times, actually, just so that

5
00:29.090 --> 00:31.880
you get a good idea of how it works.

6
00:32.000 --> 00:38.460
Now the first thing it tells us is "Welcome'" and then it tells us "It's thinking of a number between

7
00:38.460 --> 00:41.540
1 and 100", and then we get to choose a difficulty.

8
00:41.540 --> 00:43.310
So I'm going to choose hard.

9
00:43.700 --> 00:49.820
Now it tells me that I have 5 attempts to guess the number, and I'm going to make a guess.

10
00:50.090 --> 00:53.030
Now it tells me that 50 is too high.

11
00:53.030 --> 00:54.740
It's not the number that it was thinking,

12
00:54.740 --> 00:59.400
and I have to guess again. And notice how I started out with 5 attempts,

13
00:59.400 --> 01:03.750
I'm now down to 4 attempts, so let's try 25.

14
01:03.750 --> 01:07.260
So 25 is too low, but 50 is too high.

15
01:07.260 --> 01:10.080
So that means the number is somewhere in between there.

16
01:10.080 --> 01:13.170
Let's try 30, Again,

17
01:13.170 --> 01:13.980
Too low.

18
01:14.100 --> 01:16.230
Let's try 40, Too high.

19
01:16.230 --> 01:22.980
Maybe it's 45, but I only have one attempt left because I went for the hard level and as expected,

20
01:22.980 --> 01:28.210
I didn't manage to get the right number and I've now run out of guesses, so I've lost.

21
01:28.330 --> 01:32.560
If we run again, we can try playing this on an easy level.

22
01:33.550 --> 01:37.960
On an easy level, we get 10 attempts instead of 5.

23
01:38.050 --> 01:40.930
That gives us a little bit of extra opportunity.

24
01:40.930 --> 01:42.670
So let's try 50.

25
01:42.670 --> 01:47.500
50 is too high, 25 is too high, 10, 10 is too low.

26
01:47.500 --> 01:49.780
So it's between 10 and 25.

27
01:49.780 --> 01:51.820
So let's try 15.

28
01:51.850 --> 01:57.550
Now, if 15 is too high but ten is too low, then we're pretty close to the answer.

29
01:57.670 --> 02:00.250
It's now between 12 and 15.

30
02:00.250 --> 02:02.830
Let's try 13, 14,

31
02:02.830 --> 02:03.610
there we go.

32
02:03.610 --> 02:11.170
The actual answer that it had in mind was 14, and I had four attempts remaining to get the final answer,

33
02:11.170 --> 02:13.510
and I managed to get it at the end.

34
02:14.380 --> 02:21.850
Play through this game at least three, or four times on the different levels, and remember that the easy

35
02:21.850 --> 02:29.950
level has 5 goes, the hard level the user gets 10 goes at guessing the number, and look at

36
02:29.950 --> 02:33.250
how the code works and how it's functioning.

37
02:33.250 --> 02:36.490
And then I want you to break down this problem.

38
02:36.490 --> 02:37.960
Write a TOD list.

39
02:37.960 --> 02:43.130
Create your own list of tasks that you need to solve and start with the simplest one.

40
02:43.190 --> 02:47.240
And once you've tackled that, start putting in some comments into your code.

41
02:47.240 --> 02:51.800
Write down the functionality your program needs, and then write the code.

42
02:51.800 --> 02:59.060
And then test out your code and keep going until you've tested it and made sure that it works in all

43
02:59.060 --> 03:00.290
situations.

44
03:00.770 --> 03:04.580
So this final project has no starting code.

45
03:04.580 --> 03:08.750
I'm not going to give you any comments or TODOs to start off with.

46
03:08.840 --> 03:15.080
I want you to try and tackle this entire project by yourself, and the only thing I'm going to give

47
03:15.080 --> 03:19.430
you is this link so that you can try out the final project.

48
03:19.430 --> 03:22.970
And I know that there's a lot of ways that you can cheat, but don't do it,

49
03:23.000 --> 03:24.560
have faith in yourself.

50
03:24.560 --> 03:28.970
If you tackle this for an hour, I'm pretty sure you're going to get there in the end.

51
03:29.000 --> 03:35.970
You have free reign on the styling or the wording, whatever it is you want it to say, but it has to

52
03:35.970 --> 03:37.890
have the same functionality.

53
03:37.920 --> 03:43.170
Now this also means that if you want to get some ASCII art of your own, then you can head over to this

54
03:43.170 --> 03:48.420
website, which I'll link to in the course resources and just type the name of your game.

55
03:48.420 --> 03:58.560
So maybe it'll be, "Guess The Number", and you can change the font that you want for it.

56
03:58.560 --> 04:05.850
Maybe something a little bit Isometric, or maybe Ogre, or maybe Train, whatever it is you want.

57
04:05.850 --> 04:11.160
And then once you're happy with the font, you can select and copy everything that's on there,

58
04:11.160 --> 04:17.700
and then inside your project, you can create a new file called art.py, and then create a new variable

59
04:17.700 --> 04:22.380
and set it equal to the design that you've got in mind.

60
04:22.380 --> 04:27.430
Now, in order for it to look right, you actually have to create this as a docstring.

61
04:27.430 --> 04:34.240
So three quotation marks to begin with, and then three quotation marks to end.

62
04:34.240 --> 04:39.670
And then just make sure you have enough horizontal space to display the whole thing in one go, instead

63
04:39.670 --> 04:40.810
of it being truncated

64
04:40.810 --> 04:44.740
when you have a little bit of space, and you should be able to see the actual design.

65
04:45.490 --> 04:52.660
Pause the video now and create this number guessing game by yourself as the final project.