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物件
- 《反恐精英》的20年
- Python父子關係——繼承(反恐精英案例,應用與練習)Python繼承
- 反恐精英走過的那些年
- 遊戲推薦:反恐精英 for Mac版遊戲Mac
- 第一人稱射擊遊戲反恐精英中文版遊戲攻略反恐精英(CS1.6)遊戲
- FPS最亮的明星! 《反恐精英》系列為何能火爆20年?
- 《反恐精英2》曝漏洞,可在遊戲中插入圖片、抓取玩家IP地址遊戲
- 從《反恐精英》到《逃離塔科夫》,探尋現代射擊競技遊戲的爆款密碼遊戲密碼
- 【python】python安裝Python
- python ----python的安裝Python
- python:python的多程式Python
- python--- 之The program 'python' can be found in the following packages: * python-minimal * python3PythonPackage
- Python IDLE和Python的區別!Python入門教程Python
- python學習之初識pythonPython
- 【Python】python類的繼承Python繼承
- Python 序列化(Python IO)Python
- Python合集之Python函式Python函式
- pythonPython
- python _Python
- python教程(一)·python環境搭建Python
- 學習Python的日子 Python(6)Python
- [python] Python型別提示總結Python型別
- Python補充02 Python小技巧Python
- 小白自學Python(一) -- Python教程Python
- Python之將Python字串生成PDFPython字串
- Python 字串格式化(Python IO)Python字串格式化
- Python 檔案讀寫(Python IO)Python
- 『python入門:』 python的介紹Python
- 與 Python 之父聊天:更快的 Python!Python
- python(python中的super函式、)Python函式
- python中#!/usr/bin/python與#!/usr/bin/env python的區別Python
- Python入門:Python 2與Python3有什麼區別?Python
- 學習Python選擇Python2還是Python3呢?Python
- Python學習筆記|Python之程式Python筆記
- Python 筆記-2-1-Python 概述Python筆記
- Python 微服務開發--Python Microservices DevelopmentPython微服務ROSdev
- python SQL基礎與python互動PythonSQL