团队-象棋游戏-模块开发过程

# -*- encoding: utf-8 -*-

def md(l,x):
a = l.index(x)
if x == ‘*‘ and l[a + 1] != ‘-‘:
k = float(l[a - 1]) * float(l[a + 1])
elif x == ‘/‘ and l[a + 1] != ‘-‘:
k = float(l[a - 1]) / float(l[a + 1])
elif x == ‘*‘ and l[a + 1] == ‘-‘:
k = -(float(l[a - 1]) * float(l[a + 2]))
elif x == ‘/‘ and l[a + 1] == ‘-‘:
k = -(float(l[a - 1]) / float(l[a + 2]))
del l[a - 1], l[a - 1], l[a - 1]
l.insert(a - 1, str(k))
return l

def fun(s):
l = re.findall(‘([\d\.]+|/|-|\+|\*)‘,s)
sum=0
while 1:
if ‘*‘ in l and ‘/‘ not in l:
md(l, ‘*‘)
elif ‘*‘ not in l and ‘/‘ in l:
md(l, ‘/‘)
elif ‘*‘ in l and ‘/‘ in l:
a = l.index(‘*‘)
b = l.index(‘/‘)
if a < b:
md(l, ‘*‘)
else:
md(l, ‘/‘)
else:
if l[0]==‘-‘:
l[0]=l[0]+l[1]
del l[1]
sum += float(l[0])
for i in range(1, len(l), 2):
if l[i] == ‘+‘ and l[i + 1] != ‘-‘:
sum += float(l[i + 1])
elif l[i] == ‘+‘ and l[i + 1] == ‘-‘:
sum -= float(l[i + 2])
elif l[i] == ‘-‘ and l[i + 1] == ‘-‘:
sum += float(l[i + 2])
elif l[i] == ‘-‘ and l[i + 1] != ‘-‘:
sum -= float(l[i + 1])
break
return sum

实现运算过程

def calculate(expression):
ex=[]
ans=0
if ‘(‘ not in expression:
ans=fun(expression)
return ans
for i in range(len(expression)):
if expression[i]==‘(‘:
ex.append(i) 
elif expression[i]==‘)‘: 
temp=0
sub=expression[ex[len(ex)-1]+1:i]
temp=fun(sub)
expression=expression[0:ex[len(ex)-1]]+str(temp)+expression[i+1:len(expression)+1]
ex.pop()
return calculate(expression)

s=‘1 - 2 * ( (60-30 +(-40/5+3) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )‘

print(1 - 2 * ( (60-30 +(-40/5+3) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) ))
s3=‘3*(4+50)-((100+40)*5/2-3*2*2/4+9)*(((3+4)-4)-4)‘                
print(3*(4+50)-((100+40)*5/2-3*2*2/4+9)*(((3+4)-4)-4))
print(calculate(s))                                                
print(calculate(s3))

时间: 2024-10-13 11:07:31

团队-象棋游戏-模块开发过程的相关文章

团队-象棋游戏-设计文档

项目名称:象棋游戏 项目参加人员:李一轩.程吉.刘泽宇.苑旺.李瑞鹏.周建伟 项目所需环境及工具:HBuilder.Google浏览器 页面设计:在网页中使用,并由图片来进行棋盘的显示 游戏功能设计:棋子分为红方棋子与黑方棋子,点击棋盘中的棋子即可控制棋子(预计设计不能随意点击棋盘中的格子):     功能按键分为:悔棋.撤销悔棋.重新开始和模式选择按钮: 操作流程:点击棋子->按象棋要求进行下子->吃掉敌方棋子->将军(获胜):     计时器:计算下一盘棋总共用时多久:计分器:赢得一

团队-象棋游戏-代码设计规范

逆流而上 象棋游戏 代码规范 一.前言: 本编程规范适用于编写HTML/CSS代码,本规范并不是一个一成不变的必须严格遵守的条文,特殊情况下应灵活应对,做到变通. 二.HTML编码: HTML是一种标记语言,HTML没有任何真正的编程语言中的循环或是流程控制语句.然而,HTML代码的格式和风格是非常重要的,因为要经常对HTML代码进行维护和修改,因此HTML代码必须有很清晰的逻辑结构和布局,增强可读性,而使其易懂和易于维护.HTML代码本身是不区分大小写的,但是为了更好的统一代码布局,本项目中H

团队-象棋游戏-需求分析

HTML版象棋游戏需求分析: 一.在HTML页面中将象棋棋盘绘画出来 二.对PVE/PVP对战进行分析: 1.进行游戏胜负的分析,将红方/黑方的帅/将进行斩杀便取得胜利 2.游戏的各种功能按键(如:悔棋.撤销悔棋.重新开始.选择对战模式等) 3.添加双方棋子(将现实中的棋子模样copy至游戏中) 4.添加双方回合制效果(一方已下棋后,另一方进行下棋) 5.吃子效应(对于棋子的特性不同,吃子的方式也不会相同,例如:炮只能隔子吃,马走日,象走田,小卒一去不复返,主不出宫,士走斜线等)注:被吃过的棋子

团队-象棋游戏-开发文档

<!DOCTYPE html> <html> <head lang="cn"> <meta charset="UTF-8"> <title>象棋游戏</title> <link rel="stylesheet" href="css/index.css" type="text/css"> <link rel="

团队-科学计算器-模块开发过程

开发模块功能:基本运算功能 加减乘除功能,开发时间:28天(小时),实现了加减乘除,实现过程是基本运算功能 遇到的问题及问题解决方法: 开发加减乘除时遇到了代码问题,最终使用重构方法解决了这个问题 其他补充说明: 无

团队-象棋游戏-开发环境搭建过程

开发工具: HBuilder,Google浏览器 搭建过程: HBuilder由之前实训时夏老师提供在酷课网上的压缩包(或在http://www.dcloud.io/中下载).下载后解压注册即可使用 Google浏览器,可以在百度中搜索Google浏览器

团队-象棋游戏-团队一阶段互评

学号:2015035107040 得分:8 原因:没有按时提交代码,但是完成了大部分代码 学号:2015035107019 得分:6 原因:没有及时进行代码提交 学号:2015035107221 得分:7 原因:没有及时进行代码提交,但是对项目有过研究 学号:2015035107212 得分:7 原因:项目跟进速度较慢 学号:2015035107038 得分:8 原因:对项目内所需要的元素进行ps修改 学号:2015035107063 得分:8 原因:对项目内所需要的元素进行ps修改

团队-象棋游戏-最终程序

托管平台地址:https://gitee.com/zixiao520/Chinesechess/blob/master/ChineseChess.zip 小组名称:Narcissu 小组成员合照: 程序运行方法:右键点击使用浏览器运行 程序运行示例及运行结果: 其他附加内容:无

C#中国象棋+游戏大厅 服务器 + 客户端源码

来源:www.ajerp.com/bbs C#中国象棋+游戏大厅 服务器 + 客户端源码 源码开源 C#版中国象棋(附游戏大厅) 基于前人大虾的修改版 主要用委托实现 服务器支持在线人数,大厅桌数的设置 游戏互不干扰 这个象棋大厅程序完全可以当做是C#委托事件的教程,而且游戏大厅功能也很多,服务器还可设置人数和桌数,大厅客户端也实时更新相关数据. 源码下载地址:http://www.ajerp.com/bbs/forum.php?mod=viewthread&tid=29&extra=pa