Untitled
unknown
plain_text
a year ago
10 kB
5
Indexable
var pacVel = 5;
var ghostVel = 2;
var change = 3;//aleatorio
var w = 10;
var startCounter = 0;
var soundOnOff= true;
var showOriginalMaze = false;
var gameScale = 0.45;
var maze = createSprite(200,200);
maze.setAnimation("maze");
var treats = createGroup();
var t1 = createSprite(220, 210);
t1.setAnimation("cherry");
treats.add(t1);
var barras = createGroup();
var b1 = createSprite(120, 195, w, 80);
barras.add(b1);
var b2 = createSprite(280, 195, w, 80);
barras.add(b2);
var b3 = createSprite(320, 240, w, 80);
barras.add(b3);
var b4 = createSprite(80, 240, w, 80);
barras.add(b4);
var b5 = createSprite(200, 230, 80, w);
barras.add(b5);
var b6 = createSprite(200, 120, 80, w);
barras.add(b6);
var b7 = createSprite(200, 250, w, 40);
barras.add(b7);
var b8 = createSprite(200, 80, w, 80);
barras.add(b8);
var b9 = createSprite(200, 350, 80, w);
barras.add(b9);
var b10 = createSprite(240, 330, w, 50);
barras.add(b10);
var b11 = createSprite(160, 330, w, 50);
barras.add(b11);
var b12 = createSprite(260, 266, 50, w);
barras.add(b12);
var b13 = createSprite(140, 266, 50, w);
barras.add(b13);
var b14 = createSprite(120, 290, w, 50);
barras.add(b14);
var b15 = createSprite(280, 290, w, 50);
barras.add(b15);
var b16 = createSprite(85, 350, 80, w);
barras.add(b16);
var b17 = createSprite(315, 350, 80, w);
barras.add(b17);
var b18 = createSprite(50, 330, w, 40);
barras.add(b18);
var b19 = createSprite(350, 330, w, 40);
barras.add(b19);
var b20 = createSprite(65, 85, 40, w);
barras.add(b20);
var b21 = createSprite(335, 85, 40, w);
barras.add(b21);
var b22 = createSprite(50, 110, w, 40);
barras.add(b22);
var b23 = createSprite(350, 110, w, 40);
barras.add(b23);
var b24 = createSprite(65, 200, 40,w);
barras.add(b24);
var b25 = createSprite(65, 280, 40,w);
barras.add(b25);
var b26 = createSprite(335, 200, 40,w);
barras.add(b26);
var b27 = createSprite(335, 280, 40,w);
barras.add(b27);
var b28 = createSprite(105, 315, 40,w);
barras.add(b28);
var b29 = createSprite(300, 315, 40,w);
barras.add(b29);
var b30 = createSprite(140, 85, 50,w);
barras.add(b30);
var b31 = createSprite(260, 85, 50,w);
barras.add(b31);
var b32 = createSprite(120, 65, w, 50);
barras.add(b32);
var b32 = createSprite(280, 65, w, 50);
barras.add(b32);
var b33 = createSprite(110, 120, 30,w);
barras.add(b33);
var b34 = createSprite(295, 120, 30,w);
barras.add(b34);
var b35 = createSprite(65, 165, 40, w);
barras.add(b35);
var b36 = createSprite(335, 165, 40, w);
barras.add(b36);
var b36 = createSprite(70, 50, 30, w);
barras.add(b36);
var b37 = createSprite(335, 50, 30, w);
barras.add(b37);
var b38 = createSprite(200, 310, w, 20);
barras.add(b38);
var b39 = createSprite(160, 40, w, 20);
barras.add(b39);
var b40 = createSprite(240, 40, w, 20);
barras.add(b40);
var b41 = createSprite(40, 240, 20, w);
barras.add(b41);
var b42 = createSprite(360, 240, 20, w);
barras.add(b42);
var walls = createGroup();
var w1 = createSprite(200,0,400,10);
walls.add(w1);
var w2 = createSprite(0,80,10,180);
walls.add(w2);
var w2b = createSprite(0,320,10,180);
walls.add(w2b);
var w3 = createSprite(400,80,10,180);
walls.add(w3);
var w3b = createSprite(400,320,10,180);
walls.add(w3b);
var w4 = createSprite(200,400,400,10);
walls.add(w4);
var h1 = createSprite(157,180,5,30);
h1.shapeColor="red";
walls.add(h1);
var h2 = createSprite(243,180,5,30);
h2.shapeColor="red";
walls.add(h2);
var h3 = createSprite(200,193,90,5);
h3.shapeColor="red";
walls.add(h3);
// var h4 = createSprite(165,145,20,5);
// h4.shapeColor="red";
// walls.add(h4);
// var h5 = createSprite(235,145,20,5);
// h5.shapeColor="red";
// walls.add(h5);
var dots = createGroup();
var dot = [];
var count = 0;
for (var i=30; i<=380; i+=35){
for (var j=30; j<=380; j+=35){
dot[count] = createSprite(i,j);
dot[count].setAnimation("dot");
dots.add(dot[count]);
count++;
}
}
var bigDots = createGroup();
var bd1 = createSprite(370,30);
bigDots.add(bd1);
var bd2 = createSprite(30,370);
bigDots.add(bd2);
var bd3 = createSprite(370,370);
bigDots.add(bd3);
var bd4 = createSprite(30,30);
bigDots.add(bd4);
bigDots.setAnimationEach("bigDot");
var lifes = 3;
var life1 = createSprite(150,25);
life1.setAnimation("life");
life1.scale=0.1;
var life2 = createSprite(180,25);
life2.setAnimation("life");
life2.scale=0.1;
var life3 = createSprite(210,25);
life3.setAnimation("life");
life3.scale=0.1;
var pac = createSprite(200, 210);
pac.setAnimation("pacmanR");
pac.scale =gameScale;
var enemies = createGroup();
var p1 = createSprite(170,170);
p1.scale=gameScale;
enemies.add(p1);
var p2 = createSprite(180,170);
p2.scale=gameScale;
enemies.add(p2);
var p3 = createSprite(190,170);
p3.scale=gameScale;
enemies.add(p3);
var p4 = createSprite(200,1700);
p4.scale=gameScale;
enemies.add(p4);
function setGhostsVel(){
enemies.setVelocityYEach(-ghostVel);
p1.velocityX=ghostVel;
p2.velocityX=ghostVel;
p3.velocityX=-ghostVel;
p4.velocityX=-ghostVel;
}
setGhostsVel();
var score = 0;
var framecount = 0;
function resetPosition(char){
char.x = random(0, 320);
char.y = random(0, 400);
}
function Win(){
if (dots.length==0){
enemies.destroyEach();
treats.destroyEach();
pac.rotationSpeed=10;
textSize(50);
fill("yellow");
textAlign(CENTER,CENTER);
text("YOU WON!",200,200);
}
}
function moveGhosts(){
startCounter++;
if (startCounter%10===0 & startCounter>30){
var signal = 1;
if (state=="special") signal = -1;
if(pac.x-p1.x>0)signal*=1;else signal*=-1;
p1.velocityX=signal*ghostVel+random(-change,change);
if(pac.y-p1.y>0)signal*=1;else signal*=-1;
p1.velocityY=signal*ghostVel+random(-change,change);
if(pac.x-p2.x>0)signal*=1;else signal*=-1;
p2.velocityX=signal*ghostVel+random(-change,change);
if(pac.y-p2.y>0)signal*=1;else signal*=-1;
p2.velocityY=signal*ghostVel+random(-change,change);
if(pac.x-p3.x>0)signal*=1;else signal*=-1;
p3.velocityX=signal*ghostVel+random(-change,change);
if(pac.y-p3.y>0)signal*=1;else signal*=-1;
p3.velocityY=signal*ghostVel+random(-change,change);
if(pac.x-p4.x>0)signal*=1;else signal*=-1;
p4.velocityX=signal*ghostVel+random(-2,2);
if(pac.y-p4.y>0)signal*=1;else signal*=-1;
p4.velocityY=signal*ghostVel+random(-2,2);
}
}
function moveSides(char){
if (char.x <= -20){
char.x = 410;
char.y = 200;
}
else if (char.x >= 420){
char.x = -20;
char.y = 200;
}
}
dots.collide(barras);
dots.collide(walls);
var state = "normal";
var startSpecialState = 0;
function eatBigDot(){
if (state=="normal"){
p1.setAnimation("phantom1");
p2.setAnimation("phantom2");
p3.setAnimation("phantom3");
p4.setAnimation("phantom4");
} else{
enemies.setAnimationEach("blue");
}
if (pac.isTouching(bigDots)){
if (pac.isTouching(bd1)) bd1.destroy();
if (pac.isTouching(bd2)) bd2.destroy();
if (pac.isTouching(bd3)) bd3.destroy();
if (pac.isTouching(bd4)) bd4.destroy();
state = "special";
if(playSound)
(playSound("sound://category_digital/coin_3.mp3",true))
startSpecialState = World.seconds;
}
if (state=="special" && World.seconds==startSpecialState+10){
state = "normal";
stopSound("sound://category_digital/coin_3.mp3")
}
}
function draw() {
eatBigDot();
background("darkblue");
maze.visible=showOriginalMaze;
pac.collide(barras);
pac.collide(walls);
treats.collide(barras);
treats.collide(walls);
enemies.collide(barras);
enemies.collide(walls);
moveGhosts();
if (keyDown("right")){
pac.setAnimation("pacmanR");
pac.x = pac.x + pacVel;
}
if (keyDown("left")){
pac.setAnimation("pacmanL");
pac.x = pac.x - pacVel;
}
if (keyDown("up")){
pac.setAnimation("pacmanU");
pac.y = pac.y - pacVel;
}
if (keyDown("down")){
pac.setAnimation("pacmanD");
pac.y = pac.y + pacVel;
}
moveSides(pac);
moveSides(p1);
moveSides(p2);
moveSides(p3);
moveSides(p4);
if (pac.isTouching(t1)){
t1.visible=false;
if(soundOnOff)
playSound("sound://category_points/vibrant_game_cartoon_musical_bling_1.mp3")
score+=10;
if (World.frameCount%100){
resetPosition(t1);
t1.visible=true;
}
}
if (World.frameCount%300===0){
resetPosition(t1);
}
if (pac.isTouching(enemies) && state=="special"){
if (pac.isTouching(p1)){
p1.x = 170; p1.y = 170;
p1.velocityX = ghostVel;
p1.velocityY = ghostVel;
score+=20;
}
if (pac.isTouching(p2)){
p2.x = 170; p2.y = 170;
p2.velocityX = ghostVel;
p2.velocityY = ghostVel;
score+=20;
}
if (pac.isTouching(p3)){
p3.x = 170; p3.y = 170;
p3.velocityX = -ghostVel;
p3.velocityY = ghostVel;
score+=20;
}
if (pac.isTouching(p4)){
p4.x = 170; p4.y = 170;
p4.velocityX = -ghostVel;
p4.velocityY = ghostVel;
score+=20;
}
}
if (pac.isTouching(enemies) && state=="normal"){
pac.setAnimation("dead");
for (var i=0; i<4; i++){
pac.nextFrame();
}
pac.setAnimation("pacmanR");
if (soundOnOff)
playSound("sound://category_music/8bit_game_over_1.mp3")
pac.x = 200;
pac.y = 200;
p1.x = 170;
p1.y = 170;
p2.x = 180;
p2.y = 170;
p3.x = 190;
p3.y = 170;
p4.x = 200;
p4.y = 170;
startCounter = 0;
setGhostsVel();
lifes--;
if (lifes==2) life1.destroy();
if (lifes==1) life2.destroy();
if (lifes==0) life3.destroy();
if (lifes<=0) {
pac.destroy();
enemies.destroyEach();
treats.destroyEach();
}
}
if(pac.isTouching(dots)){
for (var i=0; i<count; i++){
if(dot[i].isTouching(pac)){
dot[i].destroy();
if (soundOnOff)
(playSound("sound://category_achievements/lighthearted_bonus_objective_6.mp3"))
score++;
}
}
}
drawSprites();
textSize(20);
fill("red");
text('SCORE: '+score, 10, 30);
if (lifes<=0){
textSize(50);
textAlign(CENTER,CENTER);
text("YOU LOOSE!",200,200);
}
Win();
framecount = World.frameCount;
// text(framecount, 200, 20);
}
Editor is loading...
Leave a Comment