#Brian Acquaviva
#Recitation 1
#Assignment 8

from visual import *
from random import *

field = box (length = 47, height = -.5, width = 50)

me = box (lenth = .5, height = 6, width = 2, color = color.yellow, pos = vector(25 * random() - 25, 3, 10 * random() - 10))
head = sphere (radius = 1.3, pos = vector(me.pos.x, 6.2, me.pos.z), color = color.orange)

enemy = box (lenth = .5, height = 6, width = 2, color = color.red, pos = vector(25 * random(), 3, 10 * random()))
enemy_head = sphere (radius = 1.3, pos = vector(enemy.pos.x, 6.2, enemy.pos.z), color = color.red)

wall = box (length = .5, height = 5, width = 5, pos = vector(enemy.pos.x - 2, 2, enemy.pos.z))

snowball = sphere (radius = .7, pos = vector(me.pos.x, me.pos.y + 2, me.pos.z - 1))

Fw = vector (1.5 * random(), random(), 1.5 * random())
wind = arrow (pos = (0, 15, 0), axis = 5 * Fw, shaftwidth = 5, color = color.blue)


for n in range(4):
    
    print "Force of Wind"
    print Fw

    print "Snowball's vx"
    vx = input()

    print "Snowball's vy"
    vy = input()

    print "Snowball's vz"
    vz = input()
    
    snowball = sphere (radius = .7, pos = vector(me.pos.x, me.pos.y + 2, me.pos.z - 1))
    snowball.m = .2
    snowball.p = vector(snowball.m * vx, snowball.m * vy, snowball.m * vz)

    dt = .1
    g = 9.8

    F = vector(0, -snowball.m * g, 0)
    trail = curve(color = color.white)

    hit_condition = False

    while (snowball.pos.y > 0) :

        snowball.pos += (snowball.p/snowball.m) * dt
        snowball.p   += (F + Fw) * dt
        rate(1./dt)
        trail.append(snowball.pos)

        if mag(snowball.pos - wall.pos) < 5:
            snowball.p = vector(0,0,0)
            print "You hit his wall of snow!  Try again."

        if mag(snowball.pos - enemy.pos) < 6:
            snowball.p = vector(0,0,0)
            print "You are the King of Snowballs"
            hit_condition = True

        if mag(snowball.pos - enemy_head.pos) < 2:
            print "Head Shot!"

    if hit_condition == False:
        print "You missed you idiot! Again!"
