python入门小游戏代码20行,python小游戏编程100例 | 您所在的位置:网站首页 › 游戏代码编程入门12~18 › python入门小游戏代码20行,python小游戏编程100例 |
相关文件
源码分享,问题解答!! 关注小编,私信小编领取哟! 当然别忘了一件三连哟~~ 对了大家可以关注小编的公众号哟~~ 有很多资源可以领取的哟!! Python日志 Python版本:3.6.4 相关模块: pygame模块; 以及一些Python自带的模块。 环境搭建安装Python并添加到环境变量,pip安装需要的相关模块即可python创意编程比赛作品。 一:五子棋五子棋是是一种两人对弈的纯策略型棋类游戏。 五子棋有两种玩法。玩法一:双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连线者获胜。玩法二:自己形成五子连线就替换对方任意一枚棋子。被替换的棋子可以和对方交换棋子。最后以先出完所有棋子的一方为胜。 pygame模块 游戏采用pygame模块需要先安装 pip install pygame窗口启动 import pygame pygame.init() pygame.display.set_caption('五子棋-IT入门') # 改标题 # pygame.display.set_mode()表示建立个窗口,左上角为坐标原点,往右为x正向,往下为y轴正向 screen = pygame.display.set_mode((640,640))绘制棋子 需要说一下的是画棋子,因为没找到什么合适的棋子图片,所以只要自己来画棋子。 我们用pygame.draw.circle 绘制棋盘 定义棋盘这个类 class RenjuBoard(object): def __init__(self): # self._board = board = [[EMPTY] * 15 for _ in range(15)] # 将棋盘每一个交叉点都看作列表的一个元素位,一共有15*15共225个元素 self._board = [[]] * 15 self.reset() #重置棋盘 def reset(self): for row in range(len(self._board)): self._board[row] = [EMPTY] * 15 #定义棋盘上的下棋函数,row表示行,col表示列,is_black表示判断当前点位该下黑棋,还是白棋 def move(self, row, col, is_black): if self._board[row][col] == EMPTY: self._board[row][col] = BLACK if is_black else WHITE return True return False # 给棋盘定义一个函数将自己在screen上面画出来,使用pygame.draw()函数。并且顺便将下了的棋子也画出来 def draw(self, screen): for h in range(1, 16): pygame.draw.line(screen, black_color, [40, h * 40], [600, h * 40], 1) pygame.draw.line(screen, black_color, [h * 40,40], [h * 40, 600], 1) # 给棋盘加一个外框,使美观 pygame.draw.rect(screen, black_color, [36, 36, 568, 568], 3) # 在棋盘上标出,天元以及另外4个特殊点位 pygame.draw.circle(screen, black_color, [320, 320], 5, 0) pygame.draw.circle(screen, black_color, [160, 160], 3, 0) pygame.draw.circle(screen, black_color, [160, 480], 3, 0) pygame.draw.circle(screen, black_color, [480, 160], 3, 0) pygame.draw.circle(screen, black_color, [480, 480], 3, 0) #做2次for循环取得棋盘上所有交叉点的坐标 for row in range(len(self._board)): for col in range(len(self._board[row])): # 将下在棋盘上的棋子画出来 if self._board[row][col] != EMPTY: ccolor = black_color \ if self._board[row][col] == BLACK else white_color # 取得这个交叉点下的棋子的颜色,并将棋子画出来 pos = [40 * (col + 1), 40 * (row + 1)] # 画出棋子 pygame.draw.circle(screen, ccolor, pos, 18, 0)最后就是代码的实现啦,代码有点长我就不一一写出来啦,需要的小伙伴可以看相关文件哟!! 效果展示 敌人精灵 首先定义Mob(小怪物)类型: class Mob(pygame.sprite |
CopyRight 2018-2019 实验室设备网 版权所有 |