用户:
RainDawn_SATA查看:0 回复:0 评论:0 创建时间:2022-04-29T20:52:31

根据《KITTEN》的活动内容,将其由pygame改编成arcade
import arcade
WIDTH = 800
HEIGHT = 800
arcade.open_window(WIDTH, HEIGHT, "Drawing")
arcade.set_background_color(arcade.color.BLACK)
class Drawing():
def __init__():
pass
def drawing_first():
arcade.start_render()
r = 10
for j in range(33):
center_y = r + j*2.5*r
for i in range(33):
center_x = i*2.5*r
if j % 2 == 0:
center_x = center_x-1.25*r
arcade.draw_circle_filled(
center_x, center_y, r, arcade.color.WHITE)
if (j == 3 or j == 16 or j == 29) and (i == 3 or i == 16 or i == 29):
arcade.draw_circle_filled(
center_x, center_y, r, [176, 176, 176])
arcade.finish_render()
def drawing_second():
arcade.start_render()
h = 16
r = h//2
interval = 150
for i in range(interval-h, HEIGHT, interval):
arcade.draw_line(0, i, WIDTH, i, [176, 176, 176], h)
for j in range(interval-h, WIDTH, interval):
arcade.draw_line(j, 0, j, HEIGHT, [176, 176, 176], h)
for i in range(interval-r, HEIGHT-h, interval):
for j in range(interval-r, WIDTH-h, interval):
arcade.draw_circle_filled(j-8, i-8, h, arcade.color.WHITE)
arcade.finish_render()
并添加了新的内容:

def drawing_third():
arcade.start_render()
r = 10
for i in range(20):
arcade.draw_circle_outline(400, 400, r+i*20, arcade.color.WHITE)
arcade.draw_rectangle_outline(400, 400, 500, 500, arcade.color.WHITE)
arcade.finish_render()
最结合并优化成如下:
import arcade
WIDTH = 800
HEIGHT = 800
arcade.open_window(WIDTH, HEIGHT, "Drawing")
arcade.set_background_color(arcade.color.BLACK)
class Drawing():
def __init__():
pass
def drawing_first():
arcade.start_render()
r = 10
for j in range(33):
center_y = r + j*2.5*r
for i in range(33):
center_x = i*2.5*r
if j % 2 == 0:
center_x = center_x-1.25*r
arcade.draw_circle_filled(
center_x, center_y, r, arcade.color.WHITE)
if (j == 3 or j == 16 or j == 29) and (i == 3 or i == 16 or i == 29):
arcade.draw_circle_filled(
center_x, center_y, r, [176, 176, 176])
arcade.finish_render()
def drawing_second():
arcade.start_render()
h = 16
r = h//2
interval = 150
for i in range(interval-h, HEIGHT, interval):
arcade.draw_line(0, i, WIDTH, i, [176, 176, 176], h)
for j in range(interval-h, WIDTH, interval):
arcade.draw_line(j, 0, j, HEIGHT, [176, 176, 176], h)
for i in range(interval-r, HEIGHT-h, interval):
for j in range(interval-r, WIDTH-h, interval):
arcade.draw_circle_filled(j-8, i-8, h, arcade.color.WHITE)
arcade.finish_render()
def drawing_third():
arcade.start_render()
r = 10
for i in range(20):
arcade.draw_circle_outline(400, 400, r+i*20, arcade.color.WHITE)
arcade.draw_rectangle_outline(400, 400, 500, 500, arcade.color.WHITE)
arcade.finish_render()
def main():
IN = input("选择一种视觉误差图; 1.'消失的灰点', 2.'闪烁的黑点', 3.'“不正”的正方形' 输入:1或2或3")
if int(IN) == 1:
Drawing.drawing_first()
elif int(IN) == 2:
Drawing.drawing_second()
elif int(IN) == 3:
Drawing.drawing_third()
Drawing.main()
arcade.run()