Python program Writing the Program For this assignment, you will write a program
ID: 3654115 • Letter: P
Question
Python program Writing the Program For this assignment, you will write a program that: a) Conceals (encode) a picture inside of another picture. b) Recovers (decode) the hidden picture. In order to encode a picture into another, you will write a function that: ? Takes in a color picture and a picture to be encoded/hidden. ? For every pixel in the picture to be hidden check whether the color of the pixel is white or black. ? If the pixel in the picture to be hidden is white then make sure the red channel of the corresponding pixel in the color picture is an even number. ? If the pixel in the picture to be hidden is black then make sure the red channel of the corresponding pixel in the color picture is an odd number. ? When you have iterated over all the pixels you should return the resulting picture In order to decode a picture, you will write a function that: ? Takes in a source picture (believed to contain a secret message). ? Creates a new empty output picture with the same dimensions as the source picture. ? For every pixel in the source picture you should look at its red channel. ? If the red channel is an even number you should set the corresponding pixel in the output picture to be white. ? If the red channel is an odd number you should set the corresponding pixel in the output picture to be black. ? When you have iterated over the entire picture you should return the output pictureExplanation / Answer
def main(): screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) background = pygame.image.load('Background.png').convert() screen.blit(background, (0, 0)) # draw the background screen human1 = pygame.image.load('Human1.gif').convert() human1_position = pygame.Rect(10, BOTTOM_FLOOR, CHARACTER_WIDTH, CHARACTER_HEIGHT) screen.blit(human1, human1_position) # draw the first human human2 = pygame.image.load('Human2.gif').convert() human2_position = pygame.Rect(100, BOTTOM_FLOOR, CHARACTER_WIDTH, CHARACTER_HEIGHT) screen.blit(human2, human2_position) # draw the second human human3 = pygame.image.load('Human3.gif').convert() human3_position = pygame.Rect(190, BOTTOM_FLOOR, CHARACTER_WIDTH, CHARACTER_HEIGHT) screen.blit(human3, human3_position) # draw the third human pygame.display.update() # display all graphical elements move = STOP # Variable to track what the current move is. Initially, stopped move_character = 1 # Variable to track which character is being moved while True: # # See what the user did... for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() elif event.type == pygame.KEYDOWN: # Check if there is a move currently happening. The program # will only do something if the previous move is stopped if move == STOP: # Check which key was pressed... if event.key == pygame.K_1: # if key pressed is the '1' key, move first human (and check if moving from bottom to top or other way) move_character = 1 # the first character is to be moved if human1_position.top < 300: # If the 'top' of the human's position is less # than 300 then it means the human is currenlty # on the top half of the screen, and so # the next move will be to move it downards move = DOWN else: move = UP # Check which key was pressed... if event.key == pygame.K_2: # if key pressed is the '2' key, move second human (and check if moving from bottom to top or other way) move_character = 2 # the first character is to be moved if human2_position.top < 300: # If the 'top' of the human's position is less # than 300 then it means the human is currenlty # on the top half of the screen, and so # the next move will be to move it downards move = DOWN else: move = UP screen.blit(background, human1_position, human1_position) # erase old position of first human if (move == UP): #they want to move up, so first check the lift is down with them. if (liftLoc == "down"): #they are both down, they can be moved into the lift if (human1_position.leftRelated Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.