Показать сообщение отдельно
  #7 (permalink)  
Старый 18.12.2013, 19:23
Интересующийся
Отправить личное сообщение для Zemsky Посмотреть профиль Найти все сообщения от Zemsky
 
Регистрация: 13.12.2013
Сообщений: 15

Попробовал сделать цикл. Чтобы значение угла поворота квадрата не повторялось подряд. В чем я ошибся?

a=0;
		
		// Первое объявление переменных для проверки неповторения значения q
		var q=0;  
		var qold=0;


	
        b=setInterval (function() {
        var canvas=document.getElementById("myCanvas");
	    var context=canvas.getContext("2d");
// Размеры квадрата.        
        var rectWidth = 40;
	    var rectHeight = 40;          
// Сохранение 
        context.save();
// Очистка холста 
        context.clearRect(0, 0, canvas.width, canvas.height);      
// Смещение начала осей координат в центр фигуры
        context.translate(canvas.width/2+Math.round((Math.random()*100)-50),canvas.height/2+Math.round((Math.random()*100)-50)); 		

		
		// Алгоритм поворота квадрата с проверкой неповторения значения q 
		
		// Расчет угла поворота по часовой стрелке
        if (q==qold) {
		q = Math.floor((Math.random()*10)/3)*0.5;}
		// Поворот  	
		context.rotate(Math.PI*q);
		qold=q;
		
		
		
// Рисование квадрата
        context.fillStyle="#ff0000";
	    context.fillRect(0,0,rectWidth,rectHeight);
// Вставка символа
	    context.font="30pt Calibri";
	    context.textAlign="center";
	    context.fillStyle="#0000ff";
	    context.fillText("W",20,33);
        a++;
        if(a==50){clearInterval(b)};
		// Восстановление
        context.restore(); 
        }, 1000);
Ответить с цитированием