python反恐精英
class Player(object):
“”“玩家類”""
def __init__(self, name, hp=100):
"""初始化玩家屬性"""
self.name = name # 名字
self.hp = hp # 血量
self.gun = None # 槍
def __str__(self):
"""返回玩家描述資訊"""
if self.hp <= 0:
return '%s 已經死翹翹了' % (self.name)
if not self.gun:
return '%s 剩餘血量為 %d,目前沒槍' % (self.name, self.hp)
return '%s 剩餘血量為 %d, 使用的槍為 %s' % (self.name, self.hp, self.gun)
def take_gun(self, gun):
"""撿槍"""
self.gun = gun
def fire(self, enemy):
"""開槍射擊敵人"""
if not self.gun:
print('沒有槍,無法射擊')
return
self.gun.shoot(enemy)
def hurt(self, damage):
"""玩家受到傷害,需要扣血"""
self.hp -= damage
print('%s 受到 %d 點傷害,剩餘血量為 %d' % (self.name, damage, self.hp))
class Gun(object):
“”“槍類”""
def __init__(self, model, damage):
"""初始化槍的屬性"""
self.model = model # 型號
self.damage = damage # 殺傷力
self.bullet_count = 0 # 子彈數量
def __str__(self):
"""返回槍的描述資訊"""
return '%s 殺傷力是 %d, 剩餘子彈為 %d 顆' % (self.model, self.damage, self.bullet_count)
def add_bullet(self, count):
"""新增子彈"""
self.bullet_count += count
def shoot(self, enemy):
"""射擊敵人,造成傷害"""
# 沒有子彈則不能繼續射擊
if self.bullet_count <= 0:
print('沒有子彈了,無法射擊~')
return # return 後什麼都不寫,一般用於終止函式
# 射擊並造成傷害
self.bullet_count -= 1
if enemy:
# print('%s 射擊 %s, 造成 %d 傷害' % (self.model, enemy, self.damage))
enemy.hurt(self.damage)
else:
print('沒有敵人,打空了~')
def test():
“”“測試函式”""
# 槍類的測試
# 建立槍
ak47 = Gun(‘ak47’, 99)
print(ak47)
# 新增子彈
ak47.add_bullet(2)
print(ak47)
# 射擊敵人
# ak47.shoot(None)
# print(ak47)
# ak47.shoot('張三丰')
# print(ak47)
# ak47.shoot('張三丰')
# print(ak47)
print('------------------槍類測試結束-----------------')
# 玩家測試
police = Player('警察', 150)
print(police)
badman = Player('土匪')
print(badman)
# 玩家撿槍
police.take_gun(ak47)
print(police)
# 玩家射擊
police.fire(badman)
print(badman)
police.fire(badman)
print(badman)
police.fire(badman)
print(badman)
def main():
“”“遊戲主邏輯”""
# 建立兩個玩家
police = Player(‘警察’)
badman = Player(‘土匪’)
print(police)
print(badman)
# 建立槍
k98 = Gun('98k', 70)
k98.add_bullet(2)
# 玩家拿槍
badman.take_gun(k98)
print(badman)
# 開槍射擊
badman.fire(police)
badman.fire(police)
print(police)
badman.fire(police)
相關文章
- Python-物件之間互動——反恐精英(偽)Python物件
- Python父子關係——繼承(反恐精英案例,應用與練習)Python繼承
- 遊戲推薦:反恐精英 for Mac版遊戲Mac
- 第一人稱射擊遊戲反恐精英中文版遊戲攻略反恐精英(CS1.6)遊戲
- 《反恐精英2》曝漏洞,可在遊戲中插入圖片、抓取玩家IP地址遊戲
- Java設計模式之從[反恐精英控制檯]分析單例(Singleton)模式Java設計模式單例
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊SQL
- 從《反恐精英》到《逃離塔科夫》,探尋現代射擊競技遊戲的爆款密碼遊戲密碼
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-SQL隱碼攻擊技術-語句注入SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-SQL隱碼攻擊技術-語句修改SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-驗證檢查SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-繫結變數SQL變數
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-顯式格式化模型SQL模型
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-SQL隱碼攻擊技術-資料型別轉換SQL資料型別
- 【python】python安裝Python
- 【Python】Python使用redisPythonRedis
- Python 之父談 PythonPython
- 【Python】python練習Python
- 【Python】python 日期操作Python
- python ----python的安裝Python
- python:python的多程式Python
- 【Python】Python連線mysqlPythonMySql
- Python 3 能振興 PythonPython
- 【Python】Python安裝模組Python
- 【python】python APScheduler 框架Python框架
- python學習之初識pythonPython
- Python 序列化(Python IO)Python
- Python合集之Python函式Python函式
- 【Python】python類的繼承Python繼承
- 小白自學Python(一) -- Python教程Python
- 為Python加速 - python+memcachedPython
- Python 3 正在毀滅 PythonPython
- Python補充06 Python之道Python
- [python]python錯誤集錦Python
- Python list of class attributes - PythonPython
- 【python】Python 3 的新特性Python
- python--- 之The program 'python' can be found in the following packages: * python-minimal * python3PythonPackage
- python _Python