如何在Python中通过GUI绘制由#字符构成的房间四周边墙
代码修改方案
你现有的代码仅实现了顶部边墙的绘制逻辑,且main函数缺少Gui初始化、绘制触发的完整流程,按如下调整即可实现四周边墙效果:
核心修改点
- 补充
draw方法中剩余三条边的绘制逻辑:底部水平边、左侧垂直边、右侧垂直边 - 补全
main函数的执行流程,增加Gui实例化、绘制调用、界面渲染逻辑
修改后完整代码
from gui import Gui class Room: """The room has a width and height, a character to draw, and color.""" def __init__(self, width, height, c, fore_color, back_color): self.width = width self.height = height self.c = c self.fore_color = fore_color self.back_color = back_color def draw(self, gui): # 原有顶部水平边 gui.draw_line(self.c, 0, 0, self.width - 1, 0, self.fore_color, self.back_color) # 新增底部水平边 gui.draw_line(self.c, 0, self.height - 1, self.width - 1, self.height - 1, self.fore_color, self.back_color) # 新增左侧垂直边 gui.draw_line(self.c, 0, 0, 0, self.height - 1, self.fore_color, self.back_color) # 新增右侧垂直边 gui.draw_line(self.c, self.width - 1, 0, self.width - 1, self.height - 1, self.fore_color, self.back_color) def main(): # 初始化Gui实例 gui = Gui() room = Room(gui.get_width(), gui.get_height(), "#","WHITE", "BLUE") # 调用绘制方法渲染房间 room.draw(gui) # 启动gui界面展示(可根据你使用的gui库实际api调整,常见方法名为run()/start()等) gui.run() if __name__ == "__main__": main()
效果说明
上述代码默认适配draw_line参数为(绘制字符, 起点x, 起点y, 终点x, 终点y, 前景色, 背景色)的gui库,运行后即可得到四周用#字符填充的封闭房间效果。

内容的提问来源于stack exchange,提问作者Boc Boc
相关产品推荐
相关产品推荐

