# -*- coding: cp936 -*-
import random,re,sys,os
import cPickle as cp
all_goods= {
# 名称 最低 最高
'汽车' : [16000,500000],
'玩具' : [50, 2500],
'化妆品' : [150, 5000],
'光碟' : [5, 500],
'电脑' : [2000,20000]
}
class Goods():
markgoods={}
def __init__ (self,all_goods):
self.all_goods=all_goods
def random_goods(self):
for key,value in self.all_goods.items():
price=random.randrange(value[0],value[1])
Goods.markgoods[key]=[value[0],value[1],price]
def print_goods(self):
print '||============================================||'
print '||============================================||'
print '|| 游戏市场 ||'
print '||********************************************||'
print '|| 名称 最低价 最高价 当前价 可买数 ||'
for key,value in Goods.markgoods.items():
print '||--------------------------------------------||'
print "|| %-8s%-9d%-10d%-10d%-6d||"%(key,value[0],value[1],value[2],Person.money/value[2])
print '||============================================||'
class Person:
money=10000
count=20
depot=0
mylist={}
def buy(self,key,buy_price,number):
if key in self.mylist:
Person.mylist[key][0]=buy_price
Person.mylist[key][1]+=number
else:
Person.mylist[key]=[buy_price,number]
Person.money-=buy_price*number
Person.depot+=number
Person.count-=1
def sale(self,key,number):
Person.mylist[key][1]-=number
Person.money+=Goods.markgoods[key][2]*number
Person.depot-=number
Person.count-=1
if Person.mylist[key][1]==0:
del Person.mylist[key]
def print_my(self):
print '|| 金钱:%-12d仓库:100\%-4d还剩步数:%-6d||'%(Person.money,Person.depot,Person.count)
if len(Person.mylist)==0:
print '||--------------------------------------------||'
print '|| 没有存货 ||'
print '||============================================||'
else:
print '||--------------------------------------------||'
print '|| 名称 买入价格 拥用数量 ||'
for key,value in Person.mylist.items():
print '||--------------------------------------------||'
print '|| %-17s%-15d%-9d ||'%(key,value[0],value[1])
# 名称 价格 数量
print '||--------------------------------------------||'
def control():
print ' 游戏开始'
G=Goods(all_goods)
P=Person()
rule='([12])\s+(.+)\(s+)\d+'
while True:
G.random_goods()
G.print_goods()
P.print_my()
if Person().count==0:
print '游戏结束'
print '你的得分:',Person.money
sys.exit()
#f=file(r'E:\python\buy_sale_game\high.data','w')
#lines=f.readlines()
#if len(lines)==0:
#name=raw_input('输入你的大名:')
#high=[[name,Person.money]]
#cp.dump(high,f)
#else:
#high=cp.load(f)
while True:
try:
get=raw_input('||->输入指令:买或卖(1或2) 物品名称 数量 ]:')
if get=='exit':
sys.exit()
if get=='3':
Person.count-=1
break
order=re.match(rule,get)
number=int(order.group(3))
# 买或卖 名称 数量
except AttributeError:
print '||----->输入错误!请重新输入'
continue
if order.group(1)=='1':
if number+P.depot>100:
print '||----->仓库放不下了!'
continue
if P.money-G.markgoods[order.group(2)][2]*number<0:
print '||----->钱不够!'
continue
P.buy(order.group(2),G.markgoods[order.group(2)][2],number)
# 名称 当前价格 数量
break
elif order.group(1)=='2':
if order.group(2) not in P.mylist:
print '||----->你没有这个物品!'
continue
if P.mylist[order.group(2)][1]-number<0:
print '||----->没有足够存货!'
continue
P.sale(order.group(2),number)
break
control()
没有合适的资源?快使用搜索试试~ 我知道了~
buying_and_selling_game.rar_Buying and Selling_Python游戏
共7个文件
exe:2个
py:2个
dll:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 160 浏览量
2022-09-24
16:24:14
上传
评论
收藏 1.19MB RAR 举报
温馨提示
自己用Python写的一个买卖游戏,基本功能齐全。压缩包内有编译好的程序(带setup.py),也有游戏的源代码(清晰、明了、易学)。
资源推荐
资源详情
资源评论
收起资源包目录
buying_and_selling_game.rar (7个子文件)
buying and selling game by python
python26.dll 2.05MB
买卖游戏.exe 23KB
maimaiyouxi.py 5KB
my.ico 36KB
w9xpopen.exe 49KB
setup.py 612B
library.zip 1.32MB
共 7 条
- 1
资源评论
小贝德罗
- 粉丝: 68
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功