Open source projects

Get envovled

Complete one of our open source projects and recieve a Tenove Technologies developer certificate or even see your software be used in one of our programs.

  • Introduction
  • Design
  • Upload

Tenove Technologies 2017 Design Challenge.

The Tenove Technologies Design Challenge(TTDC) is a task to be completed by a skilled and creative developer and/or designer. The challenge must be completed before May 1st 2017and requires the participant to design a user interface for a mobile or web application.

Visit the design tab to learn more information about what we are looking for in your submitted design.

What we are looking for

When creating your design keep in mind of what we are looking for. We want innovative, unique, and inspiring work but don't let this stop you from attemping the challenge. All work will be accepted and reviewed the same way. We would love to see your designs just go to the upload page to submit.

The design must be a mobile or web application user interface. User Interface(UI) is how the user and a computer interact and your submitted design should be just that.

Challenge Submission

Upload your work through a email by clicking the upload button.



Flippy's Adventure full Java Script file

//variables
var gameCanvas = document.getElementById("canvas");
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
var ctx = gameCanvas.getContext("2d");
var logo = new Object("logo.png",0,0,0,0);
var platform = new Object("platform.png",0,canvas.height - 90,341,90);
var platform2 = new Object("platform.png",platform.X + 341,canvas.height - 90,341,90);
var platform3 = new Object("platform.png",platform2.X + 341,canvas.height - 90,341,90);
var platform4 = new Object("platform.png",platform3.X + 341,canvas.height - 90,341,90);
var platform5 = new Object("platform.png",platform4.X + 341,canvas.height - 90,341,90);
var platform6 = new Object("platform.png",platform5.X + 341,canvas.height - 90,341,90);
var player = new Object("player.png",50,platform.Y - 190,100,190);
var sign = new Object("sign.png",600,platform.Y - 115,82,115);
var alex1 = new Object("alex1.png",((Math.random() * 300) + 900),platform.Y - 54,34,54);
var alex2 = new Object("alex2.png",((Math.random() * 600) + 1200),platform.Y - 54,34,54);
var alex3 = new Object("alex3.png",((Math.random() * 900) + 1200),platform.Y - 54,34,54);
var flag = new Object("flag.png",3000,platform.Y - 90,59,90);
var flag2 = new Object("flag.png",6000,platform.Y - 90,59,90);
var flag3 = new Object("flag.png",12000,platform.Y - 90,59,90);
var squid1 = new Object("squid1.png",((Math.random() * 1080) + 0),-1000,100,110);
var squid2 = new Object("squid2.png",((Math.random() * 1000) + 0),-900,100,150);
var squid3 = new Object("squid3.png",((Math.random() * 1300) + 0),-1200,100,110);
var jofear = new Object("fear.png",12000,-200,100,110);
var pills = new Object("pill.png",((Math.random() * 600) + 1200),platform.Y - 63,30,63);
var pillnorm = new Object("normal.png",((Math.random() * 600) + 1200),platform.Y - 63,30,63);
var pill2 = new Object("pill2.png",((Math.random() * 600) + 1200),platform.Y - 43,60,43);
var losslives = 5;
var livetext = 0;
var score = 0;
//events
function keyDown(e){
if(String.fromCharCode(e.keyCode) == "%") player.X -= 9;
if(String.fromCharCode(e.keyCode) == "'") player.X += 9;
}
//MainLoop
MainLoop();
function MainLoop(){
//Rendering
ctx.clearRect(0,0,gameCanvas.width,gameCanvas.height);
//logo
ctx.drawImage(logo.Sprite,logo.X,logo.Y,logo.Width,logo.Height);
if(platform.X <= -55){
logo.Y = 1000;
}
//platform
ctx.drawImage(platform.Sprite,platform.X,platform.Y,platform.Width,platform.Height);
//platform2
ctx.drawImage(platform2.Sprite,platform2.X,platform2.Y,platform2.Width,platform2.Height);
//platform3
ctx.drawImage(platform3.Sprite,platform3.X,platform3.Y,platform3.Width,platform3.Height);
//platform4
ctx.drawImage(platform4.Sprite,platform4.X,platform4.Y,platform4.Width,platform4.Height);
//platform5
ctx.drawImage(platform5.Sprite,platform5.X,platform5.Y,platform5.Width,platform5.Height);
//platform
ctx.drawImage(platform6.Sprite,platform6.X,platform6.Y,platform6.Width,platform6.Height);
//jofear
ctx.drawImage(jofear.Sprite,jofear.X,jofear.Y,jofear.Width,jofear.Height);
jofear.Y += 1;
if(jofear.Y >= 20){
jofear.Y += 50;
}
if(jofear.Y >= 1000){
jofear.Y = -500;
}
//pills
ctx.drawImage(pills.Sprite,pills.X,pills.Y,pills.Width,pills.Height);
pills.X -= .5;
if(player.X < pills.X + pills.Width && player.X + player.Width > pills.X && player.Y < pills.Y + pills.Height && player.Height + player.Y > pills.Y){
pills.X = ((Math.random() * 700) + canvas.width);
pills.Y = platform.Y - 63;
player.Height = 500;
player.Width = 120;
player.Y = platform.Y - 500;
}
//pill2
ctx.drawImage(pill2.Sprite,pill2.X,pill2.Y,pill2.Width,pill2.Height);
pill2.X -= .5;
if(player.X < pill2.X + pill2.Width && player.X + player.Width > pill2.X && player.Y < pill2.Y + pill2.Height && player.Height + player.Y > pill2.Y){
pill2.X = ((Math.random() * 1000) + canvas.width);
pill2.Y = platform.Y - 43;
player.Height = 80;
player.Width = 200;
player.Y = platform.Y - 80;
}
//pillnorm
ctx.drawImage(pillnorm.Sprite,pillnorm.X,pillnorm.Y,pillnorm.Width,pillnorm.Height);
pillnorm.X -= .5;
if(player.X < pillnorm.X + pillnorm.Width && player.X + player.Width > pillnorm.X && player.Y < pillnorm.Y + pillnorm.Height && player.Height + player.Y > pillnorm.Y){
pillnorm.X = ((Math.random() * 900) + canvas.width);
pillnorm.Y = platform.Y - 63;
player.Height = 190;
player.Width = 100;
player.Y = platform.Y - 190;
}
//squid1
ctx.drawImage(squid1.Sprite,squid1.X,squid1.Y,squid1.Width,squid1.Height);
squid1.Y += 3;
if(squid1.Y >= 1500){
squid1.Y = -900;
squid1.X = ((Math.random() * 0) + canvas.width);
}
if(player.X < squid1.X + squid1.Width && player.X + player.Width > squid1.X && player.Y < squid1.Y + squid1.Height && player.Height + player.Y > squid1.Y){
squid1.X = ((Math.random() * 0) + canvas.width);
squid1.Y = -900;
losslives += -1;
}
//squid2
ctx.drawImage(squid2.Sprite,squid2.X,squid2.Y,squid2.Width,squid2.Height);
squid2.Y += 4;
if(squid2.Y >= 1000){
squid2.Y = -1000;
squid2.X = ((Math.random() * 0) + canvas.width);
}
if(player.X < squid2.X + squid2.Width && player.X + player.Width > squid2.X && player.Y < squid2.Y + squid2.Height && player.Height + player.Y > squid2.Y){
squid2.X = ((Math.random() * 1260) + 0);
squid2.Y = -1000;
losslives += -1;
}
//squid3
ctx.drawImage(squid3.Sprite,squid3.X,squid3.Y,squid3.Width,squid3.Height);
squid3.Y += 15;
if(squid3.Y >= 2000){
squid3.Y = -1200;
squid3.X = ((Math.random() * 1510) +  0);
}
if(player.X < squid3.X + squid3.Width && player.X + player.Width > squid3.X && player.Y < squid3.Y + squid3.Height && player.Height + player.Y > squid3.Y){
squid3.X = ((Math.random() * 1000) +  0);
squid3.Y = -1200;
losslives += -1;
}
//limit lives
if(losslives <= 0){
ctx.font="55px '8BITWONDERNominal'";
ctx.fillStyle="#8e44ad";
ctx.fillText("GAME OVER",canvas.width/2 -240,canvas.height/2);
player.Y = 2000;
player.X = 2000;
squid3.Y = 5000;
squid3.X = 5000;
}
//sign
ctx.drawImage(sign.Sprite,sign.X,sign.Y,sign.Width,sign.Height);
//flag
ctx.drawImage(flag.Sprite,flag.X,flag.Y,flag.Width,flag.Height);
flag.X -= .5;
if(player.X < flag.X + flag.Width && player.X + player.Width > flag.X && player.Y < flag.Y + flag.Height && player.Height + player.Y > flag.Y){
ctx.font="55px '8BITWONDERNominal'";
ctx.fillStyle="orange";
ctx.fillText("CHECK POINT!!!",canvas.width/2 -240,canvas.height/2);
platform.X -= 1;
platform2.X -= 1;
platform3.X -= 1;
platform4.X -= 1;
platform5.X -= 1;
platform6.X -=1;
flag.X -= 1;
flag2.X -= 1;
flag3.X -= 1;
alex1.X -= 1;
alex2.X -= 1;
alex3.X -= 1;
pills.X -= 1;
}
//flag2
ctx.drawImage(flag2.Sprite,flag2.X,flag2.Y,flag2.Width,flag2.Height);
flag2.X -= .5;
if(player.X < flag2.X + flag2.Width && player.X + player.Width > flag2.X && player.Y < flag2.Y + flag2.Height && player.Height + player.Y > flag2.Y){
ctx.font="55px '8BITWONDERNominal'";
ctx.fillStyle="orange";
ctx.fillText("CHECK POINT!!!",180,350);
platform.X -= 1;
platform2.X -= 1;
platform3.X -= 1;
platform4.X -= 1;
platform5.X -= 1;
platform6.X -=1;
flag.X -= 1;
flag2.X -= 1;
flag3.X -= 1;
alex1.X -= 1;
alex2.X -= 1;
alex3.X -= 1;
pills.X -= 1;
}
//flag3
ctx.drawImage(flag3.Sprite,flag3.X,flag3.Y,flag3.Width,flag3.Height);
flag3.X -= .5;
if(player.X < flag3.X + flag3.Width && player.X + player.Width > flag3.X && player.Y < flag3.Y + flag3.Height && player.Height + player.Y > flag3.Y){
ctx.font="55px '8BITWONDERNominal'";
ctx.fillStyle="orange";
ctx.fillText("CHECK POINT!!!",180,350);
platform.X -= 1;
platform2.X -= 1;
platform3.X -= 1;
platform4.X -= 1;
platform5.X -= 1;
platform6.X -=1;
flag.X -= 1;
flag2.X -= 1;
flag3.X -= 1;
alex1.X -= 1;
alex2.X -= 1;
alex3.X -= 1;
pills.X -= 1;
}
//alex1
ctx.drawImage(alex1.Sprite,alex1.X,alex1.Y,alex1.Width,alex1.Height);
alex1.X -= .5;
//alex2
ctx.drawImage(alex2.Sprite,alex2.X,alex2.Y,alex2.Width,alex2.Height);
alex2.X -= .5;
//alex3
ctx.drawImage(alex3.Sprite,alex3.X,alex3.Y,alex3.Width,alex3.Height);
alex3.X -= .5;
//score
ctx.font="30px '8BITWONDERNominal'";
ctx.fillStyle="white";
ctx.fillText(score,canvas.width - 50,40);
//losslives
ctx.font="30px '8BITWONDERNominal'";
ctx.fillStyle="orange";
ctx.fillText( losslives,170,40);
//livestext
ctx.font="30px '8BITWONDERNominal'";
ctx.fillStyle="orange";
ctx.fillText("LIVES",20,40);
ctx.fillText("/ 5",210,40);
//alex1 move
if(player.X < alex1.X + alex1.Width && player.X + player.Width > alex1.X && player.Y < alex1.Y + alex1.Height && player.Height + player.Y > alex1.Y){
    console.log("Hit");
    score += 1;
    alex1.X = ((Math.random() * 500) + canvas.width);
}
//alex2 move
if(player.X < alex2.X + alex2.Width && player.X + player.Width > alex2.X && player.Y < alex2.Y + alex2.Height && player.Height + player.Y > alex2.Y){
    console.log("Hit");
    score += 1;
    alex2.X = ((Math.random() * 500) + canvas.width);
}
//alex3 move
if(player.X < alex3.X + alex3.Width && player.X + player.Width > alex3.X && player.Y < alex3.Y + alex3.Height && player.Height + player.Y > alex3.Y){
    console.log("Hit");
    score += 1;
    alex3.X = ((Math.random() * 500) + canvas.width);
}
//player
ctx.drawImage(player.Sprite,player.X,player.Y,player.Width,player.Height);
if(player.X > canvas.width - 100){
    console.log("out of bounds");
    player.X = canvas.width - 100;
    }
if(player.X < 0){
    console.log("out of bounds");
    player.X = 0;
}
//movement
platform.X -= .5;
platform2.X -= .5;
platform3.X -= .5;
platform4.X -= .5;
platform5.X -= .5;
platform6.X -= .5;
sign.X -= .5;
if(platform.X < -341){
    platform.X = platform6.X + 341;
}
if(platform2.X < -341){
    platform2.X = platform.X + 341;
}
if(platform3.X < -341){
    platform3.X = platform2.X + 341;
}
if(platform4.X < -341){
    platform4.X = platform3.X + 341;
}
if(platform5.X < -341){
    platform5.X = platform4.X + 341;
}
if(platform6.X < -341){
    platform6.X = platform5.X + 341;
}
//end
    setTimeout(MainLoop,1000/75);
}

function Object(img,x,y,width,height){
    this.Sprite = new Image();
    this.Sprite.src = img;
    this.X = x;
    this.Y = y;
    this.Width = width;
    this.Height = height;    
}

Upload your Flippy's Adventure compression file through a email by clicking the upload button.