Up and Running with Git Transcripts
Chapter: Teamwork: Branches
Lecture: Creating a Rock-Paper-Scissors app
0:00 It's time to write some code and explore this idea of branching the first scenario that
0:06 we're going to explore. Is this going back in time to fix a bug report Remember this applies to software that you ship.
0:13 This applies to especially packages or like a desktop application or anything like that.
0:19 Web apps not so much because usually you just fix it and push that out.
0:24 You don't go back and have a historical version again unless you deliver the web app to someone else for them to host.
0:31 So what we're going to do in this section is we're going to create a new repository. We already have funny web, we'll have sketchy rock paper scissors.
0:43 That's what we're gonna have for our next one. And this would just be an A RPS app. Super simple. Again I'm gonna make it private for now.
0:51 And all this code is going to go into the course repository but not as a separate repository. Who knows. Maybe I'll make them public again.
1:00 Go ahead now to read me going through this once more. Just so you kind of get the chance to say all right,
1:05 I see how we're creating this repo and everything. We want to set this up for not icon.
1:10 What Python. And it doesn't really need a license unless we were to make it public. But what the heck MIT People can rock paper scissor all they want.
1:20 So let's go and create that. Now. We want to check it out and I'll just put it over here next
1:25 to this other one. Say a new clone from url copy the url up here. The destination path is going to be/desktop and we can give it
1:39 a shorter name of flow. And we could just call it rps even though the name on the server is sketchy rock paper scissors just so you can show just so
1:47 you can see that that the names are super long or don't make sense of the directory name. We can change that and there we have it on the desktop.
1:56 Cool. Let's open this up in finder. Now this project won't have any external dependencies so I'll probably just skip creating a virtual
2:05 environment for this one. We'll see. But let's open this up in PyCharm. Drop it here, Python 3.9 is not the latest but it will be fine
2:14 So let's go over here and we'll make a Python file just called game. Now, instead of you watching me type out rock paper scissors,
2:24 I have some code that I got from. Another one of our courses here. Now instead of you watching me type out rock paper scissors,
2:38 I got some code from one of my other courses. The beginner's course, beginning Python course where it implements rock paper scissors in a somewhat
2:48 nontrivial way. So a little bit of an extensible way. So here we have our roles which is very cool.
2:56 We've got a little part where it'll print out what it is. We don't really need to say what addition is.
3:02 Let's say version instead. Let's get rid of this line. I want to say version 1.0 This is our initial release of this app.
3:11 And these rules up here say if I'm a rock, the rock is defeated by scissors or defeats the scissors and is defeated by paper papers
3:18 defeats the rock but is defeated by scissors and so on. So the details of this are not super important basically it's it's pretty simple but let's
3:27 go ahead and run it just to have fun. So let's go over here. What are we gonna roll? Let's roll rock. Alright well computer played rock.
3:37 So we're tied. If they played rock maybe they're going to play it again. So we should play paper. Oh they played scissors. They cut us up on that one.
3:45 Not so good. I think you play three rounds. Let's just play a few more and see what happens. There we go. Best of three.
3:55 We only got two with our straight down the middle. Rock. Play at the end there. And computer mix it up in 1 3 of the rounds.
4:02 Okay so this is going to be our version one of our game. We're ready to check this in. Right? So make sure everything is saved.
4:12 Now we could just commit this in PyCharm but let's go ahead and just mix it up and I'll come over to source tree and we'll commit it here.
4:19 So again we've got our game, this will be v1.0 of RPS. We'll go ahead and commit that.
4:29 And these let's say we want to ignore again everything under .idea. So ignore everything under that in this repository,
4:36 which means it goes into the git ignore. And then if I check, push, it's going to commit this and it's already has one pending change that will
4:46 push two changes up to the repository. Quick refresh shows that they are there right now. So ignore the idea, Version 1.0 of the game.
4:58 And then just the read me.