Untitled
unknown
plain_text
4 years ago
8.8 kB
6
Indexable
var ship = new WebImage("https://vignette.wikia.nocookie.net/chickeninvaders/images/5/51/BomberFront.png/revision/latest?cb=20191006132306"); var shipwidth =40; var shipheight =30; var shipofset =30; var row =4; var column = 6; var chickenwidth = 40; var chickenheight= 30; var offset = (getWidth()-chickenwidth * 6)/ 7; var y = 10; var x = offset; var buletwidth=8; var buletheight= 16; var bullet; var bullet_dx = 0; var bullet_dy = -3; var score =new Text ("score 0", "15pt Arial"); var scores= 0; var bullnum = 30; var bullnumber = new Text (bullnum , "15pt Arial"); var dxckn=4; var dyckn=0; var chickens = []; var eggs= []; var bullets = []; var winningscore=120; var background = new WebImage("https://vignette.wikia.nocookie.net/chickeninvaders/images/5/50/Wiki-background/revision/latest?cb=20191201203017"); var egg ; var eggw = 10; var eggh= 12; var egg_dx =0; var egg_dy =3; var count = 0; var chickens_move_call_number = 0; function start() { background = new WebImage("https://vignette.wikia.nocookie.net/chickeninvaders/images/5/50/Wiki-background/revision/latest?cb=20191201203017"); background.setSize(getWidth(), getHeight()); background.setPosition (0 ,0 ); add (background); var prolog = readLine ("This is chicken invaners game, avoid eggs and kill all chicken. You have only 30 bullet. Good Luck"); scorecount(); bulletscount(); draw(); drawship(); mouseMoveMethod(shipmove); mouseClickMethod(drawbullet); setTimer(chickenmove,20); setTimer(drawegg, 300); setTimer(eggmove, 50); } //this function draws eggs function drawegg (){ egg = new WebImage (" https://vignette.wikia.nocookie.net/chickeninvaders/images/2/26/Egg.png/revision/latest?cb=20180728171055"); egg.setSize(eggw, eggh); var random_chicken_number = Randomizer.nextInt(0, chickens.length-1); if (chickens[random_chicken_number] != undefined) { var eggx= chickens[random_chicken_number].getX() + chickenwidth/2; var eggy= chickens[random_chicken_number].getY() + chickenheight; egg.setPosition (eggx, eggy); add (egg); eggs.push(egg); } } //this function moves mutiple eggs function eggmove(e){ for(var i = 0; i < eggs.length; i++){ eggs[i].move(egg_dx, egg_dy); } checkegg(); } //this function is for egg and ship colission an game over function checkegg(e) { for(var i = 0; i < eggs.length; i++){ var elem = getElementAt(eggs[i].getX(), eggs[i].getY()+eggh+1); if (elem == ship) { stopTimer(drawegg); stopTimer(eggmove); removeAll(); add (background); var gameover = new Text ("GAME OVER", "12pt Arial"); gameover.setColor(Color.white); gameover.setPosition (getWidth()/2 -40, getHeight()/2); add(gameover); } } } //this function moves multiply bullets function bulletmove(e){ for (var i=0; i<bullets.length; i++) { if (bullets[i] != undefined) { bullets[i].move(bullet_dx, bullet_dy); } } checkchicken(); } //this function draws bullets function drawbullet(){ if (bullnum > 0) { bullet = new WebImage("https://vignette.wikia.nocookie.net/chickeninvaders/images/e/e0/UtensilPokerCarving.png/revision/latest?cb=20180808210855"); bullet.setSize(buletwidth, buletheight); bullet.setPosition(ship.getX() + shipwidth/2-buletwidth/2, getHeight()-shipofset -shipheight-buletheight); add(bullet); bullets.push(bullet); setTimer(bulletmove,20); bullnum--; bullnumber.setText("bullet: " + bullnum); } else { gameover(); } } //this function moves chickens function chickenmove(e){ chickens_move_call_number++; if (chickens_move_call_number % 11 == 0) { dxckn = -dxckn; } for(var i = 0; i < chickens.length; i++){ if (chickens[i] != undefined) { chickens[i].move(dxckn,dyckn); } } } // this function returns if chicken and bullet have colission function checkIfChickenIsDead(chicken_to_check, bullet_to_check) { if (chicken_to_check == undefined || bullet_to_check == undefined) { return false; } var top = getElementAt(bullet_to_check.getX(), bullet_to_check.getY() - bullet_to_check.getHeight()); if (top == chicken_to_check) { return true; } return false; } //this function removes chickens and bullets when hit function checkchicken(e) { for (var i=0; i<chickens.length; i++) { for (var k=0; k<bullets.length; k++) { if (checkIfChickenIsDead(chickens[i], bullets[k]) == true) { scores = scores +5; remove(chickens[i]); remove(bullets[k]); delete chickens[i]; delete bullets[k]; winner(); } } } } //this function draws score count bar function scorecount (e){ score = new Text ("score 0", "12pt Arial"); score.setColor(Color.white); score.setPosition (getWidth()-100, getHeight()-10); add (score); } //this function draws bullet count bar function bulletscount (e){ bullnumber = new Text ("bullet: 30 ", "12pt Arial"); bullnumber.setColor(Color.white); bullnumber.setPosition (20, getHeight()-10); add (bullnumber); } //this function is for ship movement function shipmove(e){ ship.setPosition(e.getX()-shipwidth/2, getHeight()-shipofset -shipheight); if(e.getX()-shipwidth/2<0 ){ ship.setPosition(0,getHeight()-shipofset-shipheight); } if(e.getX() +shipwidth/2>getWidth() ){ ship.setPosition(getWidth() - shipwidth,getHeight()-shipofset-shipheight); } } //this function draws ship function drawship(){ ship = new WebImage("https://vignette.wikia.nocookie.net/chickeninvaders/images/5/51/BomberFront.png/revision/latest?cb=20191006132306"); ship.setSize(shipwidth, shipheight); ship.setPosition(getWidth()/2 -shipwidth/2, getHeight() - shipofset-shipheight); add (ship); } // this function draws chickens function drawChicken(type, position_x, position_y) { var chicken_image_url = ''; if (type == 'boss') { chicken_image_url = 'https://vignette.wikia.nocookie.net/chickeninvaders/images/8/8d/SweaterChickenCIU.png/revision/latest?cb=20190120215403'; } else if (type == 'blue') { chicken_image_url = 'https://vignette.wikia.nocookie.net/chickeninvaders/images/b/b4/BigChicken.png/revision/latest?cb=20180311182645'; } else if (type == 'red') { chicken_image_url = 'https://vignette.wikia.nocookie.net/chickeninvaders/images/0/00/BigChickenCIU.png/revision/latest?cb=20190225195618'; } var chicken = new WebImage(chicken_image_url); chicken.setSize(chickenwidth, chickenheight); chicken.setPosition (position_x , position_y); add (chicken); chickens.push(chicken); } //this functions draws chickens function draw(){ var chicken_x = offset; var chicken_y = offset; var chicken_count = 1; var chicken_type = 'boss'; for (var i=0; i<row; i++) { chicken_y = (chickenheight + offset)*i + offset; for (var k=0; k<column; k++) { chicken_x = (chickenwidth + offset)*k + offset; drawChicken(chicken_type, chicken_x, chicken_y); chicken_count++; if (chicken_count <= 6) { chicken_type = 'boss'; } else if (chicken_count > 6 && chicken_count <= 12) { chicken_type = 'red'; } else { chicken_type = 'blue'; } } } } //this functions draws winner text function winner (){ score.setText ("score " + scores); if (scores ==winningscore){ stopTimer(drawegg); stopTimer(eggmove); removeAll(); add (background); var winner = new Text ("YOU WIN", "12pt Arial"); winner.setColor(Color.white); winner.setPosition (getWidth()/2 -40, getHeight()/2); add(winner); } } //this functions draws gameover text function gameover (){ stopTimer(drawegg); stopTimer(eggmove); removeAll(); add (background); var gameover = new Text ("GAME OVER", "12pt Arial"); gameover.setColor(Color.white); gameover.setPosition (getWidth()/2 -40, getHeight()/2); add(gameover); }
Editor is loading...