var boxSize = 40;
var playerSize =30;
var mineTime=0;
var slot1={id:1,size:20,contents:"stick"};
var slot2={id:1,size:20,contents:"mushroom"};
var slot3={id:1,size:20,contents:"pickaxe"};
var slot4={id:1,size:20};
var slot5={id:1,size:20};
var slot6={id:1,size:20};
var slot7={id:1,size:20};
var slot8={id:1,size:20};
var slot9={id:1,size:20};
setColour("blue");
var slots=[slot1,slot2,slot3,slot4,slot5,slot6,slot7,slot8,slot9];
var activeSlot=0;
var map=[6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,5,5,5,5,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,5,5,5,5,5,5,0,0,0,1,0,0,0,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,2,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,3,4,3,2,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,3,3,4,4,4,2,2,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,0,0,0,2,2,2,3,3,4,4,4,4,4,3,4,4,4,2,2,2,2,3,3.2],
[0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,2,3,3,4,4,0,0,0,2,2,2,3,3,4,4,4,4,3,3,3],
[0,0,0,0,0,0,0,0,0,0,2,3,2,0,0,0,0,2,2,2,4,4,3,3,3,2,2,2,2,3,3,3,4,4,3,3,3],
[0,0,0,0,0,0,2,0,0,2,3,4,4,0,2,2,2,2,2,3,4,3,4,4,4,4,3,3,4,3,4,4,4,3,4,4,4],
[0,0,0,2,0,2,4,2,2,4,4,4,0,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,2,3,2,3,3,3,3,4,3,3,0,3,3,0,0,0,3,0,3,3,3,0,0,3,3,0,0,3,3,0,3,3,0,0,4],
[2,2,4,3,3,0,4,3,3,3,0,0,0,0,0,0,4,3,4,3,3,4,0,0,4,4,0,0,4,0,0,0,0,4,0,4,3],
[3,3,4,3,3,0,0,0,3,0,0,3,3,4,0,0,0,0,0,0,0,0,4,0,0,0,0,0,3,0,3,3,3,3,0,0,4],
[3,3,3,3,4,0,0,0,0,0,3,3,4,4,3,3,4,4,4,4,4,0,4,0,4,3,3,0,0,0,3,4,3,4,3,0,4],
[3,3,3,3,3,0,0,4,3,3,3,4,3,4,4,3,3,4,4,4,3,0,0,0,0,0,3,0,0,0,0,0,0,4,0,0,3],
[3,3,3,3,3,0,3,3,3,3,3,4,4,0,0,0,0,0,0,0,0,0,4,4,3,0,4,3,3,3,4,4,0,4,0,4,3],
[3,3,3,3,0,0,3,3,3,3,3,3,4,0,4,4,3,3,3,3,4,0,4,0,0,0,0,0,0,3,0,0,0,4,0,0,3],
[3,3,3,3,0,4,3,4,3,3,3,3,3,0,0,0,0,0,4,3,0,0,3,0,3,3,4,4,0,3,0,4,3,4,3,0,3],
[0,0,0,0,0,0,0,0,0,0,4,4,0,3,3,4,0,4,4,0,0,3,3,0,0,0,0,0,0,3,0,0,6,4,0,0,3],
[0,0,0,0,3,0,4,4,3,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,3,3,4,0,3,0,0,0,0,0,0,3,4],
[4,4,3,3,4,6,6,6,6,4,7,3,3,4,3,3,3,4,4,4,3,4,3,3,3,3,4,3,3,3,3,3,3,4,4,3,3],
];
var player={x:320,y:40,colour:"black",dy:3,health:10,mineRate:0.5,damage:0.5};
var Goth={x:320,y:30,colour:"#bada55",dy:3,health:100,damage:30};
function interact() {
var mer=false;
if(keyIsDown(133)){
mer=true;
}
print(mer);
}
var blockColours=[0,"blue","#006f00","#4f1011","#444444","white","orange"];
function movePlayer() {
var lasty=player.y;
var lastx=player.x;
player.y+=player.dy;
player.dy+=0.15;
if (keyIsDown(37)){
player.x-=2;
}
if (keyIsDown(39)){
player.x+=2;
}
var left = {};
left.y=player.y;
left.x=player.x-playerSize/2;
var blockAtLeft=blockPos(left);
if (map[blockAtLeft.y][blockAtLeft.x] !==0) {
print("Oi!");
player.x=lastx;
}
var right = {};
right.y=player.y;
right.x=player.x+playerSize/2;
var blockAtRight=blockPos(right);
if (map[blockAtRight.y][blockAtRight.x] !==0) {
print("Oi!");
player.x=lastx;
}
var head = {};
head.y=player.y-playerSize/2;
head.x=player.x;
var blockAtHead=blockPos(head);
if (map[blockAtHead.y][blockAtHead.x] !==0) {
print("Oi!");
player.y=lasty;
player.dy=0;
}
var feet = {};
feet.y=player.y+playerSize/2;
feet.x=player.x;
var blockAtFeet=blockPos(feet);
if (map[blockAtFeet.y][blockAtFeet.x] !==0) {
print("Oi!");
player.y=lasty;
player.dy=0;
if (keyIsDown(38)){
player.dy=-5;
}
}
}
function showBox(x,y) {
fillRectangle(x*boxSize,y*boxSize,boxSize,boxSize);
}
function water(x,y) {
showBox(x,y);
}
function drawMap() {
for (var ty=0;ty<map.length;ty+=1){
for (var tx=0; tx<map[ty].length ;tx+=1) {
var blockNum=map[ty][tx];
if (blockNum!==0) {
setColour(blockColours[blockNum]);
showBox(tx,ty);
}else {
setColour(rgb(40,5,255-ty*15));
showBox(tx,ty);
}
}
}
}
water(10,10);
function blockPos(screenPos) {
var result = {};
result.x=Math.floor(screenPos.x/boxSize);
result.y=Math.floor(screenPos.y/boxSize);
return result;
}
var handleft=player.x-23;
var handright=player.x+23;
function update() {
movePlayer();
}
function drawPlayer(){
setColour("red");
print(player.health+"Hp",player.x-10,player.y-20);
setColour(player.colour);
fillCircle(player.x,player.y,playerSize);
}
function drawBaddies(){
setColour(Goth.colour);
fillCircle(Goth.x,Goth.y,30)
}
function draw() {
clear();
var cameraX=Math.floor(320-player.x);
var cameraY=Math.floor(240-player.y);
canvasSave();
canvasTranslate(cameraX,cameraY);
drawMap();
setColour("black");
var m = getMousePosition();
print(player);
print(player.x/boxSize);
print(player.y/boxSize);
interact();
if (mineTime>10) {
blockNum=0;
print();
}
/*
var blocks=[
setColour("grey"),
showBox(1,6),
showBox(2,6),
setColour("green"),
showBox(0,5),
setColour("brown"),
showBox(2,4.5),
showBox(1,5),
showBox(2,5.5),
showBox(3,5.5),
showBox(4,5),
showBox(5,5.5),
setColour("green"),
showBox(2,3.5),
showBox(3,4.5),
showBox(1,4),
showBox(5,4.5),
showBox(6,3.7),
showBox(4,4),
showBox(7,4),
showBox(8,4.5),
showBox(4,4),
]
*/
drawPlayer();
drawBaddies();
canvasRestore();
setColour("lime");
for (var i=0;i<slots.length;i++){
var slot=slots[i];
var size=slot.size;
if (i===activeSlot) size+=5;
setColour("lime")
drawRectangle(i*30,0, size, size);
if (slot.contents==="stick") {
setColour("brown")
drawLine(i*30,0,i*30+25,25)
}
if (slot.contents==="mushroom") {
setColour("grey")
var tx=i*30+size/2;
var ty=size/2;
fillCircle(tx-3,ty-3,11)
fillCircle(tx+3,ty-3,11)
fillRectangle(tx-3,ty-3,6,12)
}
if (slot.contents==="pickaxe") {
setColour("lightgrey");
fillRectangle(i*30+2,ty-5,13,5)
fillRectangle(i*30+6,ty-3,6,10)
}
}
for (var key=49;key<58;key+=1) {
if(keyIsDown(key)){
activeSlot=key-49;
}
}
}
run(update,draw); (sorry about all the numbers and words.:D)
No comments:
Post a Comment