Skip to content

Instantly share code, notes, and snippets.

@bryanyang0528
Last active August 29, 2015 14:03
Show Gist options
  • Save bryanyang0528/0ae745864e004b979a48 to your computer and use it in GitHub Desktop.
Save bryanyang0528/0ae745864e004b979a48 to your computer and use it in GitHub Desktop.
monocell
import datetime
import time
from threading import Thread
##導入thread物件
class monocell(Thread):
##要將物件轉成多執行緒物件的方式就是在創立物件時繼承Thread
lifeCost = 1
##每單位生命消耗單位
def __init__(self,name,life):
##當物件實體化時自動執行的部分name,life是初始化時可以輸入名字和血量
Thread.__init__(self)
##繼承Thread物件後,初始化時必須載入父物件的初始程式
self.birthTime = datetime.datetime.now()
##用datatime這個物件來設定出生的時間
self.name = name
self.life = life
def run(self):
##run()方法對應的是start()方法,當多執行緒物件被start()時,會自動執行run()方法裡的程式
print self.name, "is borned, and birth on", self.birthTime
##列印出生時間
heart(self.name, self.life, self.lifeCost)
##執行心臟方法,參數是物件的名字、血量跟消耗量
def heart(name,life,lifecost):
while True:
if life <= 0:
##當血量小於等於零時觀地執行緒
print name,"is died"
thread.exit()
print name, "remain", life,"HP"
time.sleep(1)
每次執行迴圈時休息1秒
life -= lifecost
血量隨時間減少
cellMicky = monocell("micky",10)
cellMini = monocell("mini",20)
cellLucky = monocell("Lucky",15)
##看我一次建立三個單細胞生物,每隻都有不同的名字和血量
cellMicky.start()
cellMini.start()
cellLucky.start()
##三個一起跑,目前生物之間沒有互動行為
'''
micky is borned, and birth on 2014-07-11 23:35:39.284000
micky remain 10 HP
mini is borned, and birth on 2014-07-11 23:35:39.284000
mini remain 20 HP
Lucky is borned, and birth on
2014-07-11 23:35:39.284000
Lucky remain 15 HP
mini micky remain remain 919 HP HP
Lucky remain 14 HP
minimicky remainremain 18 HP8 HP
Lucky remain 13 HP
minimicky remainremain 7 17 HPHP
Lucky remain 12 HP
minimicky remainremain 16 HP
6 HP
Lucky remain 11 HP
minimicky remain remain 15 HP
5 HP
Lucky remain 10 HP
mickymini remainremain 144 HP
HP
Lucky remain 9 HP
mickymini remainremain 133 HP
HP
Lucky remain 8 HP
minimicky remainremain 212 HP
HP
Lucky remain 7 HP
mickymini remainremain 1 HP11 HP
Lucky remain 6 HP
mickymini remainis died 10
HP
Lucky remain 5 HP
mini remain 9 HP
Lucky remain 4 HP
mini remain 8 HP
Lucky remain 3 HP
mini remain 7 HP
Lucky remain 2 HP
mini remain 6 HP
Lucky remain 1 HP
mini remain 5 HP
Lucky is died
mini remain 4 HP
mini remain 3 HP
mini remain 2 HP
mini remain 1 HP
mini is died
'''
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment