ein paar erklärungen zu javascript bitte



  • hallo

    könnt ihr mir helfen folgenden code zu verstehen?

    // Information used to describe ships
    var shiptypes = [[" Minensucher",2,4],[" Fregatte",3,4],[ " Kreuzer",4,2],[ " Schlachtschiff",5,1]];
    
    var gridx = 16, gridy = 16;
    var player = [], computer = [], playersships = [], computersships = [];
    var playerlives = 0, computerlives = 0, playflag=true, statusmsg="";
    
    function setupPlayer(ispc) 
    {
    	var y,x;
    	grid = [];
    	for (y=0;y<gridx;++y) 
    	{
    		grid[y] = [];
    		for (x=0;x<gridx;++x)
    			grid[y][x] = [100,-1,0];
    	}
    
    	var shipno = 0;
    	var s;
    	for (s=shiptypes.length-1;s>=0;--s) 	
    	{
    		var i;
    		for (i=0;i<shiptypes[s][2];++i) 
    		{
    			var d = Math.floor(Math.random()*2);
    			var len = shiptypes[s][1], lx=gridx, ly=gridy, dx=0, dy=0;
    			if ( d==0) 
    			{
    				lx = gridx-len;
    				dx=1;
    			}
    			else 
    			{
    				ly = gridy-len;
    				dy=1;
    			}
    			var x,y,ok;
    			do 
    			{
    				y = Math.floor(Math.random()*ly);
    				x = Math.floor(Math.random()*lx);
    				var j,cx=x,cy=y;
    				ok = true;
    				for (j=0;j<len;++j) 
    				{
    					if (grid[cy][cx][0] < 100) 
    					{
    						ok=false;
    						break;
    					}
    					cx+=dx;
    					cy+=dy;
    				}
    			} 
    			while(!ok);
    			var j,cx=x,cy=y;
    			for (j=0;j<len;++j) 
    			{
    				grid[cy][cx][0] = ship[d][s][j];
    				grid[cy][cx][1] = shipno;
    				grid[cy][cx][2] = dead[d][s][j];
    				cx+=dx;
    				cy+=dy;
    			}
    			if (ispc) 
    			{
    				computersships[shipno] = [s,shiptypes[s][1]];
    				computerlives++;
    			}
    			else 
    			{
    				playersships[shipno] = [s,shiptypes[s][1]];
    				playerlives++;
    			}
    			shipno++;
    		}
    	}
    	return grid;
    }
    

    dies ist eine funktion zum platzieren der schiffe bei dem spiel "schiffe versenken". mit programmiersprachen kenn ich mich prinzipiell aus (funktionen, if-else, operatoren) nur bin ich mit den javascript spezialitäten nicht so vertraut (z.b. y = Math.floor(Math.random()*ly))

    währe wirklich dankbar wenn sich jemand erbarmen könnte 🙄
    thx



  • habs mittlerweile selber geschafft! 💡


Log in to reply