我正在制作一款游戏,希望达到该分数的玩家能够升级。我创建了一个工作函数来实现这一目标,但是如果我想运行它,我必须输入
functname();
这会变得很烦人,我可能会忘记将它放在某个地方。有没有一种方法可以键入1或2行代码,并且此函数中的代码将始终运行。
答案 0 :(得分:1)
改善此功能的一种方法是利用模运算符-这只是除法语句的结果。
因此,您所有的if
语句都在检查1000的倍数-score
的除以1000的余数之一将为零。
在我熟悉的大多数语言中,模数是使用百分号来完成的:%
所以这个功能可能是:
void scoretolevel(){
/* If we're not level 10 yet, and the score is a multiple of 1000 */
if(level < 10 && (score % 1000) == 0) {
/* the level is the score / 1000 */
level = (int)score / 1000;
/* show a different message if we're level 10 */
if(level == 10) {
printf("Congratulations you are now at level 10, This is the max level. Well Done!");
else {
printf("Congratulations, you are now at level %d", level);
}
}
}