私は自分のCクラス用のゲームを作っています(実際には1つ作り直しています)。ランダムな価格を生成する機能があります。問題は、ゲーム全体でこの関数を60回呼び出す必要があり、関数が呼び出されるたびに番号を新しい番号に再生成する必要があることです。プログラムを終了せずにこれを行うことは可能ですか?もしそうなら、どのように?
これまで、関数のforループを作成しました。しかし、それは私が予想していたのと同じ関数を60回出力するだけです。
コードは次のとおりです。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int Prices(void)
{
//Random price generator
int Acid = rand() % 10+ 1;
int Coke = rand() % 150+ 101;
int Crack = rand() % 30 + 15;
int Ecstasy = rand() % 8 + 1;
int Herion = rand() % 100 + 46;
int Meth = rand() % 100 + 26;
int Opium = rand() % 65 + 31;
int Pills = rand() % 7 + 1;
int Shrooms = rand() % 30 + 16;
int Speed = rand() % 45 + 11;
int Weed = rand() % 20 + 21;
//Prints the above random prices to the main screen
printf("PRICE PER UNIT:\n\n");
printf("Acid: ""%i\n",Acid);
printf("Coke: ""%i\n",Coke);
printf("Crack: ""%i\n",Crack);
printf("Ecstasy: ""%i\n",Ecstasy);
printf("Herion: ""%i\n",Herion);
printf("Meth: ""%i\n",Meth);
printf("Opium ""%i\n",Opium);
printf("Pills: ""%i\n", Pills);
printf("Shrooms: ""%i\n", Shrooms);
printf("Speed: ""%i\n",Speed);
printf("Weed: ""%i\n",Weed);
printf("********************************************************************************\n");
return Acid && Coke && Crack && Ecstasy && Herion && Meth && Opium && Pills && Shrooms && Speed && Weed;
}
int main(void){
int Prices(void);
int i;
for(i=0; i<60; i++){
Prices();
}
}
さて、私はsrand関数を削除しましたが、それは機能しましたが、この関数がゲーム全体で定期的に60回だけ呼び出され、一度に呼び出されるように制限する方法も必要です。