Working (dé)connections
This commit is contained in:
		
							parent
							
								
									44595f0af7
								
							
						
					
					
						commit
						455cd5c25c
					
				
					 2 changed files with 71 additions and 40 deletions
				
			
		
							
								
								
									
										94
									
								
								js/game.js
									
									
									
									
									
								
							
							
						
						
									
										94
									
								
								js/game.js
									
									
									
									
									
								
							|  | @ -15,6 +15,60 @@ players=Net.getPlayersToAdd(); | |||
| 
 | ||||
| let dt = 1; | ||||
| 
 | ||||
| let playerToUpdate; | ||||
| 
 | ||||
| function update() | ||||
| { | ||||
| 	playerToUpdate = Net.getPlayersToUpdate(); | ||||
| 	for (let i = 0;i<playerToUpdate.length;i++) | ||||
| 	{ | ||||
| 		for (let j = 0;j<players.length;j++) | ||||
| 		{ | ||||
| 			if(players[j].id==playerToUpdate[i].id) | ||||
| 			{ | ||||
| 				players[j].x=playerToUpdate[i].x; | ||||
| 				players[j].y=playerToUpdate[i].y; | ||||
| 				players[j].dir=playerToUpdate[i].dir; | ||||
| 				players[j].visibleDir=playerToUpdate[i].visibleDir; | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| function addPlayers() | ||||
| { | ||||
| 	let playersToAdd = Net.getPlayersToAdd(); | ||||
| 	if (playersToAdd.length==0) | ||||
| 		return; | ||||
| 	 | ||||
| 	playersToAdd.forEach((p) => { | ||||
| 		console.log("New player: ",playersToAdd[0].id); | ||||
| 		players.push(playersToAdd[0]); | ||||
| 		Renderer.AddPlayer(p); | ||||
| 	}); | ||||
| } | ||||
| 
 | ||||
| function remPlayers() | ||||
| { | ||||
| 	let playerToRemove = Net.getPlayersToRemove(); | ||||
| 	if(playerToRemove.length==0) | ||||
| 		return; | ||||
| 	for(let i=0;i<playerToRemove.length;i++) | ||||
| 	{ | ||||
| 		let id = playerToRemove[i]; | ||||
| 		Renderer.RemPlayer(id); | ||||
| 		console.log("deleting Player ",id); | ||||
| 		for(let i = 0;i<players.length;i++) | ||||
| 		{ | ||||
| 			if (players[i].id==id) | ||||
| 			{ | ||||
| 				players.splice(i,1); | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| let currentTime = new Date(); | ||||
| function game() { | ||||
|  | @ -31,50 +85,18 @@ function game() { | |||
| 			Renderer.AddPlayer(player) | ||||
| 			players.forEach((p) => { | ||||
| 				Renderer.AddPlayer(p) | ||||
| 			}) | ||||
| 			}); | ||||
| 		} | ||||
| 	} | ||||
| 	else | ||||
| 	{ | ||||
| 		let playerToUpdate = Net.getPlayersToUpdate(); | ||||
| 		for (let i = 0;i<playerToUpdate.length;i++) | ||||
| 		{ | ||||
| 			for (let j = 0;j<players.length;j++) | ||||
| 			{ | ||||
| 				if(players[j].id==playerToUpdate[i].id) | ||||
| 				{ | ||||
| 					//console.log("updated player",playerToUpdate[i].id);
 | ||||
| 					players[j].x=playerToUpdate[i].x; | ||||
| 					players[j].y=playerToUpdate[i].y; | ||||
| 					players[j].dir=playerToUpdate[i].dir; | ||||
| 					players[j].visibleDir=playerToUpdate[i].visibleDir; | ||||
| 					//console.log();
 | ||||
| 					break; | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		let playersToAdd = Net.getPlayersToAdd(); | ||||
| 		if (playersToAdd.length!=0) | ||||
| 			console.log("added ",playersToAdd.length); | ||||
| 		players.concat(playersToAdd); | ||||
| 		let playerToRemove = Net.getPlayersToRemove(); | ||||
| 		for(let id in playerToRemove) | ||||
| 		{ | ||||
| 			console.log("deleting ",id); | ||||
| 			for(let i = 0;i<players.length;i++) | ||||
| 			{ | ||||
| 				if (players[i].id==id) | ||||
| 				{ | ||||
| 					players.splice(i,1); | ||||
| 					break; | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		update(); | ||||
| 		addPlayers(); | ||||
| 		remPlayers(); | ||||
| 		player.update([],[], dt); | ||||
| 		for (var i = players.length - 1; i >= 0; i--) { | ||||
| 			players[i].update([],[], dt);//squares, circles
 | ||||
| 		} | ||||
| 		//console.log(Inp.calculateAngle(500,500))
 | ||||
| 		Renderer.ReloadAff(); | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										17
									
								
								js/render.js
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								js/render.js
									
									
									
									
									
								
							|  | @ -1,4 +1,8 @@ | |||
| const img = new Image(); | ||||
| img.src = "./assets/body3.png"; | ||||
| 
 | ||||
| class Render { | ||||
| 
 | ||||
| 	constructor(id, mapsrc) { | ||||
| 		this.canvas = document.getElementById(id); | ||||
| 		this.ctx = canvas.getContext("2d"); | ||||
|  | @ -8,16 +12,21 @@ class Render { | |||
| 	} | ||||
| 
 | ||||
| 	AddPlayer(player) { | ||||
| 		this.players[player.id] = player; | ||||
| 		this.players.push(player); | ||||
| 	} | ||||
| 
 | ||||
| 	RemPlayer(id) { | ||||
| 		this.players[id] = null | ||||
| 		for(let i=0;i<this.players.length;i++) | ||||
| 		{ | ||||
| 			if(this.players[i].id==id) | ||||
| 			{ | ||||
| 				this.players.splice(i,1); | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	RenderPlayer(player) { | ||||
| 		const img = new Image(); | ||||
| 		img.src = "./assets/body3.png"; | ||||
| 	    this.ctx.save(); | ||||
| 	    this.ctx.translate(player.x, player.y); | ||||
| 	    this.ctx.rotate(player.angle); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue