## Tuesday, February 24, 2015

### Obama ZBrush Caricature

 Front

 Side

This week we had to submit a caricature of a famous person for our homework, I decided to do a ZBrush model of President Obama.

I did this bust using Dynamesh and then did a quick polypaint coat. That's all for now, thanks for reading!

## Monday, February 23, 2015

### Python Extra Credit Assignment - EC0

So I had some free time today and I decided to do one of the extra credit assignments for my python class.

The assignment is to write two different variations of functions that take in two numbers and compares them returning True if they are the same value and False if not. The trick is that we can't use the regular cooperators. Ex: ==, >=, <=, >, <, !=, etc.

I decided to use "is" and "is not" to compare the input by the user. Here is the code I wrote and thanks for reading:

#EC0_ChristianMunoz.py
#02/23/2015

import sys
import time

def sleeper(seconds):
"""This functions suspends the thread for a given amount of seconds."""
time.sleep(seconds)

def make_list(user_input):
"""This function takes the input by the user and makes it into a list."""
user_input = user_input.split()
return user_input

def play_again():
"""This function will run the next session if the user wants to continue."""
decision = input("Would you like to play again? Y/N\n").lower()

if decision == "yes" or decision == "y":
main()
elif decision == "no" or decision == "n":
print("See you later!")
else:
print("That is not a valid entry!\n")
play_again()

def variation_one(list):
"""This function uses the Identity Comparison "is" to compare both number."""
if int(list[0]) is int(list[1]):
return True
else:
return False

def variation_two(list):
"""This function uses the Identity Comparison "is not" to compare both number."""
if int(list[0]) is not int(list[1]):
return False
else:
return True

def main():
player_input = input("Enter two numbers that you would like to compare:\n")
player_input = make_list(player_input)
print("Variaton one is :",variation_one(player_input))
print("Variaton two is :",variation_one(player_input))
play_again()

if __name__ == "__main__":
main()
sleeper(1.0)
sys.exit()

## Saturday, February 21, 2015

### Blackjack & Yahtzee - Homework 5 Finished

So this week's homework was to build upon a couple different homework assignments, mainly making a simple Blackjack game out of the "card game" we made a few weeks ago and to add a way to track your Yahtzee score without losing it between games and without using global variables.

The score for Yahtzee was really simple, but Blackjack was really challenging and I think that I couldn't have done the scoring of cards better since its hard coded at this time and the function has to switch through a bunch of different if statements.

This time around I used Pycharm, which is a really nice IDE for Python. Folding code and having the IDE correct you while you are coding makes it a lot easier than having to dig through a text editor to figure out what you did wrong!

We also had to draw up a design paper that would explain how you build the process of the game. It doesn't have to be perfect, but it was just to illustrate that you put some thought into how we build the game. Here is mine:

#Assignment005_ChristianMunoz.py
#02/20/2014

import random
import math
import sys
import time

def sleeper(seconds):
"""This function suspends the thread for a given amount of seconds."""
time.sleep(seconds)

def make_deck():
"""Makes the list of Cards"""
card_symbols = '''AS AH AD AC
KS KH KD KC
QS QH QD QC
JS JH JD JC
10S 10H 10D 10C
9S 9H 9D 9C
8S 8H 8D 8C
7S 7H 7D 7C
6S 6H 6D 6C
5S 5H 5D 5C
4S 4H 4D 4C
3S 3H 3D 3C
2S 2H 2D 2C'''
card_symbols = card_symbols.split()
return card_symbols

def shuffle_deck(input_decks):
"""This function shuffles the deck of cards"""
random.shuffle(input_decks)

return input_decks

def roll_die():
"""Assigns a random number to the dice"""
return random.randint(1, 6)

def make_reroll_list(player_input):
"""Makes the list of which dice to roll"""
#tempString = tempString.split()

#return tempString
return [int(s) for s in player_input.split()]

def score_dice(dice_list, y_score):
"""Score the player's current set of dice."""
#temp_score = y_score

for i in range(1, 6):
count_i = dice_list.count(i)
#checks for Yahtzee
if count_i == 5:
y_score += 50
return y_score

#checks for Four of a Kind
elif count_i == 4:
y_score += 25
print("FOUR OF A KIND!\nYour score is:", y_score, "\n")
return y_score

#checks for Full House or Three of a Kind
elif count_i == 3:
for j in range(1, 6):
if dice_list.count(j) == 2:
y_score += 30
print("FULL HOUSE!\nYour score is:", y_score, "\n")
return y_score
else:
y_score += 20
print("THREE OF A KIND!\nYour score is:", y_score, "\n")
return y_score

#checks for Small Straight
small = [1, 2, 3, 4, 5]
for s in small:
if s not in dice_list:
break
else:
y_score += 35
print("SMALL STRAIGHT!\nYour score is:", y_score, "\n")
return y_score

#checks for Large Straight
large = [2, 3, 4, 5, 6]
for l in large:
if l not in dice_list:
break
else:
y_score += 40
print("LARGE STRAIGHT!\nYour score is:", y_score, "\n")
return y_score

#this just adds the faces together
y_score += sum(dice_list)
return y_score

def query_reroll():
"""Ask the use which dice they want to reroll."""
reroll_list = input("Which die/dice would you like to reroll? Or just press enter to keep what you have.\n")
reroll_list = make_reroll_list(reroll_list)
return reroll_list

def reroll_dice(dice_list, reroll_list):
"""Reroll the given dice."""
for r in reroll_list:
dice_list[r - 1] = roll_die()
dice_list.sort()

def deal_card(deck,hand):
"""This function will check if the deck has enough cards and then deal one card.
In order to stop people from counting cards, this functions shuffles a new
deck if it goes below 26 cards"""
if int(len(deck)) > 26:
hand.append(deck.pop())
return deck, hand
else:
print("The deck is getting low, shuffling a new deck!\n.")
deck = make_deck()
deck = shuffle_deck(deck)
sleeper(.5)
print("..")
sleeper(.5)
print("...\n")
sleeper(.5)

print("The deck has been shuffled!\n")
hand.append(deck.pop())
return deck, hand

def get_values(hand):
"""Get the value of the cards"""
aces = 0
score = 0

aces += int(hand.count("AS"))
aces += int(hand.count("AH"))
aces += int(hand.count("AC"))

for card in hand:
if card == "2S" or card == "2H" or card == "2D" or card == "2C":
score += 2
elif card == "3S" or card == "3H" or card == "3D" or card == "3C":
score += 3
elif card == "4S" or card == "4H" or card == "4D" or card == "4C":
score += 4
elif card == "5S" or card == "5H" or card == "5D" or card == "5C":
score += 5
elif card == "6S" or card == "6H" or card == "6D" or card == "6C":
score += 6
elif card == "7S" or card == "7H" or card == "7D" or card == "7C":
score += 7
elif card == "8S" or card == "8H" or card == "8D" or card == "8C":
score += 8
elif card == "9S" or card == "9H" or card == "9D" or card == "9C":
score += 9
elif card == "10S" or card == "10H" or card == "10D" or card == "10C":
score += 10
elif card == "JS" or card == "JH" or card == "JD" or card == "JC":
score += 10
elif card == "QS" or card == "QH" or card == "QD" or card == "QC":
score += 10
elif card == "KS" or card == "KH" or card == "KD" or card == "KC":
score += 10

if aces == 1 and score <= 10:
score += 11
elif aces > 0 and score > 10:
score += aces

return score

def blackjack(y_score):
"""This function will run the card game"""
player_hand = []
dealer_hand = []

deck = make_deck()

print("Shuffling the deck\n.")
sleeper(.5)
print("..")
sleeper(.5)
print("...\n")
sleeper(.5)

deck = shuffle_deck(deck)

print("The deck has been shuffled, we are ready to start!\n")

deck, player_hand = deal_card(deck,player_hand)
deck, dealer_hand = deal_card(deck,dealer_hand)
deck, player_hand = deal_card(deck,player_hand)
deck, dealer_hand = deal_card(deck,dealer_hand)

player_total = get_values(player_hand)
dealer_total = get_values(dealer_hand)

print("Dealer's top card is: ", dealer_hand[0])

if player_total == 21:
print("You got BLACKJACK!\n")
sleeper(.5)
print("The dealer has revealed his full hand: ", dealer_hand)
sleeper(.5)
if player_total == dealer_total:
print("\nThis is a DRAW!\n")
play_again(y_score)
else:
print("\nYou WIN!\n")
play_again(y_score)
else:
while player_total <= 21:
decision = input("Would you like to HIT or STAY? H/S\n").lower()
if decision == "h":
print("You have decided to HIT!\n")
deck, player_hand = deal_card(deck,player_hand)
player_total = get_values(player_hand)
if player_total > 21:
print("BUST!\nYou LOST\n")
sleeper(.5)
play_again(y_score)
elif decision == "s":
print("You have decided to STAY!\n")
sleeper(.5)
break

print("The dealer has revealed his full hand: ", dealer_hand)
sleeper(1.0)

if player_total == 21 and player_total == dealer_total:
print("This is a DRAW!\n")
play_again(y_score)
elif dealer_total == 21:
print("The dealer got BLACKJACK!\nYou LOST!\n")
play_again(y_score)
elif dealer_total > 16:
print("You got: ", player_total)
print("The dealer got: ", dealer_total)
if player_total > dealer_total:
print("\nYou WIN!\n")
play_again(y_score)
else:
print("\nYou LOST\n")
play_again(y_score)
else:
while dealer_total <= 16:
print("The dealer has to HIT again!\n")
sleeper(1.0)
deck, dealer_hand = deal_card(deck,dealer_hand)
dealer_total = get_values(dealer_hand)
print("The dealer's hand is: ", dealer_hand)
if dealer_total > 21:
print("The dealer got a BUST!\nYou WIN!")
play_again(y_score)
print("You got: ", player_total)
print("The dealer got: ", dealer_total)
if player_total > dealer_total:
print("\nYou WIN!\n")
play_again(y_score)
else:
print("\nYou LOST\n")
play_again(y_score)

def yahtzee(y_score):
"""This function will run the yahtzee game."""
print(" ")

dice_list = [roll_die() for i in range(0, 5)]
dice_list.sort()

print("First roll you got:", dice_list, "\n")

reroll_list = query_reroll()
reroll_dice(dice_list, reroll_list)

print("Second roll you got:", dice_list, "\n")

reroll_list = query_reroll()
reroll_dice(dice_list, reroll_list)

print("Third roll you got:", dice_list, "\n")

y_score = score_dice(dice_list, y_score)

play_again(y_score)

def play_again(y_score):
"""This function will run the next game if the player wants to start again"""
decision = input("Would you like to play again? Y/N\n").lower()

if decision == "yes" or decision == "y":
main(False, y_score)
elif decision == "no" or decision == "n":
print("See you later!")
else:
print("That is not a valid entry!\n")
play_again(y_score)

def main(first_time, y_score):
if first_time == True:
player_input = eval(input("Press 1 to play the Blackjack or 2 for Yahtzee:\n"))

#This makes sure that  the number will always be an integer
player_input = math.floor(player_input)

#This checks to make sure the entry is a valid entry
if player_input < 1 or player_input > 2:
print("That is not a valid entry!\n")
main(True,y_score)

#If the entry was valid, then execute code
elif player_input == 1:
print("You have chosen Blackjack!\n")
blackjack(y_score)
else:
print("You have chosen Yahtzee!")
yahtzee(y_score)
else:
player_input = eval(input("Press 1 to play the Blackjack or 2 for Yahtzee:\n"))

#This makes sure that the number will always be an integer
player_input = math.floor(player_input)

#This checks to make sure the entry is a valid entry
if player_input < 1 or player_input > 2:
print("That is not a valid entry!\n")
main(False, y_score)

#If the entry was valid, then execute code
elif player_input == 1:
print("You have chosen Blackjack!\n")
blackjack(y_score)
else:
print("You have chosen Yahtzee!")
yahtzee(y_score)

if __name__ == "__main__":
main(True,0)
sleeper(1.0)
sys.exit()

## Wednesday, February 18, 2015

### A Blackjack of all Trades

So this week we have build upon the homework we have done on previous weeks and make a text based Blackjack game along with our Yahtzee game that was build before.

The assignment specifies that for the Yahtzee game we have to find a way to make the game memorize the player's total score for all the Yahtzee games he/she has played without using variable.

I know that I will have to go back and make a few changes, but for now this is what I have and thanks for reading:

#Assignment005_ChristianMunoz.py
#02/18/2014

import random
import math
import sys
import time

def sleeper(seconds):
"""This function suspends the thread for a given amount of seconds."""
time.sleep(seconds)

def makeListOfCards(stringOfCards):
"""Makes the list of Cards"""
listOfCards = stringOfCards.split()

return listOfCards

def shuffleDeck(inputDecks):
"""Shuffle code"""
shuffledDeck = []

for i in range(len(inputDecks)):

tempInt = random.randint(0,len(inputDecks) - 1)
shuffledDeck.append(inputDecks.pop(tempInt))

return(shuffledDeck)

def roll_die():
"""Assigns a random number to the dice"""
return random.randint(1, 6)

def make_reroll_list(player_input):
"""Makes the list of which dice to roll"""
#tempString = tempString.split()

#return tempString
return [int(s) for s in player_input.split()]

def score_dice(dice_list, y_score):
"""Score the player's current set of dice."""
temp_score = y_score

for i in range(1, 6):
count_i = dice_list.count(i)
#checks for Yahtzee
if count_i == 5:
temp_score += 50
return temp_score

#checks for Four of a Kind
elif count_i == 4:
temp_score += 25
print("FOUR OF A KIND!\nYour score is:", temp_score, "\n")
return temp_score

#checks for Full House or Three of a Kind
elif count_i == 3:
for j in range(1, 6):
if dice_list.count(j) == 2:
temp_score += 30
print("FULL HOUSE!\nYour score is:", temp_score, "\n")
return temp_score
else:
temp_score += 20
print("THREE OF A KIND!\nYour score is:", temp_score, "\n")
return temp_score

#checks for Small Straight
small = [1, 2, 3, 4, 5]
for s in small:
if s not in dice_list:
break
else:
temp_score += 35
print("SMALL STRAIGHT!\nYour score is:", temp_score, "\n")
return temp_score

#checks for Large Straight
large = [2, 3, 4, 5, 6]
for l in large:
if l not in dice_list:
break
else:
temp_score += 40
print("LARGE STRAIGHT!\nYour score is:", temp_score, "\n")
return temp_score

#this just adds the faces together
temp_score += sum(dice_list)
return temp_score

def query_reroll():
"""Ask the use which dice they want to reroll."""
reroll_list = input("Which die/dice would you like to reroll? Or just press enter to keep what you have.\n")
reroll_list = make_reroll_list(reroll_list)
return reroll_list

def reroll_dice(dice_list, reroll_list):
"""Reroll the given dice."""
for r in reroll_list:
dice_list[r - 1] = roll_die()
dice_list.sort()

def blackjack():
"""This function will run the card game"""
decksToShuffle = eval(input("Enter how many decks you would like to shuffle at once (1-5):  "))

print(" ")

#This makes sure that the number will always be an integer
decksToShuffle = math.floor(decksToShuffle)

#This checks to make sure the entry is a valid entry
if decksToShuffle <= 0 or decksToShuffle > 5:
print("That is not a valid entry!")

print(" ")

cardGame()

#If the entry was valid, then execute code
else:
CardSymbols = '''AS AH AD AC
KS KH KD KC
QS QH QD QC
JS JH JD JC
10S 10H 10D 10C
9S 9H 9D 9C
8S 8H 8D 8C
7S 7H 7D 7C
6S 6H 6D 6C
5S 5H 5D 5C
4S 4H 4D 4C
3S 3H 3D 3C
2S 2H 2D 2C'''

listOfCards = makeListOfCards(CardSymbols) * decksToShuffle

print("Shuffling the deck\n.")
sleeper(.5)

print("..")
sleeper(.5)

print("...")
sleeper(.5)

print(" ")

print(shuffleDeck(listOfCards))

print(" ")

play_again()

def yahtzee(y_score):
"""This function will run the yahtzee game."""
temp_score = y_score
print(" ")

dice_list = [roll_die() for i in range(0, 5)]
dice_list.sort()

print("First roll you got:", dice_list, "\n")

reroll_list = query_reroll()
reroll_dice(dice_list, reroll_list)

print("Second roll you got:", dice_list, "\n")

reroll_list = query_reroll()
reroll_dice(dice_list, reroll_list)

print("Third roll you got:", dice_list, "\n")

temp_score = score_dice(dice_list, temp_score)

play_again(temp_score)

def play_again(y_score):
"""This function will run the next game if the player wants to start again"""
temp_yscore = y_score
decision = input("Would you like to play again? Y/N\n").lower()

if decision == "yes" or decision == "y":

player_input = eval(input("Press 1 to play the Blackjack or 2 for Yahtzee:\n"))

#If the entry was valid, then execute code
if player_input == 1:
print("You have chosen Blackjack!\n")
blackjack()
else:
print("You have chosen Yahtzee!")
yahtzee(temp_yscore)
else:
print("See you later!")

def main(first_time):

y_score = 0

player_input = eval(input("Press 1 to play the Blackjack or 2 for Yahtzee:\n"))

#This makes sure that the number will always be an integer
player_input = math.floor(player_input)

#This checks to make sure the entry is a valid entry
if player_input < 1 or player_input > 2:
print("That is not a valid entry!\n")
main()

#If the entry was valid, then execute code
elif player_input == 1:
print("You have chosen Blackjack!\n")
blackjack()
else:
print("You have chosen Yahtzee!")
yahtzee(y_score)

if __name__ == "__main__":
main(True)
sleeper(1.0)
sys.exit()

## Monday, February 16, 2015

### Building My PC - It Has a Home!

 Before
 After
So I finally moved my computer to its permanent home for the foreseeable future. I can't wait to start making 3D art and playing games. Thanks for reading!

## Friday, February 13, 2015

### Building My First PC - It's Alive!

So my computer is finally up and running. I stayed up last night really late hooking up all the wires, and finally getting the courage to start it up and hope that I didn't plug something in the wrong socket. It all worked and I was able to start the BIOS on the computer and set up the operating system followed by a bunch of drivers. I have now finished downloading League of Legends and this my first game on my computer.

For my monitor I decided that I wanted an LED monitor, so I bought the ASUS VN247 monitor, and so far it looks great. I also am so excited to be running SLI on my computer, because it means that I will be able to push higher graphics on games.

At this time my computer is just sitting on my dinning table, so I will have to find a home for it. That's all for now, thanks for reading!

## Thursday, February 12, 2015

### Building My First PC - WIP

So I forgot to take a picture of all my components in their boxes, which I really regret. Anyways, I got all the stuff yesterday and and I started to put it together last night with the help of my friend. He helped me mount most of the big parts to the case.

Now that all the parts are mounted, its just a matter of connecting all the cables to the right place. This is probably the scariest part for me, since I'm afraid that I will accidentally fry my computer. This is what I have so far, I just have to plug in the rest of the cables.

I will make sure to post a picture once everything is hooked up and running. Thanks for reading!

## Tuesday, February 10, 2015

### Mixed Animal Bust # 2

So I was looking at my previous version of this and sculpt and I didn't like how much stuff I had going on.

I decided to get rid of the mane and decided to give it a look more along a dog and a goat. Here is what I have:

## Friday, February 6, 2015

### Fibonacci & Dice - Homework 3 Finished

I have finished this homework assignment for this week. This time around we had to make a program that would generated the Fibonacci sequence for however many number the user wanted and we had to make a really simple version of the die game Yahtzee.

I actually used a lot of the same code I made last week, so I didn't have to sit there for a long time making sure the little stuff worked and I could focus on the main logic of Yahtzee since it took longer than I thought it would.

Here is my code:

#Assignment003_ChristianMunoz.py
#02/06/2014

import random
import math
import sys
import time

#This function suspends the thread for a given amount of seconds
def sleeper(seconds):
time.sleep(seconds)

#Assigns a random number to the dice
def rollDice():

tempInt = random.randint(1,6)

return tempInt

#This function runs the Fibonacci sequence
def fibonacci():

finalSequence = []

aInt = 0
bInt = 1
count = 0

#Player decides how many digits of the fibonacci sequence they want
amount = eval(input('How many digits of the sequence do you want? (At least 2) '))

print(" ")

#This checks to makes sure the number will always be an interger
amount = math.floor(amount)

#This checks to make sure its a valid entry
if amount < 2:
print("That is not a valid entry!")

print(" ")

fibonacci()

#If the player just wants to see 2 digits then we print them right away
elif amount == 2:
finalSequence.append(aInt)
finalSequence.append(bInt)

print(finalSequence)

#If the entry is valid, then execute code
else:

finalSequence.append(aInt)
finalSequence.append(bInt)

while (count < amount - 2):

tempInt = aInt + bInt

aInt = bInt
bInt = tempInt

finalSequence.append(tempInt)

count = count + 1

print(finalSequence)

print(" ")

playAgain()

#Makes the list of which to roll
def makeListOfDice(tempString):

tempString = tempString.split()

return tempString

#This function scores the player's current set of dice
def score(tempString, finalScore):

#checks for Yahtzee
if tempString.count(6) == 5 or tempString.count(5) == 5 or tempString.count(4) == 5 or tempString.count(3) == 5 or tempString.count(2) == 5 or tempString.count(1) == 5:

finalScore += 50
print("YAHTZEE!")
print(" ")

#checks for Full House or Three of a Kind
elif tempString.count(6) == 3 or tempString.count(5) == 3 or tempString.count(4) == 3 or tempString.count(3) == 3 or tempString.count(2) == 3 or tempString.count(1) == 3:

if tempString.count(1) == 2 or tempString.count(2) == 2 or tempString.count(3) == 2 or tempString.count(4) == 2 or tempString.count(5) == 2 or tempString.count(6) == 2:

finalScore += 30
print("FULL HOUSE!")
print(" ")

else:

finalScore += 20
print("THREE OF A KIND!")
print(" ")

#chekcs for Four of a Kind
elif tempString.count(6) == 4 or tempString.count(5) == 4 or tempString.count(4) == 4 or tempString.count(3) == 4 or tempString.count(2) == 4 or tempString.count(1) == 4:

finalScore += 25
print("FOUR OF A KIND!")
print(" ")

#checks for Small Straight
elif tempString[0] == 1 and tempString[1] == 2 and tempString[2] == 3 and tempString[3] == 4 and tempString[4] == 5:

finalScore += 35
print("SMALL STRAIGHT!")
print(" ")

#checks for Large Straight
elif tempString[0] == 2 and tempString[1] == 3 and tempString[2] == 4 and tempString[3] == 5 and tempString[4] == 6:

finalScore += 40
print("LARGE STRAIGHT!")
print(" ")

#this just adds the faces together
else:

finalScore += tempString[0]
finalScore += tempString[1]
finalScore += tempString[2]
finalScore += tempString[3]
finalScore += tempString[4]

print("CHANCE!")
print(" ")

#This function will run the yahtzee game
def yahtzee():

print(" ")

diceList = []
finalScore = 0

for i in range(0,5):
diceList.append(rollDice())

diceList.sort()

print("First roll you got:",diceList)

print(" ")

whichList = input("Which die/dice would you like to reroll? Or just press enter to keep what you have. ")

print(" ")

whichList = makeListOfDice(whichList)

for i in whichList:

diceList[int(i) - 1] = rollDice()

diceList.sort()

print("Second roll you got:",diceList)

print(" ")

whichList = input("Which die/dice would you like to reroll? Or just press enter to keep what you have. ")

print(" ")

whichList = makeListOfDice(whichList)

for i in whichList:

diceList[int(i) - 1] = rollDice()

diceList.sort()

print("Third roll you got:",diceList)

print(" ")

score(diceList, finalScore)

playAgain()

#This function will run the next game if the player wants to start again
def playAgain():

decision = input("Would you like to play again? Y/N ")

print(" ")

decision = decision.lower()

if decision == "yes" or decision == "y":
main()

else:
print("See you later!")
sleeper(1.0)
sys.exit()

#main function
def main():

playerChoice = eval(input("Press 1 to see the Fibonacci Sequence or 2 for Yahtzee: "))

print(" ")

#This makes sure that the number will always be an integer
playerChoice = math.floor(playerChoice)

#This checks to make sure the entry is a valid entry
if playerChoice < 1 or playerChoice > 2:
print("That is not a valid entry!")

print(" ")

main()

#If the entry was valid, then execute code
elif playerChoice == 1:
print("You have chosen the Fibonacci Sequence!")

print(" ")

fibonacci()

else:
print("You have chosen Yahtzee!")

yahtzee()

#Starts the sequence
main()

These files are getting bigger and bigger! But I'm sure that there are a few parts where I could have used a for loop instead of hard coding it.

That's all for now, thanks for reading!