Question: Change the program so that the face will bounce off of all the walls continuously. Each time it bounces off a wall the colour will

Change the program so that the face will bounce off of all the walls continuously. Each time it bounces off a wall the colour will be randomly changed.

# import the necessary modules

import pygame

import sys

import math

# initialize pygame

pygame.init()

# set the size for the surface (screen)

# note this screen is resizable by the user

screen = pygame.display.set_mode((800, 600), pygame.RESIZABLE)

# set the caption for the screen

pygame.display.set_caption("Happy Face")

#screen width and height

screenW = screen.get_width()

screenH = screen.get_height()

# funtion to draw a the "happy face"

# it has 4 parameters passed to it xPos, yPos, radius, and colour

# notice all the shapes are drawn "relative" to the xPos and yPos and the radius

def drawHappy(xPos,yPos,r,colour):

pygame.draw.circle(screen,colour,(xPos,yPos),r,1)

eyeRadius = int(1/6*r)

eyeX = int(xPos-1/3*r)

eyeY = int(yPos- 1/3*r)

pygame.draw.circle(screen,colour,(eyeX,eyeY),eyeRadius,1)

eyeX = int(xPos + 1/3*r)

pygame.draw.circle(screen,colour,(eyeX,eyeY),eyeRadius,1)

wMouth = 1.5*r

xMouth = xPos - 3/4*r

yMouth = yPos - 3/4*r

pygame.draw.arc(screen,colour,(xMouth,yMouth,wMouth,wMouth),math.pi,2*math.pi,1)

# define colours you will be using

WHITE = (255, 255, 255)

GREEN = (0, 255, 0)

RED = (255, 0, 0)

BLUE = (0, 0, 255)

BLACK = (0, 0, 0)

YELLOW = (255, 255, 0)

# set up clock to control frames per second

clock = pygame.time.Clock()

FPS = 120

# set main loop to True so it will run

main = True

# main loop

while main:

for event in pygame.event.get():# check for any events (i.e key press, mouse click etc.)

if event.type == pygame.QUIT:# check to see if it was "x" at top right of screen

main = False# set the "main" variable to False to exit while loop

clock.tick(FPS)

screen.fill(WHITE)

# "call" the function "drawHappy()" to draw the happy face

# this is where we would normally doa pygame.draw or a screen.blit()d

# we are "passing" the function 4 values to use(x,y,radius, colour)

# it will use these to know where to draw the happy face

drawHappy(300,300,200,RED)

pygame.display.flip()

# quit pygame and exit the program (i.e. close everything down)

pygame.quit()

sys.exit()

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!