遊戲步驟簡介
1、啟動遊戲後,建立乙個玩家坦克,乙個電腦tank,
2、遊戲環節(迴圈,直到有tank死亡才退出迴圈)
1、玩家發生子彈,然後電腦坦克發射子彈,
2、玩家判斷有沒有被電腦擊中,電腦判斷有沒有被玩家擊中。
3、判斷雙方坦克是否存活,如果有tank死亡,則宣布存活的一方勝利。都存活則繼續遊戲。
4、玩家移動、電腦移動
輸出結果
具體**
import random
class
basetank
(object):
def__init__
(self, postion,attck_postion,live,hp)
: self.live= live
self.postion = postion
self.hp = hp
self.attck_postion = attck_postion
defhit(self,op)
:if self.postion==op:
self.hp=self.hp-
1if self.hp==0:
self.live=
0class
mytank
(basetank)
:def
__int__
(self,mp,at)
: self.postion=mp
self.attck_postion=at
super
(mytank,self)
.hit(at)
class
pctank
(basetank)
:def
__int__
(self)
: at=self.attck_postion
super
(pctank, self)
.hit(at)
a=random.randint(0,
10)mp=int
(input
("輸入乙個你的初始位置"))
tank1=mytank(mp,0,
1,10)
tank2=pctank(a,0,
1,10)
while
true
: at=
int(
input
("輸入你的攻擊位置at"))
a =random.randint(0,
10)tank1.attck_postion=at
tank2.attck_postion=a
tank1.hit(a)
tank2.hit(at)
print
("你的的hp:{}"
.format
(tank1.hp)
)print
("電腦的hp:{}"
.format
(tank2.hp))if
(tank1.live==
1and tank2.live==1)
: mp =
int(
input
("輸入你的移動位置mp"))
b = random.randint(0,
10)tank1.postion = mp
tank2.postion = b
continue
else
:break
if(tank1.live==0)
:print
("電腦勝利"
)else
:print
("玩家勝利"
)
文本版推箱子遊戲
判斷是否邊界,或者下個位置是否能走,引入下個位置的座標nx,ny 隨著東西越來越多,我們還有終點要判斷,太多的x,y,nx,ny,boxx,boxy在全域性變數裡會容易發生重名,可以用結構體改寫座標。我們除了把描述乙個物體的資料放在結構體裡,也可以把改變它的動作寫成函式 這樣後續要判斷是否到達目的地...
python程式設計基礎(文本版)
1.數值型別 1.1字元型 八進位制 0o234 十六進製制 0x234 測試型別函式 print type 234.67 1.2字串 三引號的定界符可以換行書寫 1 字串的連線和拆分 連線語法 連線符 join 列表 拆分語法 字串.split 分隔符 會將字串的值拆分後,依次放入乙個列表中,可以...
python資料分析(文本版)
一 numpy資料處理庫 import numpy as np 1.建立陣列 方法1 np.array 元素列表 括號中是乙個可迭代物件,元組列表都可 如,arr v1 np.array 1,2,3,4,5,6 這是一維陣列 arr v2 np.array 1,2,3,4 3,4,5,6 5,6,7...