def on_draw(): arcade.start_render() arcade.draw_rectangle_filled(WIDTH * 1 / 5 + 20, HEIGHT / 4 + 30, 640, 480, arcade.color.LIGHT_GREEN) for i in range(len(ball_pos)): arcade.draw_circle_filled(ball_pos[i][0], ball_pos[i][1], 5, ball_pos[i][2]) for i in range(len(history)): arcade.draw_line(ball_pos[history[i][0]][0], ball_pos[history[i][0]][1], ball_pos[history[i][1]][0], ball_pos[history[i][1]][1], arcade.color.RED) arcade.draw_circle_filled(10, 740, 5, arcade.color.BLACK) # Unaffected arcade.draw_circle_filled(10, 720, 5, arcade.color.RED) # Infected arcade.draw_circle_filled(10, 700, 5, arcade.color.GRAY) # Cured arcade.draw_circle_filled(10, 680, 5, arcade.color.YELLOW) # Dead arcade.draw_text( f'Number unaffected: {population - len(history) - 1}\nNumber infected: {(len(history) + 1)-CURED-DEAD}\nNumber cured: {CURED}\nNumber deceased: {DEAD}\nTime elapsed: {(time_elapsed):.2f}', 20, HEIGHT / 2 + 200, arcade.color.BLACK, 18) if not start: draw_button(WIDTH - 100, 50, 100, 30, arcade.color.GREEN, 'Start', arcade.color.LIGHT_GREEN, arcade.color.RED) else: draw_button(WIDTH - 100, 50, 100, 30, arcade.color.GREEN, 'Pause', arcade.color.LIGHT_GREEN, arcade.color.RED) sliders() sliders1() sliders2() draw_reset_button(WIDTH / 2, HEIGHT / 2 - 300, 150, 50, arcade.color.RED, "Reset", arcade.color.SALMON_PINK, arcade.color.PINK) graph()
def on_draw(): arcade.start_render() # Draw in here... # arcade.draw_circle_filled(mouse_x, mouse_y, 25, ball_color) for i in range(len(ball_pos)): arcade.draw_circle_filled(ball_pos[i][0], ball_pos[i][1], 5, ball_pos[i][2]) for i in range(len(history)): arcade.draw_line(ball_pos[history[i][0]][0], ball_pos[history[i][0]][1], ball_pos[history[i][1]][0], ball_pos[history[i][1]][1], arcade.color.RED) arcade.draw_text(f'Number infected: {len(history) + 1}\nTime elapsed: {(time_elapsed):.2f}', 0, 0, arcade.color.BLACK, 18)
def on_draw(self): """ Render the screen. """ # This command is necessary before drawing arcadeplus.start_render() # Draw the current position of each snowflake for snowflake in self.snowflake_list: arcadeplus.draw_circle_filled(snowflake.x, snowflake.y, snowflake.size, arcadeplus.color.WHITE)
def on_draw(self): """ Render the screen. """ # This command has to happen before we start drawing arcadeplus.start_render() for ball in self.ball_list: arcadeplus.draw_circle_filled(ball.x, ball.y, ball.size, ball.color) # Put the text on the screen. output = "Balls: {}".format(len(self.ball_list)) arcadeplus.draw_text(output, 10, 20, arcadeplus.color.WHITE, 14)
def main(): arcadeplus.open_window(SCREEN_WIDTH, SCREEN_HEIGHT, TITLE) arcadeplus.set_background_color(BACKGROUND_COLOR) arcadeplus.start_render() arcadeplus.draw_circle_filled(400, 250, 100, arcadeplus.color.BLACK) # load image image = arcadeplus.load_texture(resource_path('character.png')) arcadeplus.draw_texture_rectangle(200, 250, image.width, image.height, image) # load sound sound = arcadeplus.sound.load_sound(resource_path('cat-meow.wav')) arcadeplus.sound.play_sound(sound) arcadeplus.finish_render() arcadeplus.run() return
def draw(_delta_time): """ Use this function to draw everything to the screen. """ # Start the render. This must happen before any drawing # commands. We do NOT need an stop render command. arcadeplus.start_render() # Draw our rectangle arcadeplus.draw_circle_filled(draw.x, draw.y, CIRCLE_RADIUS, arcadeplus.color.BLACK) # Modify rectangles position based on the delta # vector. (Delta means change. You can also think # of this as our speed and direction.) draw.x += draw.delta_x draw.y += draw.delta_y draw.delta_y -= GRAVITY_CONSTANT # Figure out if we hit the left or right edge and need to reverse. if draw.x < CIRCLE_RADIUS and draw.delta_x < 0: draw.delta_x *= -BOUNCINESS elif draw.x > SCREEN_WIDTH - CIRCLE_RADIUS and draw.delta_x > 0: draw.delta_x *= -BOUNCINESS # See if we hit the bottom if draw.y < CIRCLE_RADIUS and draw.delta_y < 0: # If we bounce with a decent velocity, do a normal bounce. # Otherwise we won't have enough time resolution to accurate represent # the bounce and it will bounce forever. So we'll divide the bounciness # by half to let it settle out. if draw.delta_y * -1 > GRAVITY_CONSTANT * 15: draw.delta_y *= -BOUNCINESS else: draw.delta_y *= -BOUNCINESS / 2
# Draw a filled in polygon arcadeplus.draw_text("draw_polygon_filled", 123, 207, arcadeplus.color.BLACK, 9) point_list = ((150, 240), (165, 240), (180, 255), (180, 285), (165, 300), (150, 300)) arcadeplus.draw_polygon_filled(point_list, arcadeplus.color.SPANISH_VIOLET) # Draw an outline of a circle arcadeplus.draw_text("draw_circle_outline", 243, 207, arcadeplus.color.BLACK, 10) arcadeplus.draw_circle_outline(300, 285, 18, arcadeplus.color.WISTERIA, 3) # Draw a filled in circle arcadeplus.draw_text("draw_circle_filled", 363, 207, arcadeplus.color.BLACK, 10) arcadeplus.draw_circle_filled(420, 285, 18, arcadeplus.color.GREEN) # Draw an ellipse outline, and another one rotated arcadeplus.draw_text("draw_ellipse_outline", 483, 207, arcadeplus.color.BLACK, 10) arcadeplus.draw_ellipse_outline(540, 273, 15, 36, arcadeplus.color.AMBER, 3) arcadeplus.draw_ellipse_outline(540, 336, 15, 36, arcadeplus.color.BLACK_BEAN, 3, 45) # Draw a filled ellipse, and another one rotated arcadeplus.draw_text("draw_ellipse_filled", 3, 3, arcadeplus.color.BLACK, 10) arcadeplus.draw_ellipse_filled(60, 81, 15, 36, arcadeplus.color.AMBER) arcadeplus.draw_ellipse_filled(60, 144, 15, 36, arcadeplus.color.BLACK_BEAN, 45) # Draw an arc, and another one rotated
COLUMN_SPACING = 20 ROW_SPACING = 20 LEFT_MARGIN = 110 BOTTOM_MARGIN = 110 # Open the window and set the background arcadeplus.open_window(400, 400, "Complex Loops - Bottom Right Triangle") arcadeplus.set_background_color(arcadeplus.color.WHITE) # Start the render process. This must be done before any drawing commands. arcadeplus.start_render() # Loop for each row for row in range(10): # Loop for each column # Change the number of columns depending on the row we are in for column in range(row, 10): # Calculate our location x = column * COLUMN_SPACING + LEFT_MARGIN y = row * ROW_SPACING + BOTTOM_MARGIN # Draw the item arcadeplus.draw_circle_filled(x, y, 7, arcadeplus.color.AO) # Finish the render. arcadeplus.finish_render() # Keep the window up until someone closes it. arcadeplus.run()
def draw(self): """ Draw the balls with the instance variables we have. """ arcadeplus.draw_circle_filled(self.position_x, self.position_y, self.radius, self.color)
def on_draw(self): """ Render the screen. """ # Start the render process. This must be done before any drawing commands. arcadeplus.start_render() # Draw a grid # Draw vertical lines every 120 pixels for x in range(0, 601, 120): arcadeplus.draw_line(x, 0, x, 600, arcadeplus.color.BLACK, 2) # Draw horizontal lines every 200 pixels for y in range(0, 601, 200): arcadeplus.draw_line(0, y, 800, y, arcadeplus.color.BLACK, 2) # Draw a point arcadeplus.draw_text("draw_point", 3, 405, arcadeplus.color.BLACK, 12) arcadeplus.draw_point(60, 495, arcadeplus.color.RED, 10) # Draw a set of points arcadeplus.draw_text("draw_points", 123, 405, arcadeplus.color.BLACK, 12) point_list = ((165, 495), (165, 480), (165, 465), (195, 495), (195, 480), (195, 465)) arcadeplus.draw_points(point_list, arcadeplus.color.ZAFFRE, 10) # Draw a line arcadeplus.draw_text("draw_line", 243, 405, arcadeplus.color.BLACK, 12) arcadeplus.draw_line(270, 495, 300, 450, arcadeplus.color.WOOD_BROWN, 3) # Draw a set of lines arcadeplus.draw_text("draw_lines", 363, 405, arcadeplus.color.BLACK, 12) point_list = ((390, 450), (450, 450), (390, 480), (450, 480), (390, 510), (450, 510)) arcadeplus.draw_lines(point_list, arcadeplus.color.BLUE, 3) # Draw a line strip arcadeplus.draw_text("draw_line_strip", 483, 405, arcadeplus.color.BLACK, 12) point_list = ((510, 450), (570, 450), (510, 480), (570, 480), (510, 510), (570, 510)) arcadeplus.draw_line_strip(point_list, arcadeplus.color.TROPICAL_RAIN_FOREST, 3) arcadeplus.draw_line_strip(point_list, arcadeplus.color.BEIGE) # Draw a polygon arcadeplus.draw_text("draw_polygon_outline", 3, 207, arcadeplus.color.BLACK, 9) point_list = ((30, 240), (45, 240), (60, 255), (60, 285), (45, 300), (30, 300)) arcadeplus.draw_polygon_outline(point_list, arcadeplus.color.SPANISH_VIOLET, 3) # Draw a filled in polygon arcadeplus.draw_text("draw_polygon_filled", 123, 207, arcadeplus.color.BLACK, 9) point_list = ((150, 240), (165, 240), (180, 255), (180, 285), (165, 300), (150, 300)) arcadeplus.draw_polygon_filled(point_list, arcadeplus.color.SPANISH_VIOLET) # Draw an outline of a circle arcadeplus.draw_text("draw_circle_outline", 243, 207, arcadeplus.color.BLACK, 10) arcadeplus.draw_circle_outline(300, 285, 18, arcadeplus.color.WISTERIA, 3) arcadeplus.draw_circle_outline(350, 285, 18, arcadeplus.color.WISTERIA) # Draw a filled in circle arcadeplus.draw_text("draw_circle_filled", 363, 207, arcadeplus.color.BLACK, 10) arcadeplus.draw_circle_filled(420, 285, 18, arcadeplus.color.GREEN) # Draw an ellipse outline, and another one rotated arcadeplus.draw_text("draw_ellipse_outline", 483, 207, arcadeplus.color.BLACK, 10) arcadeplus.draw_ellipse_outline(540, 273, 15, 36, arcadeplus.color.AMBER, 3) arcadeplus.draw_ellipse_outline(540, 336, 15, 36, arcadeplus.color.BLACK_BEAN, 3, 45) # Draw a filled ellipse, and another one rotated arcadeplus.draw_text("draw_ellipse_filled", 3, 3, arcadeplus.color.BLACK, 10) arcadeplus.draw_ellipse_filled(60, 81, 15, 36, arcadeplus.color.AMBER) arcadeplus.draw_ellipse_filled(60, 144, 15, 36, arcadeplus.color.BLACK_BEAN, 45) # Draw an arc, and another one rotated arcadeplus.draw_text("draw_arc/filled_arc", 123, 3, arcadeplus.color.BLACK, 10) arcadeplus.draw_arc_outline(150, 81, 15, 36, arcadeplus.color.BRIGHT_MAROON, 90, 360) arcadeplus.draw_arc_filled(150, 144, 15, 36, arcadeplus.color.BOTTLE_GREEN, 90, 360, 45) # Draw an rectangle outline arcadeplus.draw_text("draw_rect", 243, 3, arcadeplus.color.BLACK, 10) arcadeplus.draw_rectangle_outline( 295, 100, 45, 65, arcadeplus.color.BRITISH_RACING_GREEN) arcadeplus.draw_rectangle_outline( 295, 160, 20, 45, arcadeplus.color.BRITISH_RACING_GREEN, 3, 45) # Draw a filled in rectangle arcadeplus.draw_text("draw_filled_rect", 363, 3, arcadeplus.color.BLACK, 10) arcadeplus.draw_rectangle_filled(420, 100, 45, 65, arcadeplus.color.BLUSH) arcadeplus.draw_rectangle_filled(420, 160, 20, 40, arcadeplus.color.BLUSH, 45) # Load and draw an image to the screen # Image from kenney.nl asset pack #1 arcadeplus.draw_text("draw_bitmap", 483, 3, arcadeplus.color.BLACK, 12) texture = arcadeplus.load_texture( ":resources:images/space_shooter/playerShip1_orange.png") scale = .6 # arcadeplus.draw_texture_rectangle(540, 120, scale * texture.width, # scale * texture.height, texture, 0) # arcadeplus.draw_texture_rectangle(540, 60, scale * texture.width, # scale * texture.height, texture, 45) # # Overlapping, with transparency test # Draw arcadeplus.draw_rectangle_filled(650, 100, 50, 50, (255, 0, 0)) arcadeplus.draw_rectangle_filled(670, 100, 50, 50, (0, 255, 0, 127)) # Test colors color = arcadeplus.get_pixel(635, 100) assert color == (255, 0, 0) color = arcadeplus.get_pixel(670, 100) assert color == (128, 127, 0) color = arcadeplus.get_pixel(690, 100) assert color == (128, 255, 128) # Test this other thing color = arcadeplus.get_pixel(100, 100) assert color == (255, 255, 255) # Run the get image. Ideally we'd test the output arcadeplus.get_image()
def on_draw(self): """ Render the screen. """ # Start the render process. This must be done before any drawing commands. arcadeplus.start_render() radius = 50 width = radius * 2 x = 200 y = 100 arcadeplus.draw_rectangle_outline(x, y, width, width, arcadeplus.color.BLACK, 2) arcadeplus.draw_circle_outline(x, y, radius, arcadeplus.color.BLACK, 2) arcadeplus.draw_line(x - radius, y, x + radius, y, arcadeplus.color.BLACK, 2) x = 200 y = 300 width = 150 half_width = width / 2 arcadeplus.draw_rectangle_outline(x, y, width, 50, arcadeplus.color.BLACK, 2) arcadeplus.draw_ellipse_outline(x, y, width, 50, arcadeplus.color.AFRICAN_VIOLET, 2) arcadeplus.draw_line(x - half_width, y, x + half_width, y, arcadeplus.color.RED, 2) x = 200 y = 500 width = 150 half_width = width / 2 arcadeplus.draw_rectangle_outline(x, y, width, 50, arcadeplus.color.BLACK, 2) arcadeplus.draw_arc_outline(x, y, width, 50, arcadeplus.color.AFRICAN_VIOLET, 0, 180, 5) arcadeplus.draw_line(x - half_width, y, x + half_width, y, arcadeplus.color.RED, 2) radius = 50 width = radius * 2 x = 400 y = 100 arcadeplus.draw_rectangle_outline(x, y, width, width, arcadeplus.color.BLACK, 2) arcadeplus.draw_circle_filled(x, y, radius, arcadeplus.color.AFRICAN_VIOLET) arcadeplus.draw_line(x - radius, y, x + radius, y, arcadeplus.color.BLACK, 2) x = 400 y = 300 width = 150 half_width = width / 2 arcadeplus.draw_rectangle_outline(x, y, width, 50, arcadeplus.color.BLACK, 2) arcadeplus.draw_ellipse_filled(x, y, width, 50, arcadeplus.color.AFRICAN_VIOLET, 2) arcadeplus.draw_line(x - half_width, y, x + half_width, y, arcadeplus.color.RED, 2) x = 400 y = 500 width = 150 half_width = width / 2 arcadeplus.draw_rectangle_outline(x, y, width, 50, arcadeplus.color.BLACK, 2) arcadeplus.draw_arc_filled(x, y, width, 50, arcadeplus.color.AFRICAN_VIOLET, 0, 180) arcadeplus.draw_line(x - half_width, y, x + half_width, y, arcadeplus.color.RED, 2)
# Open the window. Set the window title and dimensions arcadeplus.open_window(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE) # Set the background color arcadeplus.set_background_color(arcadeplus.color.WHITE) # Clear screen and start render process arcadeplus.start_render() # --- Drawing Commands Will Go Here --- # Draw the face x = 300 y = 300 radius = 200 arcadeplus.draw_circle_filled(x, y, radius, arcadeplus.color.YELLOW) # Draw the right eye x = 370 y = 350 radius = 20 arcadeplus.draw_circle_filled(x, y, radius, arcadeplus.color.BLACK) # Draw the left eye x = 230 y = 350 radius = 20 arcadeplus.draw_circle_filled(x, y, radius, arcadeplus.color.BLACK) # Draw the smile x = 300