Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ss19:temporaerer_code

<code> def looking_forward(self,obj):

	viewpoint_x = self.size*math.cos(self.angle)
	viewpoint_y = self.size*math.sin(self.angle)
	def distance(x1,y1,x2,y2)
		return ((x1-x2)**2+(y1-y2)**2)**(1/2)
	dist = distance((obj.x,obj.y,self.x,self.y))
	if dist > self.sight*(2)**1/2:
		currentsight = 0
	else:
		points = []
		points.append(obj.x-obj.size,obj.y-obj.size)
		points.append(obj.x-obj.size,obj.y+obj.size)
		points.append(obj.x+obj.size,obj.y-obj.size)
		points.append(obj.x+obj.size,obj.y+obj.size)
		i = 0
		for point in points:
			d = distance(points[0],points[1],viewpoint_x,viewpoint_y)
			polarkoordinaten.append(d,math.acos(points[0]/d))
			sightcheck(d,math.acos([points[0]/d))

def sightcheck(self,dist,alpha):

	self.objangle = alpha
	#print(dist)
	if dist<=self.sight:
		#print(self.angle%360,alpha)
		if self.angle-self.viewangle<0:
			if (self.angle%360-self.viewangle)+360 <= alpha or alpha <= self.angle+self.viewangle:
				self.v = True
				self.angle=alpha
				print("2",self.v)
		elif self.angle-self.viewangle>360:
			if (self.angle%360-self.viewangle)-360 <= alpha or alpha <= self.angle+self.viewangle:
				self.v = True
				#print(self.v)
				self.angle=alpha
		else:
			if self.angle%360-self.viewangle <= alpha <= self.angle+self.viewangle:
				self.v = True
				#print(self.v)
				self.angle=alpha

<\code>

ss19/temporaerer_code.txt · Zuletzt geändert: 2019/06/27 16:40 von alexanderdross