123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798 |
- // Objects
- var clicker;
- var text;
- var loserOverlay;
- var menuOverlay;
- var heartRespawn;
- var livesCounter;
- var settingsOverlay;
- var storeOverlay;
- var admobid = {};
- var lang = 'en';
- var blueInRow = 1;
- // Sounds
- var tapSound;
- var tapSound2;
- var achievementSound;
- var errorSound;
- var purchaseSound;
- // State
- var playing = false;
- var lastClickTime;
- var lostTime;
- var canRespawn = true;
- var score = 0;
- var colour = 0; //0 - blue, 1 - red, 2 - green
- var heartClippingY = 0;
- var numberOfGames = 0;
- // Translations
- var langStrs = {
- "en":{
- "playButton": "Play",
- "shareButton":"Share",
- "storeButton":"Store",
- "settingsButton":"Settings",
- "freeLife":"1 free life!",
- "watchVideo":"Watch video",
- "loading":"Loading...",
- "textlabel":"Click?",
- "loseReason":"You lost!",
- "loserScore":"You scored <a>0</a> points",
- "heartExplanation":"(Tap heart to continue this game)",
- "shareHighscore":"Share highscore!",
- "shareScore":"Share score",
- "goToMenu":"Menu",
- "goBack":"Back",
- "soundButton":"  Sound  ",
- "buy":"Buy ",
- "highscore":"New highscore!",
- "points":" points!",
- "notRed":"Not red!",
- "tooSlow":"Too slow!",
- "removeAds":"Remove ads in the store!",
- "description":"Just press the button",
- "shareTitle":"New Clicky score!",
- "shareDescription1":"I got ",
- "shareDescription2":" points in Clicky! How many can you get?",
- "highscoreText":"Highscore: <span>0</span> points",
- "credits":"Credits"
- },
- "fr":{
- "playButton": "Jouer",
- "shareButton":"Partager",
- "storeButton":"Magasin",
- "settingsButton":"Options",
- "freeLife":"1 vie gratuite!",
- "watchVideo":"Regarder la vidéo",
- "loading":"Chargement...",
- "textlabel":"Cliquez",
- "loseReason":"Vous avez perdu!",
- "loserScore":"Vous avez obtenu <a>0</a> points",
- "heartExplanation":"(Appuyez sur le coeur pour continuer)",
- "shareHighscore":"Partagez highscore!",
- "shareScore":"Partagez score",
- "goToMenu":"Menu",
- "goBack":"Retour",
- "soundButton":"  Son  ",
- "buy":"Acheter ",
- "highscore":"Nouveau highscore!",
- "points":" points!",
- "notRed":"Pas rouge!",
- "tooSlow":"Trop lent!",
- "removeAds":"Enlevez les pubs au magasin!",
- "description":"Appuyez sur le bouton",
- "shareTitle":"Nouveau score Clicky!",
- "shareDescription1":"J'ai eu ",
- "shareDescription2":" points sur Clicky! Peux-tu faire mieux?",
- "highscoreText":"Highscore: <span>0</span> points",
- "credits":"Infos"
- },
- "es":{
- "playButton": "Jugar",
- "shareButton":"Compartir",
- "storeButton":"Tienda",
- "settingsButton":"Ajustes",
- "freeLife":"¡1 vida gratis!",
- "watchVideo":"Ve el vídeo",
- "loading":"Cargando...",
- "textlabel":"Click?",
- "loseReason":"Perdiste",
- "loserScore":"Has obtenido <a>0</a> puntos",
- "heartExplanation":"(Pulsa el corazón para continuar)",
- "shareHighscore":"¡Compartir récord!",
- "shareScore":"Compartir puntuación",
- "goToMenu":"Menú",
- "goBack":"Atrás",
- "soundButton":"  Sonido  ",
- "buy":"Comprar ",
- "highscore":"¡Nuevo récord!",
- "points":" puntos",
- "notRed":"¡Rojo no!",
- "tooSlow":"¡Muy lento!",
- "removeAds":"¡Quita los anuncios en la tienda!",
- "description":"Pulsa el botón",
- "shareTitle":"¡Nuevo resultado en Clicky!",
- "shareDescription1":"¡He sacado ",
- "shareDescription2":" puntos en Clicky! ¿Puedes superarlo?",
- "highscoreText":"Récord: <span>0</span> puntos",
- "credits":"Créditos"
- }
- }
- //Ads
- /*var isPendingInterstitial = false;
- var isAutoshowInterstitial = false;
- function prepareInterstitialAd() {
- if (!isPendingInterstitial) { // We won't ask for another interstitial ad if we already have an available one
- admob.requestInterstitialAd({
- autoShowInterstitial: isAutoshowInterstitial
- });
- }
- }
- function onAdLoadedEvent(e) {
- if (e.adType === admob.AD_TYPE.INTERSTITIAL && !isAutoshowInterstitial) {
- isPendingInterstitial = true;
- }
- }
- function showInterstitialAd() {
- if (isPendingInterstitial) {
- admob.showInterstitialAd(function () {
- isPendingInterstitial = false;
- isAutoshowInterstitial = false;
- prepareInterstitialAd();
- });
- } else {
- // The interstitial is not prepared, so in this case, we want to show the interstitial as soon as possible
- isAutoshowInterstitial = true;
- admob.requestInterstitialAd({
- autoShowInterstitial: isAutoshowInterstitial
- });
- }
- }*/
- document.addEventListener("deviceready", onReady, false);
- // Load
- function load(){
- // Internationalization
- document.getElementById('playButton').innerHTML = langStrs[lang]["playButton"]
- document.getElementById('shareButton').innerHTML = langStrs[lang]["shareButton"]
- document.getElementById('storeButton').innerHTML = langStrs[lang]["storeButton"]
- document.getElementById('settingsButton').innerHTML = langStrs[lang]["settingsButton"]
- var loadingTitles = document.querySelectorAll('#storeOverlay .title')
- for(var i = 0; i < loadingTitles.length; i++){
- loadingTitles[i].innerHTML = langStrs[lang]["loading"]
- }
- document.querySelector('#freeLife .title').innerHTML = langStrs[lang]["freeLife"]
- document.getElementById('watchVideo').innerHTML = langStrs[lang]["watchVideo"]
- document.getElementById('textlabel').innerHTML = langStrs[lang]["textlabel"]
- document.getElementById('loseReason').innerHTML = langStrs[lang]["loseReason"]
- document.getElementById('loserScore').innerHTML = langStrs[lang]["loserScore"]
- document.getElementById('heartExplanation').innerHTML = langStrs[lang]["heartExplanation"]
- document.getElementById('newScore').innerHTML = langStrs[lang]["newScore"]
- document.getElementById('loserGoToMenu').innerHTML = langStrs[lang]["goToMenu"]
- document.getElementById('storeGoToMenu').innerHTML = langStrs[lang]["goToMenu"]
- document.getElementById('settingsGoToMenu').innerHTML = langStrs[lang]["goToMenu"]
- document.getElementById('storeGoToGame').innerHTML = langStrs[lang]["goBack"]
- document.getElementById('storeGoToLoser').innerHTML = langStrs[lang]["goBack"]
- document.getElementById('soundButton').innerHTML = langStrs[lang]["soundButton"]
- document.getElementById('highscoreText').innerHTML = langStrs[lang]["highscoreText"]
- document.getElementById('creditsButton').innerHTML = langStrs[lang]["credits"]
- // Game
- if(localStorage["lives"] == undefined){
- localStorage["lives"] = 3 //3 lives to start with
- }
- if(localStorage["sound"] == undefined){
- localStorage["sound"] = "true";
- }
- if(localStorage["showAds"] == undefined){
- localStorage["showAds"] = "true";
- }
- if(localStorage["highscore"] == undefined){
- localStorage["highscore"] = "0";
- }
- livesCounter = document.getElementById('lives')
- livesCounter.querySelector('#livesCounter').innerHTML = localStorage["lives"]
- clicker = document.getElementById('clicker');
- text = document.getElementById('textlabel');
- loserOverlay = document.getElementById('loserOverlay')
- menuOverlay = document.getElementById('menuOverlay')
- heartRespawn = document.getElementById('heartRespawn')
- settingsOverlay = document.getElementById('settingsOverlay')
- storeOverlay = document.getElementById('storeOverlay')
- try{
- document.createEvent("TouchEvent")
- clicker.addEventListener('touchstart',click,false)
- loserOverlay.addEventListener('touchstart',restart,false)
- loserOverlay.querySelector("#loserGoToMenu").addEventListener('touchstart',menu,true)
- menuOverlay.querySelector('#playButton').addEventListener('touchstart',restart,false)
- menuOverlay.querySelector('#storeButton').addEventListener('touchstart',goToStore,false)
- 'buy' //menuOverlay.querySelector('#highscoreButton').addEventListener('touchstart',goToHighscores,false)
- menuOverlay.querySelector('#settingsButton').addEventListener('touchstart',goToSettings,false)
- document.getElementById('shareButton').addEventListener('touchstart',share,false)
- heartRespawn.addEventListener('touchstart',respawn,false)
- livesCounter.addEventListener('touchstart',goToStore,false)
- settingsOverlay.querySelector('#soundButton').addEventListener('touchstart',toggleSound,false)
- settingsOverlay.querySelector('#settingsGoToMenu').addEventListener('touchstart',menu,false)
- storeOverlay.querySelector('#storeGoToMenu').addEventListener('touchstart',menu,false)
- storeOverlay.querySelector('#storeGoToGame').addEventListener('touchstart',continueGame,false)
- storeOverlay.querySelector('#storeGoToLoser').addEventListener('touchstart',goToLoser,false)
- document.getElementById('newScore').addEventListener('touchstart',shareScore,false)
- document.getElementById('creditsButton').addEventListener('touchstart',openCredits,false)
- document.getElementById('creditsOverlay').addEventListener('touchstart',closeCredits,false)
- var freelife = document.getElementById('freelife').addEventListener('touchstart',function(){
- if(videoTimeLeft <= 0){
- AdMob.showRewardVideoAd();
- videoTimeLeft = 90
- videoRewardCountdown()
- setTimeout(function(){
- AdMob.prepareRewardVideoAd({adId:"ca-app-pub-5926997736584944/8707157712", autoShow:false, isTesting: false})
- }, 1000)
- }
- },false)
- document.addEventListener('onAdPresent',
- function(data){
- if(data.adType == 'rewardvideo') {
- //alert( data.rewardType );
- //alert( data.rewardAmount );
- localStorage["lives"] = parseInt(localStorage["lives"]) + 1
- livesCounter.querySelector('#livesCounter').innerHTML = localStorage["lives"]
- }
- });
- }
- catch (e){
- clicker.addEventListener('mousedown',click,false)
- loserOverlay.addEventListener('mousedown',restart,false)
- loserOverlay.querySelector("#loserGoToMenu").addEventListener('mousedown',menu,true)
- menuOverlay.querySelector('#playButton').addEventListener('mousedown',restart,false)
- //menuOverlay.querySelector('#highscoreButton').addEventListener('mousedown',goToHighscores,false)
- menuOverlay.querySelector('#settingsButton').addEventListener('mousedown',goToSettings,false)
- menuOverlay.querySelector('#storeButton').addEventListener('mousedown',goToStore,false)
- document.getElementById('shareButton').addEventListener('mousedown',share,false)
- heartRespawn.addEventListener('mousedown',respawn,false)
- livesCounter.addEventListener('mousedown',goToStore,false)
- settingsOverlay.querySelector('#soundButton').addEventListener('mousedown',toggleSound,false)
- settingsOverlay.querySelector('#settingsGoToMenu').addEventListener('mousedown',menu,false)
- storeOverlay.querySelector('#storeGoToMenu').addEventListener('mousedown',menu,false)
- storeOverlay.querySelector('#storeGoToGame').addEventListener('mousedown',continueGame,false)
- storeOverlay.querySelector('#storeGoToLoser').addEventListener('mousedown',goToLoser,false)
- document.getElementById('newScore').addEventListener('mousedown',shareScore,false)
- document.getElementById('creditsButton').addEventListener('mousedown',openCredits,false)
- document.getElementById('creditsOverlay').addEventListener('mousedown',closeCredits,false)
- }
- }
- function onReady(){
- // Let's try to contact the store
- try{
- store.register({
- id: "20lives",
- alias: "20 lives",
- type: store.CONSUMABLE
- });
- store.register({
- id: "50lives",
- alias: "50 lives",
- type: store.CONSUMABLE
- });
- store.register({
- id: "200lives",
- alias: "200 lives",
- type: store.CONSUMABLE
- });
- store.register({
- id: "removeads",
- alias: "Remove ads",
- type: store.NON_CONSUMABLE
- });
- store.when("20lives").updated(refreshStore);
- store.when("50lives").updated(refreshStore);
- store.when("200lives").updated(refreshStore);
- store.when("removeads").updated(refreshStore);
- store.when("20lives").approved(function(product) {
- localStorage["lives"] = parseInt(localStorage["lives"]) + 20
- document.getElementById('livesCounter').innerHTML = localStorage["lives"]
- product.finish();
- playSound("purchase")
- });
- store.when("50lives").approved(function(product) {
- localStorage["lives"] = parseInt(localStorage["lives"]) + 50
- document.getElementById('livesCounter').innerHTML = localStorage["lives"]
- product.finish();
- playSound("purchase")
- });
- store.when("200lives").approved(function(product) {
- localStorage["lives"] = parseInt(localStorage["lives"]) + 200
- document.getElementById('livesCounter').innerHTML = localStorage["lives"]
- product.finish();
- playSound("purchase")
- });
- store.when("removeads").approved(function(product) {
- localStorage["showAds"] = "false"
- product.finish();
- try{
- AdMob.hideBanner();
- AdMob.removeBanner();
- }
- catch(e){}
- playSound("purchase")
- });
- store.refresh();
- }
- catch(e){}
- // Sounds
- try{
- tapSound = new Media("file:///android_asset/www/sounds/tap.ogg");
- tapSound2 = new Media("file:///android_asset/www/sounds/tap2.ogg");
- achievementSound = new Media("file:///android_asset/www/sounds/achievement.mp3");
- errorSound = new Media("file:///android_asset/www/sounds/error.mp3");
- purchaseSound = new Media("file:///android_asset/www/sounds/purchase.mp3");
- }
- catch(e){}
- // Ads
- /*if(localStorage["showAds"] == "true"){
- admob.setOptions({
- publisherId: "ca-app-pub-5926997736584944/3066080116" , // Required
- interstitialAdId: "ca-app-pub-5926997736584944/6019546518", // Optional
- });
- document.addEventListener(admob.events.onAdLoaded, onAdLoadedEvent);
- prepareInterstitialAd();
- admob.createBannerView();
- }*/
- try{
- if(localStorage["showAds"] == "true"){
- admobid = {
- banner: 'ca-app-pub-5926997736584944/3066080116',
- interstitial: 'ca-app-pub-5926997736584944/6019546518'
- };
- setTimeout(function(){
- AdMob.createBanner({
- isTesting: false,
- adId: admobid.banner,
- position: AdMob.AD_POSITION.BOTTOM_CENTER,
- autoShow: true,
- success: function(){
- //alert('yeai')
- //alert(AdMob.AD_POSITION.BOTTOM_CENTER)
- AdMob.showBanner(AdMob.AD_POSITION.BOTTOM_CENTER)
- },
- error: function(){
- //alert('failed to create banner');
- }});
- AdMob.prepareInterstitial( {adId:admobid.interstitial, autoShow:false, isTesting: false} );
- AdMob.prepareRewardVideoAd({adId:"ca-app-pub-5926997736584944/8707157712", autoShow:false, isTesting: false}, function(){
- //alert('yep')
- }, function(){
- //alert('nope')
- });
- }, 50)
- }
- videoRewardCountdown()
- }
- catch(e){}
- try{
- navigator.globalization.getPreferredLanguage(function (language) {
- var language = language.value.split('-')[0]
- switch(language){
- case 'fr': lang = 'fr'; break;
- case 'de': lang = 'dr'; break;
- case 'es': lang = 'es'; break;
- case 'en': lang = 'en'; break;
- default: lang = 'en'; break;
- }
- load()
- setTimeout(function(){
- document.body.className = "menu"
- }, 2500)
- //alert(lang)
- })
- // Load the game
- }
- catch(e){}
- }
- // Store
- function refreshStore(){
- // 20 lives
- try{
- var product20 = store.get("20lives");
- document.querySelector('#buy20lives .title').innerHTML = langStrs[lang]["buy"]+ product20.title.replace(/ *\([^)]*\) */g, "");
- document.querySelector('#buy20lives .price').innerHTML = product20.price
- document.querySelector('#buy20lives').addEventListener('touchstart',function(){
- store.order("20lives");
- },false)
- }
- catch(e){}
- // 50 lives
- try{
- var product50 = store.get("50lives");
- document.querySelector('#buy50lives .title').innerHTML = langStrs[lang]["buy"]+ product50.title.replace(/ *\([^)]*\) */g, "");
- document.querySelector('#buy50lives .price').innerHTML = product50.price
- document.querySelector('#buy50lives').addEventListener('touchstart',function(){
- store.order("50lives");
- },false)
- }
- catch(e){}
- // 200 lives
- try{
- var product200 = store.get("200lives");
- document.querySelector('#buy200lives .title').innerHTML = langStrs[lang]["buy"]+ product200.title.replace(/ *\([^)]*\) */g, "");
- document.querySelector('#buy200lives .price').innerHTML = product200.price
- document.querySelector('#buy200lives').addEventListener('touchstart',function(){
- store.order("200lives");
- },false)
- }
- catch(e){}
- // Remove ads
- try{
- var removeads = store.get("removeads");
- document.querySelector('#removeads .title').innerHTML = removeads.title.replace(/ *\([^)]*\) */g, "");
- document.querySelector('#removeads .price').innerHTML = removeads.price
- if(removeads.state == store.OWNED){
- localStorage["showAds"] = "false"
- document.querySelector('#removeads').classList.add("owned")
- AdMob.hideBanner();
- AdMob.removeBanner();
- }
- else{
- document.querySelector('#removeads').addEventListener('touchstart',function(){
- store.order("removeads");
- },false)
- }
- }
- catch(e){}
- }
- // Click
- function click(){
- lastClickTime = new Date().getTime();
- // Blue and green buttons just let you go
- if(colour == 0 || colour == 2){
- score++
- if(parseInt(localStorage["highscore"])+1 == score && localStorage["highscore"] != "0"){
- logMessage(langStrs[lang]["highscore"])
- playSound("achievement")
- }
- playSound("tap")
- if(score == 25 || score == 50 || (score%100 == 0 && score!=0)){
- logMessage(score+langStrs[lang]["points"])
- playSound("achievement")
- }
- shuffle()
- }
- // Red buttons make you lose
- else if(colour == 1){
- lose(langStrs[lang]["notRed"]);
- }
-
- }
- // Logging messages
- function logMessage(mssg, time){
- if(time==undefined){
- time = 1500
- }
- var messageDiv = document.getElementById('message')
- messageDiv.innerHTML = mssg
- messageDiv.style.color = "rgba(88,88,88,1)"
- messageDiv.style.top = "8%"
- setTimeout(function(){
- var messageDiv = document.getElementById('message')
- messageDiv.style.color = "rgba(88,88,88,0)"
- messageDiv.style.top = "-2%"
- setTimeout(function(){
- var messageDiv = document.getElementById('message')
- messageDiv.style.top = "13%"
- }, 800)
- }, time)
- }
- // Create a new button
- function shuffle(){
- var x = Math.random();
- if(blueInRow>5){
- console.log("Capped blues")
- x = 0.8;
- }
- // Blue
- if(x < (0.3 + 0.45*Math.exp((-score) / 1200))){
- colour = 0
- blueInRow++
- }
- // Red
- else if(x < (0.67 + 0.25*Math.exp((-score) / 900))){
- blueInRow = 0
- colour = 1
- setTimeout(function(){
- if(playing){
- colour = 0;
- update()
- }
- }, Math.min(Math.max(460 + 400*Math.exp((-score) / 100) - 30*Math.log(score) + (Math.random()-0.5)*200, 400), 900));
- }
- // Green
- else{
- blueInRow = 0
- colour = 2
- setTimeout(function(){
- var t = new Date().getTime();
- if(t - lastClickTime > Math.max(750 - 4*score, 350)){
- lose(langStrs[lang]["tooSlow"]);
- }
- }, Math.min(460 + 400*Math.exp((-score) / 100) - 30*Math.log(score), 900));
- }
- update()
- }
- // Update the screen
- function update(){
- if(colour == 0){clicker.className = "button round-button blue"}
- if(colour == 1){clicker.className = "button round-button red"}
- if(colour == 2){clicker.className = "button round-button green"}
- if(score == 0){
- text.innerHTML = langStrs[lang]["textlabel"]
- }
- else{
- text.innerHTML = score;
- }
- }
- // UI
- function lose(reason){
- if(parseInt(localStorage["highscore"]) < score && localStorage["highscore"] != 0){ // New Highscore
- document.getElementById('newScore').className = 'highscore'
- document.getElementById('newScore').innerHTML = langStrs[lang]["shareHighscore"]
- }
- else{ //Normal score
- document.getElementById('newScore').className = 'normalScore'
- document.getElementById('newScore').innerHTML = langStrs[lang]["shareScore"]
- }
- // Update highscore
- if(localStorage["highscore"] < score){
- localStorage["highscore"] = score
- }
- document.querySelector('#highScoretext span').innerHTML = localStorage["highscore"]
- playSound("error")
- playing = false;
- lostTime = new Date().getTime()
- console.log("You lost", score)
- document.body.className = "loser"
- loserOverlay.querySelector('#loseReason').innerHTML = reason
- loserOverlay.querySelector('a').innerHTML = score;
- // Start counting heart down
- if(canRespawn){
- heartClippingY = 0;
- heartRespawn.style['margin-top'] = heartClippingY+"px"
- heartRespawn.style['background-position-y'] = -heartClippingY+"px"
- heartRespawn.style['height'] = 100-heartClippingY+"px"
- document.getElementById("heartExplanation").style.color = "rgba(200,200,200,0.8)"
- setTimeout(respawnCountdown, 1200)
- }
- else{
- heartClippingY = 100;
- respawnCountdown();
- }
- }
- function restart(){
- var t = new Date().getTime();
- if((lostTime == undefined || t > lostTime+500) && playing==false){ //So that user doesn't restart unwillingly
- playing = true;
- score = 0
- colour = 0
- heartClippingY = 0
- canRespawn = true;
- update()
- document.body.className = "playing"
- numberOfGames++
- if(localStorage["showAds"] == "true" && numberOfGames%5 == 4){
- //showInterstitialAd()
- AdMob.showInterstitial();
- setTimeout(function(){
- AdMob.prepareInterstitial( {adId:admobid.interstitial, autoShow:false, isTesting: false} );
- }, 500)
- setTimeout(function(){
- logMessage(langStrs[lang]["removeAds"], 4000)
- }, 1000)
- }
- }
- }
- function menu(event){
- playing = false;
- event.stopPropagation();
- document.body.className = "menu"
- }
- function share(){
- facebookConnectPlugin.showDialog({
- method: "share",
- href: "https://play.google.com/store/apps/details?id=com.clicky.clicky",
- caption: "Clicky",
- description: langStrs[lang]["description"],
- picture: "https://lh6.googleusercontent.com/AJvJVPTZ-l89nHSggNa6gwtDofahCQCQujivDO2et5vi2tNxl4ybOQgLRk7qLXlFOXPMLlEC=w371",
- share_feedWeb: true, // iOS only
- }, function(){}, function(){})
- }
- var resCountdown;
- function respawnCountdown(){
- if(heartClippingY < 95){
- heartClippingY += 1;
- heartRespawn.style['margin-top'] = heartClippingY+"px"
- heartRespawn.style['background-position-y'] = -heartClippingY+"px"
- heartRespawn.style['height'] = 100-heartClippingY+"px"
-
- //heartRespawn.style['clip-path'] = "inset("+heartClippingY+"px 0px 0px 0px)"
- //heartRespawn.style.webkitClipPath = "inset("+heartClippingY+"px 0px 0px 0px)"
- //heartRespawn.style['background-position-x'] = x+"px"
- resCountdown = setTimeout(respawnCountdown, 80)
- }
- else{ //You can't respawn anymore
- //heartRespawn.style['clip-path'] = "inset("+200+"px 0px 0px 0px)"
- //heartRespawn.style.webkitClipPath = "inset("+200+"px 0px 0px 0px)"
- heartRespawn.style['margin-top'] = 99+"px"
- heartRespawn.style['background-position-y'] = -99+"px"
- heartRespawn.style['height'] = 100-99+"px"
- canRespawn = false;
- document.getElementById("heartExplanation").style.color = "rgba(200,200,200,0)"
- }
- }
- function respawn(event){
- console.log('respawning')
- event.stopPropagation();
- if(parseInt(localStorage["lives"]) > 0){ //Still lives left
- if(canRespawn){
- // Continue from whenever we were with blue button
- playing = true;
- canRespawn = false
- colour = 0
- update()
- document.body.className = "playing"
- // Take one life off
- localStorage["lives"] = parseInt(localStorage["lives"]) - 1
- livesCounter.querySelector('#livesCounter').innerHTML = localStorage["lives"]
- }
- }
- else{ // Need to buy lives
- goToStore(undefined,true)
- heartClippingY = 0
- clearTimeout(resCountdown)
- heartRespawn.style['margin-top'] = 0+"px"
- heartRespawn.style['background-position-y'] = -0+"px"
- heartRespawn.style['height'] = 100-0+"px"
- }
- }
- function goToSettings(){
- document.body.className = "settings"
- if(localStorage["sound"] == "false"){
- settingsOverlay.querySelector("#soundButton").className = "offButton"
- }
- else{
- settingsOverlay.querySelector("#soundButton").className = ""
- }
- }
- function goToStore(event, backToLoser){
- document.body.className = "store"
- if(playing){
- storeOverlay.querySelector('#storeGoToMenu').style.display = "none"
- storeOverlay.querySelector('#storeGoToGame').style.display = "block"
- storeOverlay.querySelector('#storeGoToLoser').style.display = "none"
- }
- else if(backToLoser != undefined){
- storeOverlay.querySelector('#storeGoToMenu').style.display = "none"
- storeOverlay.querySelector('#storeGoToGame').style.display = "none"
- storeOverlay.querySelector('#storeGoToLoser').style.display = "block"
- }
- else{
- storeOverlay.querySelector('#storeGoToMenu').style.display = "block"
- storeOverlay.querySelector('#storeGoToGame').style.display = "none"
- storeOverlay.querySelector('#storeGoToLoser').style.display = "none"
- }
- keepRefreshingStore()
- }
- function keepRefreshingStore(){
- if(document.body.className == "store"){
- store.refresh()
- setTimeout(keepRefreshingStore, 1000)
- }
- else{
- store.refresh()
- }
- }
- function continueGame(){
- document.body.className = "playing"
- }
- function goToLoser(){
- document.body.className = "loser"
- }
- function toggleSound(){
- if(localStorage["sound"] == "false"){
- localStorage["sound"] = "true"
- }
- else{
- localStorage["sound"] = "false"
- }
- goToSettings()
- }
- // Sounds
- function playSound(sound){
- try{
- if(localStorage["sound"] == "true"){
- if(sound == "tap"){
- if(score%2 == 0){
- tapSound.seekTo(0)
- tapSound.play()
- } else{
- tapSound2.seekTo(0)
- tapSound2.play();
- }
- }
- else if(sound =="achievement"){
- achievementSound.play()
- }
- else if(sound == "error"){
- errorSound.play()
- }
- else if(sound == "purchase"){
- purchaseSound.play()
- }
- }
- }
- catch(e){}
- }
- // High scores
- /*function goToHighscores(){
- //alert(2)
- facebookConnectPlugin.login(["user_friends"], function(obj){
- //alert("Worked1")
- // localStorage["link"] = "https://graph.facebook.com/oauth/access_token_info?client_id=APPID&access_token="+obj["authResponse"]["accessToken"]
- //alert(localStorage["link"])
- //document.getElementById('soundButton').innerHTML=obj["authResponse"]["accessToken"]
- },
- function(str){
- //alert("Didn't work")
- //alert(str)
- //navigator.notification.alert("Facebook access is needed to get highscores.", function(){}, "Could not open highscores")
- })
- }*/
- function shareScore(event){
- event.stopPropagation();
- facebookConnectPlugin.showDialog({
- method: "share",
- href: "https://play.google.com/store/apps/details?id=com.clicky.clicky",
- caption: langStrs[lang]["shareTitle"],
- description: langStrs[lang]["shareDescription1"]+score+langStrs[lang]["shareDescription2"],
- quote: langStrs[lang]["shareDescription1"]+score+langStrs[lang]["shareDescription2"],
- share_feedWeb: true, // iOS only
- }, function(){}, function(){})
- }
- // Video reward countdown
- var videoTimeLeft = 60
- function videoRewardCountdown(){
- videoTimeLeft--
- if(videoTimeLeft>0){
- document.getElementById('videoCountdown').innerHTML = "(" + videoTimeLeft + "s)"
- setTimeout(videoRewardCountdown, 1000)
- document.getElementById('freelife').className="storeButton disabled"
- }
- else{
- document.getElementById('videoCountdown').innerHTML = ""
- document.getElementById('freelife').className="storeButton"
- }
- }
- // Credits
- function openCredits(){
- document.body.className = "credits"
- }
- function closeCredits(){
- document.body.className = "settings"
- }
|