以下是部分代码预览:
"""
小虫密室逃脱.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资源。)
