python小练习六——小游戏
2017-06-17 20:20
141 查看
题目要求
使用面向对象设计出一个小游戏,可以控制一个人物做一些操作代码
#!/usr/bin/env python # coding:utf-8 import pickle import os,sys import shelve def write_girl(meinv): girl = shelve.open("girl") girl[meinv.name] = meinv girl.close() ###########定义人类############################ class People(object): """docstring for People""" def __init__(self): super(People, self).__init__() self.name = input("请输入姓名") self.age = int(input("请输入年龄")) self.sex = input("请输入性别") self.money = int(input("请输入资产")) self.love_stat = input("请输入恋爱状态") self.lover = input("请输入恋爱对象") def add_age(self): self.age += 1 def money_add(self, add_money): self.money += add_money def money_decr(self, decr_money): self.money -= decr_money ###########定义人类############################ ###########定义高富帅类############################ class Gao_fu_shuai(People): """docstring for Gao_fu_shuai""" def __init__(self): People.__init__(self) self.girl_friend = [] def load_all_girl(self): print("%s要开始找妹子了" % self.name) girl = shelve.open("girl") for i in girl: print(i) girl_name = input("请输入妹子的名字") return girl_name def find_girl(self, girl_name): girl = shelve.open("girl") if girl_name in girl: girl.close() self.girl_friend.append(girl_name) print("牵手成功") else: girl.close() print("姓名有误") def leave_girl(self, girl_name): try: a = self.girl_friend.index(girl_name) self.girl_friend.pop(a) print("你已经把%s踹了" % girl_name) except ValueError: print('输入有误') def look_girl_friend(self): print(self.girl_friend) ###########定义高富帅类############################ ###########定义屌丝类############################ class Diao_si(Gao_fu_shuai): """docstring for Diao_si""" def __init__(self): Gao_fu_shuai.__init__(self) def find_work(self): print("%s要开始找工作了, " % self.name) user_choice = read_file("company.txt", "\n想去哪个公司") return user_choice ###########定义屌丝类############################ ###########定义白富美类############################ class Bai_fu_mei(People): """docstring for Bai_fu_mei""" def __init__(self, name, age, sex, money, love_stat, lover): self.name = name self.age = age self.sex = sex self.money = money self.love_stat = love_stat self.lover = lover def agree(self, men_money): if men_money > 1000000: return 1 else: return 0 ###########定义白富美类############################ ############################找女友############################################ def find_girl(diaosi, *arg ): girl_name = diaosi.load_all_girl() all_gilr = shelve.open('girl') girl = all_gilr[girl_name] all_gilr.close() if girl.agree(int(diaosi.money)): diaosi.find_girl(girl_name) else: print("太穷了,人家不同意") diaosi.look_girl_friend() ############################找女友############################################ #################################定义公司类######################################### class Company(object): def __init__(self): self.name = "超级公司" self.money = 100000000 self.people = [] def mian_shi(self, people): s1 = input("作者帅不帅?\n1.帅\n2.不帅") if s1 == '1': print("是个人才,你们录用了") self.people.append(people) else: print("滚!!!!") def li_zhi(self, people): try: a = self.people.index(people) self.people.pop(a) except: print("这不是本公司员工") def fa_gong_zi(self, people): if people in self.people: return 1 else: return 0 #################################定义公司类######################################### def leave_girl(diaosi, *arg): diaosi.look_girl_friend() girl_name = input("想踹了谁?") diaosi.leave_girl(girl_name) def likai(*args): sys.exit(0) def find_work(diaosi, company, *arg): company.mian_shi(diaosi.name) def work(diaosi, company, *arg): if diaosi.name in company.people: diaosi.money += 10000 else: print("他还没有入职") def look_money(diaosi, *arg): print(diaosi.money) def run(): meinv = Bai_fu_mei('meimei', 18, 'women', 100000, 'wu', None) write_girl(meinv) print("创建新人物") diaosi = Diao_si() company = Company() title = "1.找个女朋友\n2.跟女朋友分手\n3.找工作\n4.努力工作\n5.查看资产\n6.退出" func_dict = { '1':find_girl, '2':leave_girl, '3':find_work, '4':work, '5':look_money, '6':likai, } while 1: user_choice = input(title) try: func_dict[user_choice](diaosi, company) except KeyError: continue if __name__ == "__main__": run()
相关文章推荐
- Python练习---点球小游戏
- 练习python小游戏
- Python中的sys.argv[]用法练习
- 使用python进行小游戏编写
- python小游戏——猜数字2.0
- Python代码练习--批量下载
- 《Python核心编程》第二版第36页第二章练习 续一 -Python核心编程答案-自己做的-
- Python代码练习--批量下载(改进篇)
- Python小练习——创建简单地址簿
- python 数字练习
- Python 基础练习
- Python连接SqlServer练习记录
- Python核心编程 练习 第五章
- 首个python程序,一个猜数字的小游戏 ^0^
- python小游戏——猜数字2.0
- Python核心编程 练习 第六章
- Getting Started Spidering a Site使用Chilkat(python)练习的一个爬虫(from :http://www.example-code.com)
- Python入门练习(二)Viterbi算法
- 算术小游戏(python版)
- 《Python核心编程》第二版第36页第二章练习 -Python核心编程答案-自己做的-