python入门小游戏代码20行,python小游戏编程100例 您所在的位置:网站首页 游戏代码编程入门12~18 python入门小游戏代码20行,python小游戏编程100例

python入门小游戏代码20行,python小游戏编程100例

2024-07-11 13:56| 来源: 网络整理| 查看: 265

相关文件

源码分享,问题解答!! 关注小编,私信小编领取哟! 当然别忘了一件三连哟~~

对了大家可以关注小编的公众号哟~~ 有很多资源可以领取的哟!!

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 实验室设备网 版权所有