This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
spcs:summer2014:d10 [2014/07/28 12:00] ffpaladin |
spcs:summer2014:d10 [2014/07/28 15:33] (current) ffpaladin |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | Afternoon Teams: (Angel, Jove), (Andrew, Emily, Ed), (Mei-Ling, Clair), (Ellie, Alix), (Zuri, Anastasia), (Jeni, Float), (Penny, Alix), (Fang, Will) | + | Afternoon Teams: (Angel, Jove), (Andrew, Emily, Ed), (Mei-Ling, Clair), (Ellie, Alix), (Zuri, Anastasia), (Jeni, Float), (Penny, Raymond), (Fang, Will) |
Line 7: | Line 7: | ||
* Game Theory | * Game Theory | ||
* Game Trees | * Game Trees | ||
+ | * http://www.cs.cmu.edu/~adamchik/15-121/lectures/Game%20Trees/Game%20Trees.html | ||
* Game Studies | * Game Studies | ||
- | |||
---- | ---- | ||
- | |||
====== Assignment ====== | ====== Assignment ====== | ||
- | ===== Part 1: Blogging ===== | + | (Sit with your teams!) |
+ | |||
+ | ===== Part 0: Blogging all your projects from last week ===== | ||
+ | |||
+ | Please blog your projects from last week :) | ||
+ | |||
+ | ===== Part 1: Blogging about software ===== | ||
Read this important article | Read this important article | ||
Line 23: | Line 28: | ||
Read the opposing side: https://www.gnu.org/philosophy/ | Read the opposing side: https://www.gnu.org/philosophy/ | ||
+ | |||
+ | (don't forget to add pictures and links) | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Part 2: Rock Paper Scissors AI ===== | ||
+ | |||
+ | Today we talked about what is a game. The definition we used is: Ludus, Paida, and Narrative. We also talked about Game Trees and how computers think about games. | ||
+ | |||
+ | Your assignment is as follows: | ||
+ | |||
+ | * In Processing make a Rock Paper Scissors game. | ||
+ | * First, draw out the finite state machine (FSM). | ||
+ | * Try to make the Game AI such that the computer always plays Scissors. | ||
+ | * Then make an AI where the computer plays random. | ||
+ | * Then make an AI where the computer tries to learn your patterns and beats you (out of 10). | ||
+ | * (Extra) Make your own sprites: http://www.piskelapp.com/ | ||
+ | * (Extra COOL) Make it so that I can select which of the three AI's I'm playing (make a button for each AI). | ||
+ | |||
+ | Note: You can use buttons or keys to represent user input. The choice is yours. Use good design principles! | ||
+ | |||
+ | ===== Part 2: Tic Tac Toe AI ===== | ||
+ | |||
+ | Same idea as before: | ||
+ | * Draw the FSM | ||
+ | * Player 1 is your user and always starts with X | ||
+ | * Player 2 is the computer | ||
+ | * First, make a game that just alternates between X and O when the user clicks | ||
+ | * Make sure it knows that three is a row is a win + (the other possible end state). | ||
+ | * Then, add the AI's | ||
+ | * On to the AI's, make the computer play the first open spot it finds | ||
+ | * Next, make another AI where the computer plays the random spot it finds | ||
+ | * Finally, make a computer that will always tie the game (perfect AI) | ||
+ | * (Extra COOL) Make it so that I can select which of the three AI's I'm playing (make a button for each AI). | ||
+ | |||
+ | ===== Stretch Assignments ===== | ||
+ | |||
+ | You can go back to any previous project and work on them. No one had a chance to do the A* problem from Thursday yet. | ||
+ | |||
+ | You can also fork a classmates project or any other project you find interesting to tinker with. | ||
+ | |||
+ | Finally, if you are up for this challenge, try to make the game Black Jack (also known as 21), we will talk a bit about probabilities tomorrow. | ||
+ | |||
+ | http://math.hws.edu/eck/cs271/js-work/Blackjack.html | ||
+ | |||
+ | ===== Feedback ===== | ||
+ | |||
+ | https://docs.google.com/forms/d/1nNvgtxwBtGiDMfe_jjx1PH8MzwJlOR7jIAaEdLZ-sZI/viewform | ||