Last active
August 29, 2015 14:03
-
-
Save bryanyang0528/0ae745864e004b979a48 to your computer and use it in GitHub Desktop.
monocell
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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