pygame战棋游戏制作之战棋地图绘制(一)

本文介绍使用pygame制作战棋游戏地图的过程,包括遇到的困难和解决方案。首先,通过二维数组创建地图,然后解决数组遍历导致的格子叠加问题。接着,为了解决纯色格子无缝铺满的视觉效果,添加了边框。目前完成基本地图制作,但地图刷新和超出屏幕处理待优化。
摘要由CSDN通过智能技术生成

前言

本来有好多篇博文想写的,但是目前在做的是这款战棋游戏的开发,所以其他版块只能先咕咕咕了。或者有关注的小伙伴们可以留言希望下一个更新的版块是啥子?postgresql数据库底层原理?网络编程?计算机网络?redis底层原理?Nginx底层原理?Django的各种模块运用?

写这篇博文的原因还有一个是因为百度了一下,全网居然只有一个战棋开发的博文,这让想要学习的我很是苦恼,为了以后广大兴趣战棋开发爱好者有更多的资料可以借鉴,就萌生了这个版块的想法。

正文

战棋游戏首先第一件事就是要有个地图。

第一个想法很简单,就是一个二维的数组。但是制作起来才发现比想象中困难。

遇到的第一个困难就是,如何将二维数组铺在屏幕上。肯定会有小伙伴说很简单呀,遍历数组就好了。

实际上,pygame一次只能布置一个图片在屏幕上,如果只是单纯遍历数组,以数组下标作为布置图片的x,y坐标的话,你会发现,所有的格子都会叠在一起。因为格子的像素远大于1(我是使用宽高32像素的格子图案)

因此每次布置格子的时候,需要用数组下标*像素大小才能铺满整个屏幕。做出来的地图类会像是这样

class Map:
    def __init__(self):
        self.map_width,self.map_height = 960, 640
        self.block = 32
    
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值