我正在尝试让角色随机随机移动并弹跳墙壁。从理论上讲,我所拥有的代码应该可以工作,但是角色却没有动。我没有任何错误,并试图找到一个问题,但是很简短。
我解决了一些声明和一些比较的问题,但是我还没有找到另一个阻止该代码运行的问题。我正在48x84的LCD屏幕上运行它。
主要功能不确切,但当前运行方式的顺序相同
int t_xy[27][2] = { {0,0}, {4,0}, {0,1}, {1,1}, {3,1}, {4,1}, {0,2}, {1,2}, {2,2}, {3,2}, {4,2}, {0,3}, {2,3}, {4,3}, {0,4}, {1,4}, {3,4}, {4,4}, {0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {1,6}, {2,6}, {3,6} }; //27 pixels in bitmap
//Tom's positon
double t_x = LCD_X - 5, t_y = LCD_Y - 9, t_dx, t_dy;
void t_setup() {
double gait = 0.3;
double t_dir = rand() * 3.14 * 2 / RAND_MAX; // random direction
t_dx = gait * cos(t_dir);
t_dy = gait * sin(t_dir);
}
void t_move() {
int new_x = round(t_x + t_dx);
int new_y = round(t_y + t_dy);
int bounced = 0;
if (new_x == 0 || new_x == LCD_X - 5) {
t_dx = -t_dx;
bounced = 1;
}
if (new_y == 8 || new_y == LCD_Y - 7) {
t_dy = -t_dy;
bounced = 1;
}
if (!(bounced == 1)) {
t_x += t_dx;
t_y += t_dy;
}
void main()
t_setup();
while (!(game_over == 1))
{
t_move();
}
}
我希望汤姆能够自动移动并跳出屏幕边界并向随机方向移动,但是目前汤姆根本不移动,但是没有出现错误,并且其他所有游戏元素都可以正常工作