Python程式之小@matthewsqf3|PChome Online 人新台
2019-10-28 20:16:41| 人24| 回0 | 上一篇 | 下一篇
0 收藏 0 0 站台

Python程式之小

pos

Python小

是一小小的程式,程式包含了模式。第一是""模式,另一是""模式。在""模式中,者可以加入一些物件(如:小人和其他物品),且利用滑鼠拖曳的功能在面中些物品。因我不擅於美工,所以我生了一些英文字的片做的物品。是利用小人角色去收集散落於面中的物品,只要集9物品就算是束。另外中有一叫Energy(能量),西著小人的移而少,一但值成0,而小人尚未收集到9物品,就算是任失,且束。Energy值,我根小人的移方向的不同,而予不同的值。因向上爬比力,所以少的比多,向下走比省力,所以少的比少,左右移少的值者之。Eq1所表示的料就是上下左右所少的Energy值,目前值未提供去更,如果要者可以更此定值,需要撰一介面供者更中的料,如果有需要可以花撰。另外於物品方面,目前只提供增加物品到幕面的功能,有提供某物品中移除的功能,如果有需要可以考撰此功能,使整介面更加完善。Eq2所表示的料所有物品存放的,面的料包含物品的名、示的示料的座位置。Eq3中所示的料小人的基本料,包含位置、(面向何方)、收集到的物品、他目前的Energy值。因我怕物品收集完,Energy值就0,所以值成10000。

 
self.energy_cost={'up':50,'down':10,'left':20,'right':20} (Eq1)
self.items={} (Eq2)
self.user_status={'pos':role,'face':32,'status':0,'image':'RedMageSpriteSheet.bmp','item':[],'energy':10000}(Eq3)
 
一所示的就是""模式的面,在面中可以透"Add Item"按增加物品,利用滑鼠物品移到所希望的位置,置出一景。

一: 介面,利用滑鼠拖曳的功能文字拉到面的中央
 
 
 
另外一是""模式,在模式中,者必使用的上、下、左、右控制人物的移。且法人物移到物品的上面,人物与物品的片重,物品就被放入小人的口袋中。面分成部分,一部分就是小人所能移的空,另一部分是於小人的示,包含小人目前的Energy值收集到的物品。目前是一集字,但是有限定者集字的序,者可以可能的少Energy的少,在0前收集到9字母即可。
 

二: 介面,利用控制人物的移,收集面上的物品,中已收集了五物品
 
控制程式
def OnPanel1KeyDown(self, event):
code=event.GetKeyCode()
dx=0
dy=0
if self.isplay:
if code==wx.WXK_UP: #如果到向上的被按下
can_move = self.user_status['energy'] - self.energy_cost['up']
if self.user_status['face']==0 and can_move>=0:
self.user_status['energy'] -= self.energy_cost['up']
dy+=-5
else:
self.user_status['face']=0
elif code==wx.WXK_DOWN: #如果到向下的被按下
can_move = self.user_status['energy'] - self.energy_cost['down']
if self.user_status['face']==32 and can_move>=0:
self.user_status['energy'] -= self.energy_cost['down']
dy+=5
else:
self.user_status['face']=32
elif code==wx.WXK_LEFT: #如果到向左的被按下
can_move = self.user_status['energy'] - self.energy_cost['left']
if self.user_status['face']==64 and can_move>=0:
self.user_status['energy'] -= self.energy_cost['left']
dx+=-5
else:
self.user_status['face']=64
elif code==wx.WXK_RIGHT: #如果到向右的被按下
can_move = self.user_status['energy'] - self.energy_cost['right']
if self.user_status['face']==96 and can_move>=0:
self.user_status['energy'] -= self.energy_cost['right']
dx+=5
else:
self.user_status['face']=96
if (self.user_status['pos'].pos[0]+dx)>=0 and (self.user_status['pos'].pos[0]+dx)<=self.bounary[0] and (self.user_status['pos'].pos[1]+dy)>=0 and (self.user_status
['pos'].pos[1]+dy)<=self.bounary[1]:
self.user_status['pos'].setDeltapos((dx,dy))

#check has item
x=self.user_status['pos'].pos[0]
y=self.user_status['pos'].pos[1]
for index, item in self.items.iteritems():
rect=item['pos']
if rect.isIn((x,y)) and len(self.user_status['item'])<=9:
if not index in self.delItem:
self.user_status['item'].append(item)
self.delItem.append(index)
 
 

台: matthewsqf
人(24) | 回(0)| 推 (0)| 收藏 (0)|
全站分: 偶像後援(人、後援)

是 (若未登入"人新台"看不到回覆唷!)
* 入:
入片中算式的果(可能0) 
(有*必填)
TOP
全文
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86