700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 亲自动手实现Python+pygame中国象棋游戏

亲自动手实现Python+pygame中国象棋游戏

时间:2022-02-13 00:54:28

相关推荐

亲自动手实现Python+pygame中国象棋游戏

功能1:实现游戏整体界面显示

返利网站

一、创建基本的结构

代码如下:

import timeimport pygamedef main():# 初始化pygamepygame.init()# 创建用来显示画面的对象(理解为相框)screen = pygame.display.set_mode((750, 667))# 主循环while True:time.sleep(0.1)# 显示screen这个相框的内容(此时在这个相框中的内容像照片、文字等会显示出来)pygame.display.update()if __name__ == '__main__':main()

运行效果:

二、显示背景

1. 添加图片

点击如下地址下载素材

/58.html

2. 显示一张图片

代码如下

import timeimport pygamedef main():# 初始化pygamepygame.init()# 创建用来显示画面的对象(理解为相框)screen = pygame.display.set_mode((750, 667))# 游戏背景图片background_img = pygame.image.load("images/bg.jpg")# 主循环while True:# 显示游戏背景screen.blit(background_img, (0, 0))time.sleep(0.1)# 显示screen这个相框的内容(此时在这个相框中的内容像照片、文字等会显示出来)pygame.display.update()if __name__ == '__main__':main()

运行效果

3. 通过多张图片实现整体背景

import timeimport pygamedef main():# 初始化pygamepygame.init()# 创建用来显示画面的对象(理解为相框)screen = pygame.display.set_mode((750, 667))# 游戏背景图片background_img = pygame.image.load("images/bg.jpg")# 主循环while True:# 显示游戏背景screen.blit(background_img, (0, 0))screen.blit(background_img, (0, 270))screen.blit(background_img, (0, 540))time.sleep(0.1)# 显示screen这个相框的内容(此时在这个相框中的内容像照片、文字等会显示出来)pygame.display.update()if __name__ == '__main__':main()

三、鼠标关闭窗口

import sysimport timeimport pygamedef main():# 初始化pygamepygame.init()# 创建用来显示画面的对象(理解为相框)screen = pygame.display.set_mode((750, 667))# 游戏背景图片background_img = pygame.image.load("images/bg.jpg")# 主循环while True:# 事件检测(例如点击了键盘、鼠标等)for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit() # 退出程序# 显示游戏背景screen.blit(background_img, (0, 0))screen.blit(background_img, (0, 270))screen.blit(background_img, (0, 540))time.sleep(0.1)# 显示screen这个相框的内容(此时在这个相框中的内容像照片、文字等会显示出来)pygame.display.update()if __name__ == '__main__':main()

运行效果

四、显示棋盘

代码

import sysimport timeimport pygamedef main():# 初始化pygamepygame.init()# 创建用来显示画面的对象(理解为相框)screen = pygame.display.set_mode((750, 667))# 游戏背景图片background_img = pygame.image.load("images/bg.jpg")# 游戏棋盘chessboard_img = pygame.image.load("images/bg.png")# 主循环while True:# 事件检测(例如点击了键盘、鼠标等)for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit() # 退出程序# 显示游戏背景screen.blit(background_img, (0, 0))screen.blit(background_img, (0, 270))screen.blit(background_img, (0, 540))# 显示棋盘screen.blit(chessboard_img, (50, 50))time.sleep(0.1)# 显示screen这个相框的内容(此时在这个相框中的内容像照片、文字等会显示出来)pygame.display.update()if __name__ == '__main__':main()

运行效果

五、显示棋子

代码

import sysimport timeimport pygamedef main():# 初始化pygamepygame.init()# 创建用来显示画面的对象(理解为相框)screen = pygame.display.set_mode((750, 667))# 游戏背景图片background_img = pygame.image.load("images/bg.jpg")# 游戏棋盘chessboard_img = pygame.image.load("images/bg.png")# 棋子chessboard_map = [["b_c", "b_m", "b_x", "b_s", "b_j", "b_s", "b_x", "b_m", "b_c"],["", "", "", "", "", "", "", "", ""],["", "b_p", "", "", "", "", "", "b_p", ""],["b_z", "", "b_z", "", "b_z", "", "b_z", "", "b_z"],["", "", "", "", "", "", "", "", ""],["", "", "", "", "", "", "", "", ""],["r_z", "", "r_z", "", "r_z", "", "r_z", "", "r_z"],["", "r_p", "", "", "", "", "", "r_p", ""],["", "", "", "", "", "", "", "", ""],["r_c", "r_m", "r_x", "r_s", "r_j", "r_s", "r_x", "r_m", "r_c"],]for row, line in enumerate(chessboard_map):for col, chess_name in enumerate(line):if chess_name:# 将创建的棋子添加到属性map中chessboard_map[row][col] = [pygame.image.load("images/" + chess_name + ".png"), (50 + col * 57, 50 + row * 57)]else:chessboard_map[row][col] = None# 主循环while True:# 事件检测(例如点击了键盘、鼠标等)for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit() # 退出程序# 显示游戏背景screen.blit(background_img, (0, 0))screen.blit(background_img, (0, 270))screen.blit(background_img, (0, 540))# 显示棋盘screen.blit(chessboard_img, (50, 50))# 显示棋盘上的所有棋子for line_chess in chessboard_map:for chess in line_chess:if chess:screen.blit(chess[0], chess[1])time.sleep(0.1)# 显示screen这个相框的内容(此时在这个相框中的内容像照片、文字等会显示出来)pygame.display.update()if __name__ == '__main__':main()

运行效果

更多步骤

更多步骤请访问 /01-b29fd8caf9b9ad57558c3a7c84c3de97/index.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。