我有一個問題遊戲,我問用戶一些問題,並取決於用戶的正確答案有多快,用戶的級別是多少,我希望用戶獲得不同數量的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