Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #game pacman2
- #sindu adjie 19-11-2014
- #forpys60 group indonesia
- #belajar bikin game..
- #tidak ada perubahan yg berarti cuma efisiensi script aja.. Dari script sebelum nya
- from appuifw import app,Canvas,e32
- from graphics import Image
- from random import randint as rd
- from audio import say
- run=1
- def quit():
- global run
- run=0
- app.exit_key_handler=quit
- app.screen='full'
- app.body=cv=Canvas()
- X,Y=cv.size
- im=Image.new((X,Y))
- jum,x,y,sw=0,0,0,1
- kx,ky,w=[],[],[]
- def radian(d):
- return d*3.14/180.0
- class ubah:
- skor,sw,rn=0,1,1
- s=ubah()
- def acak():
- global jum
- jum=rd(1,10)
- for i in range (jum):
- kx.append(rd(10,X))
- ky.append(rd(10,Y))
- w.append(rd(0xff,0xffffff))
- def gambar():
- global kx,ky,jum
- for i in range(len(kx)):
- if abs(kx[i]-(x+12.5)
- )<6 and abs(ky[i]-(y+12.5))<6:
- del kx[i], ky[i], w[i]; jum-=1
- s.skor+=1; say('aha')
- break
- if len(kx)==0: acak()
- im.text((10,20),u'skor: %s'%s.skor,0xffffff)
- for i in range(jum):
- im.point((kx[i],ky[i]),w[i],width=10)
- im.pieslice((x,y,x+25,y+25),radian(agl+s.rn),radian(-agl+s.rn),fill=0xff0000)
- def jalan():
- global x,y
- if s.sw==0:x-=1
- if s.sw==1:x+=1
- if s.sw==2:y-=1
- if s.sw==3:y+=1
- if x>X:x=0
- if x<0:x=X
- if y>Y:y=0
- if y<0:y=Y
- def kiri():s.sw=0;s.rn=180
- def kanan():s.sw=1;s.rn=0
- def atas():s.sw=2;s.rn=90
- def bawah():s.sw=3;s.rn=270
- cv.bind(0xf807,kiri)
- cv.bind(0xf808,kanan)
- cv.bind(0xf809,atas)
- cv.bind(0xf80a,bawah)
- acak()
- agl=0
- while run:
- agl+=3
- if agl>60:agl=0
- im.clear(0x3b3b3b)
- jalan();gambar()
- cv.blit(im)
- e32.ao_sleep(0.01)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement