使用python开发一款Roguelike游戏,其中一种方法就是使用一个名为“libtcod”的语言库。
原教程地址Complete Roguelike Tutorial, using python3+libtcod
原教程写的非常全面,但是也很繁琐,这里挑出一些关键步骤。
安装libtcod并配置相关环境
假设你已经在windows操作系统上上安装了python3,安装了pycharm、sublime、VS系列等等IDE,并配置好了环境变量,接下来想要安装libtcod,在命令行下写入以下内容:
pip install tcod
为了验证是否安装成功,测试以下代码:
import tcod as libtcod
print(libtcod.white)
如果输出值为Color(255, 255, 255)则安装成功。
然后还需要一个图像文件作为字体。
如果以上环境配置有问题还是使用原教程中的方法吧,虽然麻烦了一点。
绘制符号
创建一个文件夹作为项目文件夹,将上文中的图片命名为arial10x10.png放入其中,再创建文件engine.py并写下以下代码:
import tcod as libtcod
def main():
#0.定义了生成屏幕的大小
screen_width = 80
screen_height = 50
#1.在这里告诉libtcod使用哪种字体,这也就是那张图片的作用。
libtcod.console_set_custom_font('arial10x10.png', libtcod.FONT_TYPE_GREYSCALE | libtcod.FONT_LAYOUT_TCOD)
#2.创建屏幕(宽,高,标题,是否全屏)
libtcod.console_init_root(screen_width, screen_height, 'libtcod tutorial revised', False)
#3.0主循环,在关闭屏幕的时候跳出循环
while not libtcod.console_is_window_closed():
#3.1设置'@'符号的颜色,这里是白色,这里的第一个参数‘0’是要绘制的控制台,也就是生成的屏幕
libtcod.console_set_default_foreground(0, libtcod.white)
#3.2在屏幕上绘制符号这里的第一个参数‘0’也是要绘制的控制台,
# 第二、三个参数是坐标(原点在屏幕左上角向下向右递增),
# 第四个参数是要绘制的符号,这个符号必须是在图片arial10x10.png中存在的字符,否则屏幕上什么都不显示
# 第五个参数是设置符号背景
libtcod.console_put_char(0, 1, 1, '@', libtcod.BKGND_NONE)
#3.3在屏幕上显示显示之前设置的内容
libtcod.console_flush()
#3.4接受一个键盘输入,如果为esc则跳出循环
key = libtcod.console_check_for_keypress()
if key.vk == libtcod.KEY_ESCAPE:
return True
if __name__ == '__main__':
main()
如果环境配置都没有任何问题,此时应该可以看到生成的屏幕左上角有一个白色的‘@’字符,按下esc键将关闭该窗口。