我是Javascript的新手,而且我正在上课,我们应该完成代码以使游戏正常工作。游戏是一辆卡车,它应该捕捉从天而降的猕猴桃。卡车只能左右移动。有一个计时器设置在两分钟,当时间到了,一个弹出窗口将显示收集了多少猕猴桃,并将计数重置为零。它还应表明按下按钮开始新游戏。我试图提前问这个问题,但我无法弄清楚我的格式错误。我使用图像代替。已经内置了函数/引用,例如图片中显示的函数/引用以及我需要完成的函数:
我的代码到目前为止:
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世界,所以如果有人能帮助我,那就太受欢迎了!
答案 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;
}