没有合适的资源?快使用搜索试试~ 我知道了~
本文实例为大家分享了python版大富翁游戏的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- # code by: 物网141 王璞劼Khalil # name: 理工大富翁beta2.0 # describe: 基于python的一个2D大富翁游戏 ''' 1.游戏地图为自己使用各种网络素材制作; 各种按钮和选项,小图标等也是使用PS制作。 2.声音效果主要为背景音乐和几种游戏中音效; 3.游戏设定了两个类:玩家和建筑 玩家的参数和方法都在代码中给出; 具体有:移动方法、位置判断方法、 购买房屋方法、添加小房子方法、 事件判断方法。 4
资源详情
资源评论
资源推荐
python版大富翁源代码分享版大富翁源代码分享
本文实例为大家分享了python版大富翁游戏的具体代码,供大家参考,具体内容如下
# -*- coding: utf-8 -*-
# code by: 物网141 王璞劼Khalil
# name: 理工大富翁beta2.0
# describe: 基于python的一个2D大富翁游戏
'''
1.游戏地图为自己使用各种网络素材制作;
各种按钮和选项,小图标等也是使用PS制作。
2.声音效果主要为背景音乐和几种游戏中音效;
3.游戏设定了两个类:玩家和建筑
玩家的参数和方法都在代码中给出;
具体有:移动方法、位置判断方法、
购买房屋方法、添加小房子方法、
事件判断方法。
4.玩家在大富翁的主要操作是投掷骰子,由随机函数
进行判定然后进行移动,进行位置判断,然后开始
进行相关的判定。
5.游戏中的按键有:是、否、和结束回合;
每个按键由没按下与按下两种状态的图片组成,
这个设计花费了一定时间。
还有 开始游戏 和 扔骰子 的两个明暗按钮,
由pygame优化后的一个函数实现。
6.玩家的位置与电脑重叠时会将双方的位置进行一定
偏移,防止进行覆盖,分不清自己的位置。
7.游戏基础功能有移动,购买房子,在已经购买的房子下
搭建新的小房子增加过路费,被收费,判断胜负的基础
功能,此外还加入了幸运事件:
财神 - 免收费一次
衰神 - 双倍被收费一次
破坏神 - 直接破坏一个建筑 无论敌我
土地神 - 强占对面建筑
这四项功能在位置处于左上角和右下角的时候会被触发,
添加了很多游戏乐趣哦~~~ ^_^
8.游戏基于python的一个模块pygame实现,给我提供了很
多快乐的时光,谢谢老师的阅览与郭宁同学的协助答辩
:)
'''
#####################准备工作##################
# 初始化各种模块
import pygame
import random
import sys
# 定义类
class Player():
def __init__(self, image ,name , isPlayer):
self.name = name
self.money = 10000
self.isGoingToMove = False
self.movable = True
self.image = image
self.position = 0
self.temp_position = False
self.dice_value = 0
self.locatedBuilding = 0
self.showText = [] self.isPlayer = isPlayer
self.ownedBuildings = [] self.isShowText = False
self.soundPlayList = 0
self.caishen = 0
self.shuaishen = 0
self.tudishen = 0
self.pohuaishen = 0
def judgePosition(self,buildings): # 位置判断 返回值是所在位置的建筑
for each in buildings:
for every in each.location:
if self.position == every:
return each
# 当使用元组时 当元组中只有一个元素时 发现该元素不可迭代
# 出现错误 换成列表后解决
'''
try:
for every in each.location:
if self.position == every:
print(each.name)
except:
if self.position == every:
print(each.name)
'''
def buyaBuilding(self,isPressYes): # 购买方法
if isPressYes and self.locatedBuilding.owner != self.name:
self.locatedBuilding.owner = self.name
self.locatedBuilding.wasBought = True
self.ownedBuildings.append(self.locatedBuilding)
self.money -= self.locatedBuilding.price
self.showText = [self.name + '购买了' + self.locatedBuilding.name + '!'] self.soundPlayList = 1
return True
else:
return False
def addaHouse(self,isPressYes): # 在建筑物上添加一个房子
try:
if isPressYes and self.locatedBuilding.owner == self.name:
self.locatedBuilding.builtRoom += 1
self.money -= self.locatedBuilding.payment
self.showText = [self.name + '在' + self.locatedBuilding.name + '上!','盖了一座房子!',\
'有%d' % self.locatedBuilding.builtRoom + '个房子了!',\
"它的过路费是%d" % (self.locatedBuilding.payment * \
(self.locatedBuilding.builtRoom + 1)) ] self.soundPlayList = 2
return True
else:
return False
except:
pass
def move(self,buildings,allplayers): # 移动方法 返回值是所在的建筑位置
self.dice_value = random.randint(1,6)
self.position += self.dice_value
if self.position >= 16:
self.position -= 16
self.locatedBuilding = self.judgePosition(buildings)
self.isShowText = True
return self.eventInPosition(allplayers)
def eventInPosition(self,allplayers): # 判断在建筑位置应该发生的事件
building = self.locatedBuilding
if building.name != '空地':
if self.locatedBuilding.wasBought == False: # 未购买的时候显示建筑的数据!
if self.isPlayer == True:
textLine0 = self.name +'扔出了' + '%d'% self.dice_value + '点!'
textLine1 = self.name +'来到了' + building.name + '!'
textLine2 = '购买价格:%d' % building.price
textLine3 = '过路收费:%d' % building.payment
textLine4 = '是否购买?'
self.showText = [textLine0,textLine1,textLine2,textLine3,textLine4] return True
else :
self.addaHouse(not self.buyaBuilding(True))
# ----- 动画 -------
剩余9页未读,继续阅读
weixin_38740201
- 粉丝: 7
- 资源: 949
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 数学建模问题中的整数规划
- 课程“使用 Vue Router 构建 Vue.js 单页应用”中的案例研究项目的源代码.zip
- 基于逻辑回归的多分类问题
- 陈卓贤 - DWBF.mp3
- JAVA的SpringBoot中小医院HIS管理系统源码带安装教程数据库 MySQL源码类型 WebForm
- 该项目是为 Vue.js 2 + vue-router + webpack2 + iView 3 构建的.zip
- CNN图像处理图像识别分类
- 基于opencv和pyqt5的图像处理程序python源码 (高分项目).zip
- 鲸鱼优化算法求解开放式车辆路径问题
- 精选与 VuePress 相关的精彩内容列表.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0