资源简介
用python中pygame模块开发的五子棋小游戏,实现功能:下棋,悔棋,重新开始,退出游戏,判赢,另附背景图片,背景音乐。
代码片段和文件信息
import numpy as np
import pygame
import sys
import traceback
import copy
from pygame.locals import *
pygame.init()
pygame.mixer.init()
#颜色
background=(201202187)
checkerboard=(000)
button=(525344)
#音乐
play_chess_sound = pygame.mixer.Sound(“music/play_chess.wav“)
play_chess_sound.set_volume(0.2)
button_sound = pygame.mixer.Sound(“music/button.wav“)
button_sound.set_volume(0.2)
victor_sound = pygame.mixer.Sound(“music/victory.wav“)
victor_sound.set_volume(0.2)
#绘制棋盘
def Draw_a_chessboard(screen):
#填充背景色
screen.fill(background)
Background=pygame.image.load(“background.jpg“).convert_alpha()
screen.blit(Background(00))
#画棋盘
for i in range(21):
pygame.draw.line(screen checkerboard (40*i+3 3) (40*i+3 803))
pygame.draw.line(screen checkerboard (3 40*i+3) (803 40*i+3))
#画边线
pygame.draw.line(screen checkerboard (3 3) (803 3)5)
pygame.draw.line(screen checkerboard (3 3) (3 803)5)
pygame.draw.line(screen checkerboard (803 3) (803 803)5)
pygame.draw.line(screen checkerboard (3 803) (803 803)5)
#画定位点
pygame.draw.circle(screen checkerboard (163 163) 6)
pygame.draw.circle(screen checkerboard (163 643) 6)
pygame.draw.circle(screen checkerboard (643 163) 6)
pygame.draw.circle(screen checkerboard (643 643) 6)
pygame.draw.circle(screen checkerboard (403 403) 6)
#画‘悔棋’‘重新开始’跟‘退出’按钮
pygame.draw.rect(screenbutton[900350120100]5)
pygame.draw.rect(screenbutton[900500200100]5)
pygame.draw.rect(screenbutton[900650200100]5)
s_font=pygame.font.Font(‘font.ttf‘40)
text1=s_font.render(“悔棋“Truebutton)
text2=s_font.render(“重新开始“Truebutton)
text3=s_font.render(“退出游戏“Truebutton)
screen.blit(text1(920370))
screen.blit(text2(920520))
screen.blit(text3(920670))
#绘制棋子(横坐标,纵坐标,屏幕,棋子颜色(1代表黑,2代表白))
def Draw_a_chessman(xyscreencolor):
if color==1:
Black_chess=pygame.image.load(“Black_chess.png“).convert_alpha()
screen.blit(Black_chess(40*x+3-1540*y+3-15))
if color==2:
White_chess=pygame.image.load(“White_chess.png“).convert_alpha()
screen.blit(White_chess(40*x+3-1540*y+3-15))
#绘制带有棋子的棋盘
def Draw_a_chessboard_with_chessman(mapscreen):
screen.fill(background)
Draw_a_chessboard(screen)
for i in range(24):
for j in range(24):
Draw_a_chessman(i+1j+1screenmap[i][j])
#定义存储棋盘的列表
#列表为24列24行是因为判断是否胜利函数里的索引会超出19
#列表大一点不会对游戏有什么影响
map=[]
for i in range(24):
map.append([000000000000000000000000])
#清零map列表
def clear():
global map
for i in range(24):
for j in range(24):
map[i][j]=0
#判断是否胜利
def win(i j):
k = map[i][j]
p=[]
for a in range(20):
p.append(0)
for i3 in range(i-4i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-08-11 16:53 Python 五子棋\
文件 229499 2018-08-11 10:53 Python 五子棋\Background.jpg
文件 1015586 2018-08-10 17:38 Python 五子棋\Background.png
文件 5485 2018-08-10 16:31 Python 五子棋\Black_chess.png
文件 8762068 2017-05-27 09:50 Python 五子棋\font.ttf
目录 0 2018-08-11 09:05 Python 五子棋\music\
文件 2104 2018-08-10 10:34 Python 五子棋\music\button.wav
文件 17074 2018-08-11 09:04 Python 五子棋\music\play_chess.wav
文件 455196 2018-08-11 08:58 Python 五子棋\music\victory.wav
文件 1567 2018-08-10 15:23 Python 五子棋\Python 五子棋3.pyproj
文件 10831 2018-08-11 16:53 Python 五子棋\Python_五子棋3.py
文件 5206 2018-08-10 16:31 Python 五子棋\White_chess.png
- 上一篇:PyTorch 模型训练实用教程及原文
- 下一篇:爬取优酷电影代码
相关资源
- 爬取优酷电影代码
- 《Python Cookbook》第三版中文完整版
- 黑马2017Python课程配套笔记
- Python空间分析教程
- numpy-1.12.1rc1-cp27-none-win_amd64.whl
- 《Python 3.6 入门指南》中文版
- Python核心编程第二版完整版_高清中文
- Python核心编程第二版中文.pdf
- Tkinter教程第二版.pdf
- python机器学习-音乐分类器实现
- 免费Python性能分析与优化.pdf
- SNIC超像素python代码
- wxPython2.8-win32-unicode-2.8.12.1-py27.exe
- python数据可视化编程实战 pdf 中文完整
- eric4-4.5.23
- python-3.7.3中文文档 chm版
- wxPython实战(中文版).pdf244916
- LIDC-IDRI-nodule-segmentation-master.zip
- Python opencv库 cv2.so (armhf版
- 基于Python网络爬虫毕业论文.doc
- 基于Python智联招聘牌爬虫+本科毕业论
- think python中文版
- python编程从入门到实践.zip237878
- Python思维导图.
- 用Python解决数据结构与算法问题
- 《Python地理空间分析指南》文字版P
- 深度学习入门:基于python的理论与实
- Python数据分析与机器学习-新闻分类任
-
廖雪峰教程合集ja
vasc ript+Python+g - FlaskWeb开发:Python基于Web应用开发实战
评论
共有 条评论