Difference between revisions of "Today"

From CodeStuff
Jump to: navigation, search
 
(3 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
*[[Keycodes]]
 
*[[Keycodes]]
 
*[[Functions]]
 
*[[Functions]]
 +
*[[Loops]]
 
*[[Aiming]]
 
*[[Aiming]]
  
Line 18: Line 19:
 
<edcode>var c = {x:320, y:240, lastx:320, lasty:240, power:0.1, penSize:4};
 
<edcode>var c = {x:320, y:240, lastx:320, lasty:240, power:0.1, penSize:4};
  
var mary = {x:200, y:240};
+
var gameOver = { image : loadImage("http://fingswotidun.com/images/GameOver.png"),
var frank = {x:380, y:240};
+
                x:0, y: -10000,
var bob = {x:580, y:100};
+
                endx: 0, endy: 150};
 +
               
 +
var gameAge=0;
 +
var stillAlive=true;
 +
 
 +
var mary = {x:200, y:240, speed:0.35,colour:"blue"};
 +
var frank = {x:380, y:240, speed:0.2,colour:"cyan"};
 +
var bob = {x:580, y:100, speed: 0.25,colour:"lightgreen"};
  
 
var chasers = [mary,frank,bob];
 
var chasers = [mary,frank,bob];
  
function drawSpot(x,y) {
+
chasers.add({x:100,y:100});
 +
 
 +
function addChaser(x,y,speed=0.3,colour="yellow") {
 +
  chasers.add({x,y,speed,colour});
 +
}
 +
 
 +
addChaser(200,100);
 +
addChaser(300,400,0.5);
 +
addChaser(400,400,0.45,"magenta");
 +
 
 +
function drawSpot(colour,x,y) {
 
   setColour("red");
 
   setColour("red");
 
   fillCircle(x,y,10);
 
   fillCircle(x,y,10);
   setColour("yellow");
+
   setColour(colour);
   fillCircle(x,y,7);
+
   fillCircle(x,y,8);
 
}
 
}
  
 
function moveTowards(seeker,target) {
 
function moveTowards(seeker,target) {
 
   if (seeker.y < target.y) {
 
   if (seeker.y < target.y) {
     seeker.y+=0.3;
+
     seeker.y+=seeker.speed;
 
   }
 
   }
 
    
 
    
 
   if (seeker.y > target.y) {
 
   if (seeker.y > target.y) {
     seeker.y-=0.3;
+
     seeker.y-=seeker.speed;
 
   }
 
   }
 
    
 
    
 
   if (seeker.x <target.x) {
 
   if (seeker.x <target.x) {
     seeker.x+=0.3;
+
     seeker.x+=seeker.speed;
 
   }
 
   }
 
    
 
    
 
   if (seeker.x > target.x) {
 
   if (seeker.x > target.x) {
     seeker.x-=0.3;
+
     seeker.x-=seeker.speed;
 
   }
 
   }
 
    
 
    
 
}
 
}
  
function move() {     
+
function play() {     
 
   var dx = c.x-c.lastx;
 
   var dx = c.x-c.lastx;
 
   var dy = c.y-c.lasty;
 
   var dy = c.y-c.lasty;
Line 96: Line 114:
 
   }
 
   }
 
    
 
    
   //move mary towards c
+
   //move chasers towards c
  moveTowards(mary,c);
+
  for (var meep of chasers) {
  //move frank towards c
+
    moveTowards(meep,c);
  moveTowards(frank,c);
+
   
   //move bob towards c
+
    if ( distance(meep,c) < 8) {
  moveTowards(bob,c);
+
      stillAlive=false;
 
+
    }
 +
   }
 +
 +
  if ( (gameAge %300) === 0) {
 +
    var newX = Math.random() * 640;
 +
    var newY = Math.random() * 480;
 +
   
 +
    addChaser(newX,newY,0.45+ gameAge/3000,"magenta");
 +
  }
 +
}
 +
 
 +
function draw() {
 +
 
 
   clear();
 
   clear();
 
      
 
      
Line 108: Line 138:
 
   fillCircle(c.x,c.y,c.penSize);
 
   fillCircle(c.x,c.y,c.penSize);
  
   drawSpot(mary.x,mary.y);
+
   for (var q of chasers) {
  drawSpot(frank.x,frank.y);
+
      drawSpot(q.colour,q.x,q.y);
   drawSpot(bob.x,bob.y);
+
   }
+
 
 
   setColour("black");
 
   setColour("black");
   print(":-)");
+
   print("the game age is "+gameAge);
 +
  print(gameAge % 300);
 +
 
 +
  drawImage(gameOver.image,gameOver.x,gameOver.y);
 +
}
 +
 
 +
function move() {
 +
  gameAge+=1;
 +
  if (stillAlive) {
 +
    play(); 
 +
  } else {
 +
 
 +
  }
 +
 
 +
  if (keyIsDown(32)) {
 +
  stillAlive=false;
 +
  }
 +
  draw();
 
}
 
}
  
 
run(move);
 
run(move);
 +
  
 
</edcode>
 
</edcode>

Latest revision as of 22:51, 6 July 2017

Useful things to refer to.

The API page has a list of some of the functions you can use such as