記事ディレクトリ
カウンターストライク ベーシックエディション
エリート対ギャング。
分析する
- 人間を定義し、公共の属性を説明し
life:100
、name:姓名要传参
- ヒーローとテロリストのクラスを定義する
- 銃撃戦のプロセスを記述する main 関数を定義し
main
、2 つのオブジェクトを作成します - グラブ メソッドを定義します。これは 2 つのメソッドに分かれています
Hero
。Is
- 定義されたメソッドでは、撮影されるオブジェクトを渡す必要があります。
- 撃たれたターゲットの体力は減少します。
- メインプログラムでグラブ操作を呼び出します。
- グラブ操作が開始された後、全員のステータス情報がメインプログラムに表示されるはずです
- 各人のステータスを表示するメソッドを
Person
クラスに定義する__str__
- 開く動作と掴む動作を繰り返し動作に設定する
- 銃撃戦を停止する条件を設定します: 一方のパーティの体力値 <=0
- ブレークを使用してループを停止する
コード
class Person:
def __init__(self, name):
self.name = name
self.life = 100
def __str__(self):
return "%s当前生命值为:[%d]" % (self.name, self.life)
class Hero(Person):
def fire(self, person):
damage = 40
print("%s向%s开抢,造成了[%d]伤害" % (self.name, person.name, damage))
person.life -= damage
class Is(Person):
def fire(self, person):
damage = 90
print("%s向%s开抢,造成了[%d]伤害" % (self.name, person.name, damage))
person.life -= damage
def main():
h = Hero("【英雄】")
is1 = Is("【不要命】")
while True:
h.fire(is1)
is1.fire(h)
print(h)
print(is1)
print()
# 结束枪战
if h.life <= 0:
print("%s死亡,枪战结束" % h.name)
break
# 结束枪战
if is1.life <= 0:
print("所有恐怖分子全部死亡,枪战结束")
break
# 执行主函数
main()
カウンターストライク リマスター版
分析する
- ヒーロー情報の表示モードとステータスの説明を修正
- 100:ダメージなし
- 70-99: 軽傷
- 1-69: 重傷
- 0: 電話を切りました
- マイナスの健康値の問題を修正
- 射撃時、体力値がダメージ値未満の場合は体力値 = 0、それ以外の場合は通常通り体力値が減少します。
- 三項式:
变量 = 成立值 if 条件 else 不成立值
コード
class Person:
def __init__(self, name):
self.name = name
self.life = 100
def __str__(self):
return "%s当前生命值为:[%d]" % (self.name, self.life)
class Hero(Person):
def fire(self, person):
damage = 40
print("%s向%s开抢,造成了[%d]伤害" % (self.name, person.name, damage))
# 三元表达式:变量 = 成立值 if 条件 else 不成立值
person.life = 0 if person.life < damage else (person.life - damage)
def __str__(self):
state = ""
if self.life == 100:
state = "无伤"
elif 70 <= self.life < 100:
state = "轻伤"
elif 1 <= self.life < 70:
state = "重伤"
elif self.life <= 0:
state = "挂了"
return "%s当前的状态为:%s" % (self.name, state)
class Is(Person):
def fire(self, person):
damage = 20
print("%s向%s开抢,造成了[%d]伤害" % (self.name, person.name, damage))
person.life = 0 if person.life < damage else (person.life - damage)
def main():
h = Hero("【英雄】")
is1 = Is("【不要命】")
while True:
h.fire(is1)
is1.fire(h)
print(h)
print(is1)
print()
# 结束枪战
if h.life <= 0:
print("%s死亡,枪战结束" % h.name)
break
# 结束枪战
if is1.life <= 0:
print("所有恐怖分子全部死亡,枪战结束")
break
# 执行主函数
main()
カウンターストライク エンハンスドエディション
エリート 1 名対ギャング 3 名。
分析する
- 3 つのテロリスト オブジェクトを作成し、3 つすべてのオブジェクトを強奪し、3 つすべてのオブジェクトのステータスを出力する必要があります。
- 修復の最終条件は、テロリスト3人全員が死亡し、テロリスト3人全員が同時に死亡することです。
- 3人のテロリスト強盗問題を解決する
- 乱数: ランダム
- ランダムを使用: すべてのコードの前に追加します
import random
random.randint(1, 3)
1 から 3 までの乱数を生成するために使用します
- ランダムを使用: すべてのコードの前に追加します
- 乱数を生成し、それを判断してその数の敵を撃ちます
- 乱数: ランダム
コード
カウンターストライク 超強化版
分析する
- 銃の射撃命中率を追加
- 銃のダメージ値の変動を追加
- 鞭死体テキスト表示エフェクトを追加
コード
import random
class Person:
def __init__(self, name):
self.name = name
self.life = 100
def __str__(self):
return "%s当前生命值为:[%d]" % (self.name, self.life)
class Hero(Person):
def fire(self, person):
# 增加命中率
hit = random.randint(1, 100)
# 80% 命中率
if hit > 20:
# 增加鞭尸判断
if person.life <= 0:
print("%s都死了,就不要鞭尸了" % person.name)
else:
# 加入伤害波动值
damage = random.randint(41, 60)
print("%s向%s开抢,造成了[%d]伤害" % (self.name, person.name, damage))
# 三元表达式:变量 = 成立值 if 条件 else 不成立值
person.life = 0 if person.life < damage else (person.life - damage)
else:
print("没有打到恐怖分子,这什么垃圾枪法~~~")
def __str__(self):
state = ""
if self.life == 100:
state = "无伤"
elif 70 <= self.life < 100:
state = "轻伤"
elif 1 <= self.life < 70:
state = "重伤"
elif self.life <= 0:
state = "挂了"
return "%s当前的状态为:%s" % (self.name, state)
class Is(Person):
def fire(self, person):
damage = random.randint(1, 20)
# 增加命中率
hit = random.randint(1, 100)
# 30% 命中率
if hit > 70:
print("%s向%s开抢,造成了[%d]伤害" % (self.name, person.name, damage))
person.life = 0 if person.life < damage else (person.life - damage)
else:
print("%s枪法不行呀,再去练练吧~~~" % self.name)
def main():
h = Hero("【英雄】")
is1 = Is("【不要命】")
is2 = Is("【不怕死】")
is3 = Is("【还有谁】")
while True:
# 产生一个随机数
x = random.randint(1, 3)
if x == 1:
h.fire(is1)
elif x == 2:
h.fire(is2)
else:
h.fire(is3)
# 结束枪战
if is1.life <= 0 and is2.life <= 0 and is3.life <= 0:
print("所有恐怖分子全部死亡,枪战结束")
break
is1.fire(h)
is2.fire(h)
is3.fire(h)
# 结束枪战
if h.life <= 0:
print("%s死亡,枪战结束" % h.name)
break
print(h)
print(is1)
print(is2)
print(is3)
print()
# 执行主函数
main()