以下是部分代码预览:
""" 小虫密室逃脱.py 小虫子被困在密室了,只要帮它碰到密码箱,正确输入密码,才能让它逃脱。 可是有一只狗在把守密码箱,俗话说狗拿耗子,多管闲事。有一只老鼠被闲在笼子里。 只要小虫子拿到钥匙,笼子就会自动打开,耗子就会跑,狗就会去抓耗子。趁这个时候虫子就能去碰密码箱了。 请用上左右方向箭头操作小虫子,让它碰到钥匙后再去碰保险箱。本程序用arcade模块实现主程序,用turtle模块实现密码输入界面。 """ import arcade PASSWORD = "888" # 解锁密码 SPRITE_SCALING = 1 # 定义缩放比例 SCREEN_WIDTH = 1280 # 定义所渲染的屏幕宽度 SCREEN_HEIGHT = 960 # 定义所渲染的屏幕高度 SCREEN_TITLE = "小虫密室逃脱by李兴球_arcade简易迷宫游戏" SPRITE_PIXEL_SIZE = 64 # 地图方块尺寸 # 定义物理常数 MOVEMENT_SPEED = 5 JUMP_SPEED = 23 GRAVITY = 1.1 class MyGame(arcade.Window): """ 继承自窗口的游戏类. """ input_password = False def __init__(self): """ 初始化方法 """ super().__init__(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE) # 定义角色列表 self.wall_list = None self.key_list = None # 定义玩家相关变量 self.player_sprite = None self.physics_engine = None def setup(self): """ 设置与初始化变量的值. """ # 老鼠,代表猎物 self.rat = arcade.Sprite("images/mouse_right.png") self.rat.textures.append(arcade.load_texture("images/mouse_left.png")) self.rat.status = "hide" # 这是自定义属性 self.rat.center_x = 300 self.rat.center_y = 80 def let_rat_go(self): """设定让耗子跑的状态""" self.rat.status = "run" self.rat.change_x = 10 def let_rat_dead(self): """让老鼠死的状态""" self.rat.status = "dead" self.rat.change_x = 0 def on_draw(self): """ 渲染屏幕 """ # 开始渲染屏幕 arcade.start_render() # 画所有的角色 def on_key_press(self, key, modifiers): """ 当按键时调用此方法 """ def on_key_release(self, key, modifiers): """ 当松开键时调用此方法 """ def update(self, delta_time): """ 移动与游戏的逻辑,这个方法不断地执行,如果本关key数加载完了,那么此关结束 """ def show_password_input_UI(): """显示密码输入界面,本函数定义了一个Square类,用来实例化三个小方块,单击它们会换造型""" print(" 这里显示密码输入界面") images = ["images/" + str(i) + ".gif" for i in range(10)] import turtle import random screen = turtle.Screen() screen.delay(0) screen.setup(SCREEN_WIDTH//3,SCREEN_HEIGHT//3) screen.bgcolor("#999999") screen.title("请输入密码,用鼠标单击数字即可") [screen.addshape(image) for image in images] turtle.penup() turtle.ht() turtle.goto(0,100) turtle.write("请用鼠标单击输入密码箱的密码:",font=("黑体",16,"normal"),align='center') square1 = Square(images) # 左边方块 square1.goto(-100,0) square2 = Square(images) # 中间方块 square3 = Square(images) # 右边方块 square3.goto(100,0) screen.mainloop() def main(): window = MyGame() window.setup() arcade.run() if __name__ == "__main__": main()
下载完整源代码与素材,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)