我有一个问题游戏,我问用户一些问题,并取决于用户的正确答案有多快,用户的级别是多少,我希望用户获得不同数量的xp /进度为我拥有的进度视图。Objective-c为iPhone游戏制作关卡
所以我有一个叫'levelInt'的全局变量,它保存用户所处的级别(最大级别是20)的值。我也有一个打印'levelInt'变量的标签和一个进度视图,显示您进入更高级别/显示当前级别进度的进度。我也有一个计时器,从2分钟倒计时,取决于你回答这个问题的速度有多快,你可以在进度视图中获得更多的进度。我把它像这样:
totalSeconds是定时器
levelInt的是,保持用户在
progressView水平的值的全局变量的进度条显示剩余XP直到下一级
,代码:
if (levelInt == 0 && totalSeconds > 100){
progressView.progress = .60;
}else if (levelInt == 0 && totalSeconds <= 100){
progressView.progress = .40;
}else if (levelInt == 0 && totalSeconds > 80){
progressView.progress = .20;
}else if (levelInt == 0 && totalSeconds <= 80) {
progressView.progress = .10;
}else {
progressView.progress = .05;
}
if (levelInt == 1 && totalSeconds > 100){
progressView.progress = .55;
}else if (levelInt == 1 && totalSeconds <= 100){
progressView.progress = .35;
}else if (levelInt == 1 && totalSeconds > 80){
progressView.progress = .15;
}else if (levelInt == 1 && totalSeconds <= 80) {
progressView.progress = .05;
}else {
progressView.progress = .02;
}
if (levelInt == 2 && totalSeconds > 100){
progressView.progress = .50;
}else if (levelInt == 2 && totalSeconds <= 100){
progressView.progress = .30;
}else if (levelInt == 2 && totalSeconds > 80){
progressView.progress = .10;
}else if (levelInt == 2 && totalSeconds <= 80) {
progressView.progress = .05;
}else {
progressView.progress = .02;
}
if (levelInt == 3 && totalSeconds > 100){
progressView.progress = .45;
}else if (levelInt == 3 && totalSeconds <= 100){
progressView.progress = .25;
}else if (levelInt == 3 && totalSeconds > 80){
progressView.progress = .05;
}else if (levelInt == 3 && totalSeconds <= 80) {
progressView.progress = .03;
}else {
progressView.progress = .02;
}
if (levelInt == 4 && totalSeconds > 100){
progressView.progress = .40;
}else if (levelInt == 4 && totalSeconds <= 100){
progressView.progress = .20;
}else if (levelInt == 4 && totalSeconds > 80){
progressView.progress = .05;
}else if (levelInt == 4 && totalSeconds <= 80) {
progressView.progress = .03;
}else {
progressView.progress = .02;
}
if (levelInt == 5 && totalSeconds > 100){
progressView.progress = .35;
}else if (levelInt == 5 && totalSeconds <= 100){
progressView.progress = .15;
}else if (levelInt == 5 && totalSeconds > 80){
progressView.progress = .05;
}else if (levelInt == 5 && totalSeconds <= 80) {
progressView.progress = .03;
}else {
progressView.progress = .02;
}
if (levelInt == 6 && totalSeconds > 100){
progressView.progress = .30;
}else if (levelInt == 6 && totalSeconds <= 100){
progressView.progress = .10;
}else if (levelInt == 6 && totalSeconds > 80){
progressView.progress = .05;
}else if (levelInt == 6 && totalSeconds <= 80) {
progressView.progress = .03;
}else {
progressView.progress = .02;
}
if (levelInt == 7 && totalSeconds > 100){
progressView.progress = .28;
}else if (levelInt == 7 && totalSeconds <= 100){
progressView.progress = .08;
}else if (levelInt == 7 && totalSeconds > 80){
progressView.progress = .04;
}else if (levelInt == 7 && totalSeconds <= 80) {
progressView.progress = .03;
}else {
progressView.progress = .02;
}
if (levelInt == 8 && totalSeconds > 100){
progressView.progress = .26;
}else if (levelInt == 8 && totalSeconds <= 100){
progressView.progress = .07;
}else if (levelInt == 8 && totalSeconds > 80){
progressView.progress = .05;
}else if (levelInt == 8 && totalSeconds <= 80) {
progressView.progress = .03;
}else {
progressView.progress = .02;
}
if (levelInt == 9 && totalSeconds > 100){
progressView.progress = .24;
}else if (levelInt == 9 && totalSeconds <= 100){
progressView.progress = .05;
}else if (levelInt == 9 && totalSeconds > 80){
progressView.progress = .03;
}else if (levelInt == 9 && totalSeconds <= 80) {
progressView.progress = .02;
}else {
progressView.progress = .02;
}
if (levelInt == 10 && totalSeconds > 100){
progressView.progress = .22;
}else if (levelInt == 10 && totalSeconds <= 100){
progressView.progress = .04;
}else if (levelInt == 10 && totalSeconds > 80){
progressView.progress = .03;
}else if (levelInt == 10 && totalSeconds <= 80) {
progressView.progress = .02;
}else {
progressView.progress = .02;
}
if (levelInt == 11 && totalSeconds > 100){
progressView.progress = .20;
}else if (levelInt == 11 && totalSeconds <= 100){
progressView.progress = .04;
}else if (levelInt == 11 && totalSeconds > 80){
progressView.progress = .03;
}else if (levelInt == 11 && totalSeconds <= 80) {
progressView.progress = .03;
}else {
progressView.progress = .02;
}
if (levelInt == 12 && totalSeconds > 100){
progressView.progress = .18;
}else if (levelInt == 12 && totalSeconds <= 100){
progressView.progress = .04;
}else if (levelInt == 12 && totalSeconds > 80){
progressView.progress = .03;
}else if (levelInt == 12 && totalSeconds <= 80) {
progressView.progress = .03;
}else {
progressView.progress = .02;
}
if (levelInt == 13 && totalSeconds > 100){
progressView.progress = .16;
}else if (levelInt == 13 && totalSeconds <= 100){
progressView.progress = .04;
}else if (levelInt == 13 && totalSeconds > 80){
progressView.progress = .03;
}else if (levelInt == 13 && totalSeconds <= 80) {
progressView.progress = .03;
}else {
progressView.progress = .02;
}
if (levelInt == 14 && totalSeconds > 100){
progressView.progress = .14;
}else if (levelInt == 14 && totalSeconds <= 100){
progressView.progress = .04;
}else if (levelInt == 14 && totalSeconds > 80){
progressView.progress = .03;
}else if (levelInt == 14 && totalSeconds <= 80) {
progressView.progress = .03;
}else {
progressView.progress = .02;
}
if (levelInt == 15 && totalSeconds > 100){
progressView.progress = .12;
}else if (levelInt == 15 && totalSeconds <= 100){
progressView.progress = .03;
}else if (levelInt == 15 && totalSeconds > 80){
progressView.progress = .03;
}else if (levelInt == 15 && totalSeconds <= 80) {
progressView.progress = .03;
}else {
progressView.progress = .02;
}
if (levelInt == 16 && totalSeconds > 100){
progressView.progress = .10;
}else if (levelInt == 16 && totalSeconds <= 100){
progressView.progress = .03;
}else if (levelInt == 16 && totalSeconds > 80){
progressView.progress = .03;
}else if (levelInt == 16 && totalSeconds <= 80) {
progressView.progress = .03;
}else {
progressView.progress = .02;
}
if (levelInt == 17 && totalSeconds > 100){
progressView.progress = .08;
}else if (levelInt == 17 && totalSeconds <= 100){
progressView.progress = .02;
}else if (levelInt == 17 && totalSeconds > 80){
progressView.progress = .02;
}else if (levelInt == 17 && totalSeconds <= 80) {
progressView.progress = .02;
}else {
progressView.progress = .02;
}
if (levelInt == 18 && totalSeconds > 100){
progressView.progress = .06;
}else if (levelInt == 18 && totalSeconds <= 100){
progressView.progress = .02;
}else if (levelInt == 18 && totalSeconds > 80){
progressView.progress = .02;
}else if (levelInt == 18 && totalSeconds <= 80) {
progressView.progress = .02;
}else {
progressView.progress = .02;
}
if (levelInt == 19 && totalSeconds > 100){
progressView.progress = .04;
}else if (levelInt == 19 && totalSeconds <= 100){
progressView.progress = .02;
}else if (levelInt == 19 && totalSeconds > 80){
progressView.progress = .02;
}else if (levelInt == 19 && totalSeconds <= 80) {
progressView.progress = .02;
}else {
progressView.progress = .02;
}
if (levelInt ==20 && totalSeconds > 100){
progressView.progress = .04;
}else if (levelInt == 20 && totalSeconds <= 100){
progressView.progress = .02;
}else if (levelInt == 20 && totalSeconds > 80){
progressView.progress = .02;
}else if (levelInt == 20 && totalSeconds <= 80) {
progressView.progress = .02;
}else {
progressView.progress = .02;
}
的问题是,每当我答对快则20秒,在进步党他的观点只增加了约10。我应该做progressView.progress = progressView.progress +(金额)?
记住我是新来的Objective-C
感谢 - 菲利普WIEDER
奇怪,你的代码只能进入<=100 and > 100个案例,永远不会进入80'。 – divol 2012-07-21 16:31:48
这很奇怪,一定是出了问题,但是什么... – Wieder 2012-07-21 17:38:29