资源简介
用pygame简单实现的一个中国象棋代码
代码片段和文件信息
#-*- coding:utf-8 -*-
import pygame
import pygame._view
from pygame.locals import *
from sys import exit
#from Chessman import *
class chess(object):
pygame.init()
font = pygame.font.Font(“simsun.ttc“32)
def __init__(selfSCREEN_SIZE=(560630)):
#pygame.init()
self.SCREEN_SIZE=SCREEN_SIZE
x=SCREEN_SIZE[0]+60
y=SCREEN_SIZE[1]+60
self.screen = pygame.display.set_mode((xy)032)
pygame.display.set_caption(‘Chess‘)
#self.background = pygame.image.load(‘sushiplate.jpg‘).convert()
self.grid_dict = {}
for x in range(9):
for y in range(10):
self.grid_dict[(xy)] = self.grid(xy)
self.red_list = maninit(red)
self.green_list = maninit(green)
#self.man_list = self.red_list + self.green_list
self.select_point = (-1-1)
self.select_man = None
self.current_color = red
self.background = pygame.image.load(‘back2.jpg‘).convert()
self.update()
#print ‘end‘
def over(selfcolor):
text = ‘‘
if color == red:
text = u‘红方‘
if color == green:
text = u‘蓝方‘
text_surface = chess.font.render(text+u‘输‘Truecolor)
self.screen.blit(text_surface(305345))
def update(self):
self.screen.blit(self.background(00))
self.drawbackground(self.screen)
self.drawcross(self.screen)
self.drawmans()
self.select(self.select_point[0]self.select_point[1])
def get_mans(self):
return self.red_list + self.green_list
def grid(selfxy):
gridX=self.SCREEN_SIZE[0] * x / 8.0 + 30
gridY=self.SCREEN_SIZE[1] * y / 9.0 + 30
return (gridXgridY)
def find_grid(selfMouse_xMouse_y):
longth = 10000
points_list = self.grid_dict.values()
tmp_point = (00)
for point in points_list:
tmp = (Mouse_x-point[0])**2+(Mouse_y-point[1])**2
if longth>= tmp:
longth = tmp
tmp_point = point
if longth >= 35**2:
return None
i = points_list.index(tmp_point)
return self.grid_dict.keys()[i]
def select(selfgridXgridY):
#self.drawcross(self.screen(gridXgridY))
if (gridXgridY)==(-1-1):
return
xy = self.grid(gridXgridY)
color = red
pygame.draw.lines(self.screencolorFalse[(x-35y-35)(x-10y-35)]3)
pygame.draw.lines(self.screencolorFalse[(x+35y-35)(x+10y-35)]3)
pygame.draw.lines(self.screencolorFalse[(x-35y+35)(x-10y+35)]3)
pygame.draw.lines(self.screencolorFalse[(x+35y+35)(x+10y+35)]3)
pygame.draw.lines(self.screencolorFalse[(x-35y-35)(x-35y-10)]3)
pygame.draw.lines(self.screencolorFalse[(x+35y-35)(x+35y-10)]3)
pygame.draw
- 上一篇:Python爬虫--抓取百度百科的前1000个页面
- 下一篇:多线程爬虫
相关资源
- Python-BDD100K大规模多样化驾驶视频数据
- Instant Pygame for Python Game Development How
- Biopython Tutorial
- Think Python 2nd
- 一个小小的表白程序(python)
- Python课堂笔记(高淇400集第一季)
- 二级考试python试题12套(包括选择题和
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
评论
共有 条评论