Python 簡單文本版遊戲 坦克大戰

2021-10-14 17:25:30 字數 2004 閱讀 5059

遊戲步驟簡介

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...