需要用面向对象的思想编写一个模拟人生的小游戏,其实就目前学的知识来说,最多只能写个故事叙述类的小游戏,因此这里只是给出该游戏中有关class的代码,代码是Alex老师写的,对进一步加深Python面向对象的特性有很大帮助!

游戏的情节梗概如下:

John and Liz 是高中同学时的恋人,后来Liz考上了北京城市学院,Jhon没有,为了跟女朋友在一起,他来到了北京打工(一家网吧当网管),挣钱为Liz交学费,后来LIZ毕业后工作了,遇到了公司的高富帅peter,然后两人就苟且在了一起,JHON发现后非常伤心,发誓要把LIZ夺回来,然后他发粪学习,增加自身能力,参加自考,学习老男孩PYTHON,若干年后,当上了某大型互联网公司的IT总监,月薪5万,北京买了车和房,偶然又见到了LIZ,此时她已被高富PETER甩了,LIZ提出再回到JHON身边时,JHONE优雅的说。。。

从情节中可以看出,用目前所学的知识,做交互式的话,可能意义不太大,但定义好角色的类之后,其实也是可以折腾一下的,由于时间的关系,就不去折腾了,因为这个过程中需要的其实更多的是有关游戏中的Ideas,下面就给出Alex老师写的类代码,以及我自己加的一点点的故事叙述型的游戏情节吧:class person:

assets = 0

school_name = None

Interview = ['360', 'Baidu', 'Ali', 'Tengxun']

attraction = 0

skills = []

love_status = None

lover = None

job = None

company = None

def __init__(self, name, sex, role):

self.name = name

self.sex = sex

self.role = role

print '\033[32;1m-\033[0m'*60

if self.role == 'rich':

self.assets += 10000000

self.attraction += 80

print '\033[32;1mMy name is %s, I am a %s guy, I have %s money! It is good to be rich..\033[0m'\

%(self.name, self.role, self.assets)

elif self.role == 'poor':

self.assets += 5000

self.attraction += 40

print '\033[31;1mMy name is %s, I am a %s guy, I hvae %s money! I hate \

to be poor, but...life is fucking hard..\033[0m' % \

(self.name, self.role, self.assets)

elif self.role == 'beauty':

self.assets += 5000

self.attraction += 90

print '\033[32;1mMy name is %s, I am a %s girl, I do not have much money, \

but I am very beautiful,that makes me feel good and confident, but I do \

not want to be poor forever.\033[0m' % (self.name,self.role)

def talk(self, msg, tone = 'normal'):

if tone == 'normal':

print '\033[32;1m%s: %s\033[0m' % (self.name, msg)

elif tone == 'angry':

print '\033[31;1m%s: %s\033[0m' % (self.name, msg)

def assets_balance(self, amount, action):

if action == 'earn':

self.assets += amount

print '\033[32;1m%s just made %sRMB! Current assets is %s \033[0m' % \

(self.name, amount, self.assets)

elif action == 'cost':

self.assets -= amount

print '\033[32;1m%s just cost %sRMB! Current assets is %s \033[0m' % \

(self.name, amount, self.assets)

p1 = person('John', 'male', 'poor')

p1.talk('Hello, my guys!')

p1.assets_balance(300, 'earn')

p2 = person('Liz', 'female', 'beauty')

p2.talk('Hi, my dear!')

p2.assets_balance(1500,'earn')

p3 = person('Peter', 'male', 'rich')

p3.talk('Hi guys')

p3.assets_balance(3000, 'cost')

def section(part):

print '\033[31;1m*\033[0m'*30 + part + '\033[31;1m*\033[0m'*30

section('Part 1: A love story')

p1.lover = p2

p1.love_status = 'Not_single'

p1.talk('I hvae a girlfriend, her name is %s.I love she very much.' % p1.lover.name)

p2.lover = p1

p1.love_status = 'Not_single'

p2.talk('I have a boy friend, his name is %s.Thout he is poor, he loves me.' % p2.lover.name)

section('Part 2: college entrance examination')

p1.talk('Oh, my god! I can not go to a college.', 'angry')

p2.talk('I can go to a college to change my life.')

section("Part 3: Liz's difficulity")

p2.talk('What should I do?I do not have money to go to the college.')

p1.talk('Do not worry!Though I can not go to the college with you, I still can earn money to support you.')

p2.talk('%s, so thank you for you.I love you!' % p2.lover.name)

section("Part 4: work and college life")

p1.talk('In order to support %s, I must work hard at the net bar.' % p1.lover.name)

p2.talk('I will study hard to enter a good company when I graduate.')

重点应该是放在类的代码上,这些代码可以加深初学者对Python类的使用的理解。

python面向对象游戏_【Python之旅】第四篇(四):基于面向对象的模拟人生游戏类...相关推荐

  1. python象限判断_玩数据之数据方法篇—四象限分析法—附EXCEL+Python案例

    一. 怎么使用(二维)四象限分析 案例一,以一个电子商务公司为例,老板需要评估销售的商品类别的整体情况.那么,参考二维四象限分析的套路--直接可以按照销售金额,以及销售利润两个方面进行(具体直接套用下 ...

  2. python keyboard模块_[python] PyMouse、PyKeyboard用python操作鼠标和键盘

    1.PyUserInput 简介 PyUserInput是一个使用python的跨平台的操作鼠标和键盘的模块,非常方便使用.支持的平台及依赖如下: Linux - Xlib Mac - Quartz, ...

  3. python 数学期望_(Python)零起步数学+神经网络入门

    摘要: 手把手教你用(Python)零起步数学+神经网络入门! 在这篇文章中,我们将在Python中从头开始了解用于构建具有各种层神经网络(完全连接,卷积等)的小型库中的机器学习和代码.最终,我们将能 ...

  4. python 病毒 基因_#Python#提取基因对应的蛋白质名

    提取基因对应的蛋白质官方名 最开始,是需要将基因跟其编码的蛋白质对应起来,找遍了各种数据库都没发现有相关的注释文件,Uniprot作为处理蛋白质的大佬,结果里都有,肯定有办法能够满足需求. 搜索TP5 ...

  5. 【Python之旅】第四篇(四):基于面向对象的模拟人生游戏类

    需要用面向对象的思想编写一个模拟人生的小游戏,其实就目前学的知识来说,最多只能写个故事叙述类的小游戏,因此这里只是给出该游戏中有关class的代码,代码是Alex老师写的,对进一步加深Python面向 ...

  6. python完全支持面向对象编程_[Python] 类与面向对象编程

    1. class语句 类通常是由函数.变量和属性组成的集合.使用class语句可以定义类,例如: class Account(object): num_accounts = 0 def __init_ ...

  7. 小甲鱼python课件源代码_[Python基础] 小甲鱼零基础入门Python学习视频+全套源码课件 Python视频教程 96讲...

    资源介绍 课程简介: 小甲鱼的Python课程,对初学者来说相当不错!97讲完全解读,会让大家对Python的认识从无到有,推荐给大家! 课程目录------------------- 第000讲 愉 ...

  8. 小甲鱼python猜题_[Python]小甲鱼Python视频第033课(except)课后题及参考解答

    # -*- coding: utf-8 -*- """ Spyder Editor This is a temporary script file. "&quo ...

  9. python私有变量_[Python]Python中的私有变量

    什么是private StackOverflow上有一个备受关注的问题,想必也是很多刚从Java等支持面向对象范式的编程语言转来的同学想问的:Python的类是否可以定义私有变量(private va ...

  10. 查python的软件_[Python实战]Python制作天气查询软件

    以前,公众号分享了如何使用 PyQt5 制作猜数游戏和计时器,这一次,我们继续学习:如何使用 PyQt5 制作天气查询软件. 开发环境Python3 PyQt5 requests 准备工作 首先要获取 ...

最新文章

  1. 微软大神“玩”出新花样,求平均值代码还能这样写?
  2. 核电集团数字化转型该怎么做?这篇案例分析帮你节省90%时间
  3. invalidate(true) 图形不显示_2D图像界面-ATI 图形界面卡
  4. shell中的$()、${}、$(())、(())
  5. Java socket中isClose()和isConnected() .
  6. xampp mac mysql 密码_max系统中修改xampp的mysql默认密码
  7. CIKM 2021 | 图模型在广告检索(Ad Retrieval)中的应用
  8. 碧桂园博智林机器人总部大楼_碧桂园职院新规划曝光!将建机器人实训大楼、新宿舍、水幕电影等...
  9. 【暴力】I Liked Matrix!
  10. [react] 状态管理器它精髓是什么?
  11. (论文阅读笔记1)Collaborative Metric Learning(一)(WWW2017)
  12. 编程语言五花八门,哪种可以让程序员赚到更多钱?
  13. Python1 安装和配置
  14. java数组怎么添加元素_Java封装数组之添加元素操作实例分析
  15. Android 中 C++ Thread线程用法
  16. oracle 获取当前用户下的所有表名与字段信息
  17. linux中dpkg找不到命令_Linux中tree命令的使用
  18. eclipse中文版导入导出java项目
  19. 图论邮递员问题程序代码_图论的简短实用程序员指南
  20. Stack Frame JAVA运行时数据区域之栈帧

热门文章

  1. 急需大量网银和电子商务经验人才
  2. 职称论文发表格式要求
  3. ad中使用智能粘贴_AD元件复制粘贴使用技巧
  4. MySQL的sql大于号(小于号)的使用
  5. php 405 not allowed,405 Not Allowed 错误
  6. Establish(扩展ACL)
  7. Vue使用谷歌统计和百度统计
  8. CSS特效——图片扫描
  9. VSCode完美卸载
  10. 执行DBMS_SQLTUNE优化sql或dbms_stats收集统计信息报错:ORA-20003