Javascript游戏编码?

时间:2015-10-27 22:18:19

标签: javascript html

我是Javascript的新手,而且我正在上课,我们应该完成代码以使游戏正常工作。游戏是一辆卡车,它应该捕捉从天而降的猕猴桃。卡车只能左右移动。有一个计时器设置在两分钟,当时间到了,一个弹出窗口将显示收集了多少猕猴桃,并将计数重置为零。它还应表明按下按钮开始新游戏。我试图提前问这个问题,但我无法弄清楚我的格式错误。我使用图像代替。已经内置了函数/引用,例如图片中显示的函数/引用以及我需要完成的函数:Functions to finish Functions to finish(2) References References(2)

我的代码到目前为止:

kiwi_count = 0;
width = window.innerWidth;
height = window.innerHeight;
rate = console.log(kiwi_rate);

function render_frame(){
    if(is_down("right") == true){
        truck_move_right();
        truck_update_position();
    }
    else if(is_down("left") == true){
        truck_move_left();
        truck_update_position();
    }
    else if(is_down("b") == true){
        truck_brake();
        truck_update_position();
    }
    else{
        truck_coast();
        truck_update_position();
    }
    if(Math.random() * 10 <= rate){
        create_kiwi();
    }
}

function truck_move_right(){
    //code
}

function truck_move_left(){
    //code
}

function truck_coast(){
    //code
}

function truck_brake(){
    //code
}

function truck_update_position(){
    //code
}

function check_collision(kiwi){
    //code
}

function game_end(){
   //code
} 

正如你所看到的,我没有走得太远。我有点不知所措,特别是因为我以前从未涉足过Javascript世界,所以如果有人能帮助我,那就太受欢迎了!

1 个答案:

答案 0 :(得分:2)

我不会为你做所有的功课,但也许这会帮助你。请注意我遗漏了重要的内容 - 请参阅/* comments */

function truck_move_right() {
    var velocity = get_truck_velocity();
    velocity += 5; // increment by 5
    if (velocity > 100) // 100 would be maximum velocity
        velocity = 100;
    set_truck_velocity(velocity);
}
// similar for `truck_move_left`

function truck_coast() {
    var velocity = get_truck_velocity(),
        delta = 2; // slowdown speed
    if (velocity > delta)
        velocity -= delta;
    else if (velocity < -delta)
        velocity += delta;
    else
        velocity = 0;
    set_truck_velocity(velocity);
}
// similar for `truck_break`

function truck_update_position() {
    var old_position = get_truck_left(),
        velocity = get_truck_velocity();
    if (/* would touch edge */) {
        velocity = -Math.round(velocity / 2); // turn around, go slower
        /* update truck velocity */
    }
    set_truck_left(old_position + velocity);
}

function check_collision(kiwi) {
    var kx = get_kiwi_x(kiwi),
        ky = get_kiwi_y(kiwi),
        tx = get_truck_left();
    if (/* kx close enough to tx */ && /* ky big enough to be caught*/) {
        // collision
        delete_kiwi(kiwi);
        // add score
        // return true
    }
    // return false;
}