View Single Post
  #1  
Old 10-30-2012, 07:24 AM
emily800326 emily800326 is offline
Member
 
Join Date: Jul 2012
Posts: 5
about a pair game

Code:
import viz
import viztask
import random
import os
#viz.go(viz.HMD)
viz.go()

ar = viz.add('artoolkit.dle')
camera = ar.addWebCamera()

#標示###########################################################################

m1  = camera.addMatrixMarker(1,width=80)
m2  = camera.addMatrixMarker(2,width=80) 
m3  = camera.addMatrixMarker(3,width=80) 
m4  = camera.addMatrixMarker(4,width=80)
m5  = camera.addMatrixMarker(5,width=80)
m6  = camera.addMatrixMarker(6,width=80) 
m7  = camera.addMatrixMarker(7,width=80) 
m8  = camera.addMatrixMarker(8,width=80)
m9  = camera.addMatrixMarker(9,width=80)
m10 = camera.addMatrixMarker(10,width=80) 
m11 = camera.addMatrixMarker(11,width=80) 
m12 = camera.addMatrixMarker(12,width=80)
m13 = camera.addMatrixMarker(13,width=80)
m14 = camera.addMatrixMarker(14,width=80) 
m15 = camera.addMatrixMarker(15,width=80) 
m16 = camera.addMatrixMarker(16,width=80)

#字型###########################################################################
viz.setOption('viz.text.font','wt040.ttf')

rightm=viz.add('right.mp3')
wrongm=viz.add('wrong.mp3')
gameover=viz.addTexture('gameover.jpg')


#計分計時板

tt = 61  #倒數時間

gametimetitle = viz.addText( '時間', viz.SCREEN )
gametimetitle.setScale(0.7,0.7)
gametimetitle.setPosition(0.73,0.94)
gametimetitle.color([1,0,0])
gametime = viz.addText( str(tt), viz.SCREEN )#增加2d文字
gametime.setScale(1.5,1.5)
gametime.setPosition(0.84,0.89)
gametime.color([1,0,0])

gametime.visible(0)
gametimetitle.visible(0)

def ggtime():
	global tt
	if tt == 0:
		gameover()
	elif tt > 0 :
		tt = tt-1
#	elif tt == 0
		gametime.message(str(tt))
		gametime.visible(1)
		gametimetitle.visible(1)
defggtime = vizact.ontimer(1,ggtime)

#所有模型#########################################################################
model1 = viz.add("1.3DS")
model1.setScale(0.0009,0.0009,0.0009)
model1.color(1,0,0)
model2 = viz.add("2.3DS")
model2.setScale(0.0009,0.0009,0.0009)
model2.color(0,1,0)
model3 = viz.add("3.3DS")
model3.setScale(0.0009,0.0009,0.0009)
model3.color(0,0,1)
model4 = viz.add("4.3ds")
model4.setScale(0.0009,0.0009,0.0009)
model4.color(0,1,1)
model5 = viz.add("5.3DS")
model5.setScale(0.0009,0.0009,0.0009)
model5.color(1,4,0)
model6 = viz.add("6.3DS")
model6.setScale(0.0009,0.0009,0.0009)
model6.color(2,1,0)
model7 = viz.add("7.3DS")
model7.setScale(0.0009,0.0009,0.0009)
model7.color(0,1,4)
model8 = viz.add("8.3ds")
model8.setScale(0.0009,0.0009,0.0009)
model8.color(4,0,1)
model9 = viz.add("a.3DS")
model9.setScale(0.0009,0.0009,0.0009)
model9.color(1,0,0)
model10 = viz.add("b.3DS")
model10.setScale(0.0009,0.0009,0.0009)
model10.color(0,1,0)
model11 = viz.add("c.3DS")
model11.setScale(0.0009,0.0009,0.0009)
model11.color(0,0,1)
model12 = viz.add("d.3ds")
model12.setScale(0.0009,0.0009,0.0009)
model12.color(0,1,1)
model13 = viz.add("e.3DS")
model13.setScale(0.0009,0.0009,0.0009)
model13.color(1,4,0)
model14 = viz.add("f.3DS")
model14.setScale(0.0009,0.0009,0.0009)
model14.color(2,1,0)
model15 = viz.add("g.3DS")
model15.setScale(0.0009,0.0009,0.0009)
model15.color(0,1,4)
model16 = viz.add("h.3ds")
model16.setScale(0.0009,0.0009,0.0009)
model16.color(4,0,1)

links1=viz.link(m1,model1)
links2=viz.link(m2,model2)
links3=viz.link(m3,model3)
links4=viz.link(m4,model4)
links5=viz.link(m5,model5)
links6=viz.link(m6,model6)
links7=viz.link(m7,model7)
links8=viz.link(m8,model8)
links9=viz.link(m9,model9)
links10=viz.link(m10,model10)
links11=viz.link(m11,model11)
links12=viz.link(m12,model12)
links13=viz.link(m13,model13)
links14=viz.link(m14,model14)
links15=viz.link(m15,model15)
links16=viz.link(m16,model16)

model1.visible(0)
model2.visible(0)
model3.visible(0)
model4.visible(0)
model5.visible(0)
model6.visible(0)
model7.visible(0)
model8.visible(0)
model9.visible(0)
model10.visible(0)
model11.visible(0)
model12.visible(0)
model13.visible(0)
model14.visible(0)
model15.visible(0)
model16.visible(0)

###end########################################################
def gameover():
	global a,s
	if 	s==10 :
		print "end"
		defseemark.setEnabled(0)
		gameover.texture(gameover)
		
defgameover = vizact.ontimer(0.1,gameover)	

###START###################################################
s=0	
r=0
def seemark():
	global ans,flag,data01,r,a,tt,s
	deftitlemarker.setEnabled(0)
	defgameover.setEnabled(0)
	
	if not m1.getVisible() and not m9.getVisible():
		print "1+9"		
		model1.visible(0)
		model9.visible(0)
		r=r+0.5
		print r
		if r == 4.0:
				print "right"
				r=0
				rightm.play()
				
		
			
	
	elif not m2.getVisible() and not m10.getVisible():
		print "2+10"
		rightm.play()
		model2.visible(0)
		model10.visible(0)
		r=r+0.5
		print r
		if r == 4.0:
				print "right"
				r=0
				rightm.play()

		
			
	elif not m3.getVisible() and not m11.getVisible():
		print "3+11"
		rightm.play()
		model3.visible(0)
		model11.visible(0)
		r=r+0.5
		print r
		if r == 4.0:
				print "right"
				r=0
				rightm.play()

	elif not m4.getVisible() and not m12.getVisible():
		print "4+12"
		rightm.play()
		model4.visible(0)
		model12.visible(0)
		r=r+0.5
		print r
		if r == 4.0:
				print "right"
				r=0				
				rightm.play()

			
	elif not m5.getVisible() and not m13.getVisible():
		print "5+13"
		rightm.play()
		model5.visible(0)
		model13.visible(0)		
		r=r+0.5		
		print r
		
		if r == 4.0:
				print "right"
				r=0				
				rightm.play()

			
	elif not m6.getVisible() and not m14.getVisible():
		print "6+14"
		rightm.play()
		model6.visible(0)
		model14.visible(0)
		r=r+0.5
		print r
		if r == 4.0:
				print "right"
				r=0				
				rightm.play()

				
	elif not m7.getVisible() and not m15.getVisible():
		print "7+15"
		rightm.play()
		model7.visible(0)
		model15.visible(0)
		r=r+0.5
		print r

		if r == 4.0:
				print "right"
				r=0				
				rightm.play()

			
	elif not m8.getVisible() and not m16.getVisible():
		print "8+16"
		rightm.play()
		model8.visible(0)
		model16.visible(0)
		r=r+0.5	
		print r

		if r == 4.0:
				print "right"
				r=0				
				rightm.play()

	
			
	elif m1.getVisible()and m2.getVisible()and m3.getVisible() and  m4.getVisible() and m5.getVisible()and m6.getVisible()and m7.getVisible() and m8.getVisible() and m9.getVisible() and m10.getVisible() and m11.getVisible() and m12.getVisible() and m13.getVisible() and m14.getVisible() and m15.getVisible() and m16.getVisible() :
		print "wait!"
		flag=0
		r=0
		
		
	else:
		r=r+0.5
		print r
		if r == 5.0:
			print "wrong"
			r=0
			wrongm.play()
			
#		model1.visible(0)
#		model2.visible(0)
#		model3.visible(0)
#		model4.visible(0)
#		model5.visible(0)
#		model6.visible(0)
#		model7.visible(0)
#		model8.visible(0)
#		model9.visible(0)
#		model10.visible(0)
#		model11.visible(0)
#		model12.visible(0)
#		model13.visible(0)
#		model14.visible(0)
#		model15.visible(0)
#		model16.visible(0)


	
	if flag == 1 :
		defseemark.setEnabled(0)

defseemark = vizact.ontimer(0.1,seemark)

	
##遊戲的標題#######################################################################################
titlemark = camera.addMatrixMarker(0,width=80)
title = viz.addTexQuad()
title.setPosition([10,10, 1.2])
title.setScale([1.02,0.8,1])
Dtitle1 = viz.addTexture('title1.jpg')
Dtitle2 = viz.addTexture('title2.jpg')
Dtitle3 = viz.addTexture('gamestart.jpg')

#規則秒數##########################################################################################
Ruletime = 0
def titlemarker():
	global title,Dtitle
	global Ruletime
	defggtime.setEnabled(0)
	defseemark.setEnabled(0)

	if titlemark.getVisible()==1 and Ruletime == 1:
		title.setPosition([0,0, 1.2])
		title.texture(Dtitle1)
	elif titlemark.getVisible()==1 and Ruletime == 30:
		title.texture(Dtitle2)
	elif titlemark.getVisible()==1 and Ruletime == 60:
		title.texture(Dtitle3)
	elif titlemark.getVisible()==1 and Ruletime == 90:
		title.visible(0)
		
		defseemark.setEnabled(1)
		seemark()
		defggtime.setEnabled(1)
		
		model1.visible(1)
		model2.visible(1)
		model3.visible(1)
		model4.visible(1)
		model5.visible(1)
		model6.visible(1)
		model7.visible(1)
		model8.visible(1)
		model9.visible(1)
		model10.visible(1)
		model11.visible(1)
		model12.visible(1)
		model13.visible(1)
		model14.visible(1)
		model15.visible(1)
		model16.visible(1)
		
	elif  titlemark.getVisible()==0:		
		Ruletime = 0
		title.setPosition([10,10, 1.2])
	Ruletime = Ruletime+1
		
deftitlemarker = vizact.ontimer(0.1,titlemarker)
deftitlemarker.setEnabled(1)


this is my code!
and now i got some trouble!

if i touch the 1&9 code that may be invisible!
but the win sound always here
how should i do?

and if the code all(1~16) invisible~
i want make the game over
but i don't know how to write it
help~~~~~~~~~~~~~~~~
Reply With Quote