Mam problem w C. Piszę sobie grę na PSP. Mam skrypt losowania terenu:
terrainy[i]=70;
randomize(0,20);
menu=-10+rando;
for(i=1; i<=60; i++) {
terrainy[i]=terrainy[i-1]+menu;
if(terrainy[i]<20) terrainy[i]=20;
if(terrainy[i]>200) terrainy[i]=200;
}
randomize(0,20);
menu=-10+rando;
for(i=61; i<=120; i++) {
terrainy[i]=terrainy[i-1]+menu;
if(terrainy[i]<20) terrainy[i]=20;
if(terrainy[i]>200) terrainy[i]=200;
}
randomize(0,20);
menu=-10+rando;
for(i=121; i<=180; i++) {
terrainy[i]=terrainy[i-1]+menu;
if(terrainy[i]<20) terrainy[i]=20;
if(terrainy[i]>200) terrainy[i]=200;
}
randomize(0,20);
menu=-10+rando;
for(i=181; i<=240; i++) {
terrainy[i]=terrainy[i-1]+menu;
if(terrainy[i]<20) terrainy[i]=20;
if(terrainy[i]>200) terrainy[i]=200;
}
randomize(0,20);
menu=-10+rando;
for(i=241; i<=300; i++) {
terrainy[i]=terrainy[i-1]+menu;
if(terrainy[i]<20) terrainy[i]=20;
if(terrainy[i]>200) terrainy[i]=200;
}
randomize(0,20);
menu=-10+rando;
for(i=301; i<=i+360; i++) {
terrainy[i]=terrainy[i-1]+menu;
if(terrainy[i]<20) terrainy[i]=20;
if(terrainy[i]>200) terrainy[i]=200;
}
randomize(0,20);
menu=-10+rando;
for(i=361; i<=420; i++) {
terrainy[i]=terrainy[i-1]+menu;
if(terrainy[i]<20) terrainy[i]=20;
if(terrainy[i]>200) terrainy[i]=200;
}
randomize(0,20);
menu=-10+rando;
for(i=421; i<=480; i++) {
terrainy[i]=terrainy[i-1]+menu;
if(terrainy[i]<20) terrainy[i]=20;
if(terrainy[i]>200) terrainy[i]=200;
}
randomize(0,20);
menu=-10+rando;
for(i=481; i<=540; i++) {
terrainy[i]=terrainy[i-1]+menu;
if(terrainy[i]<20) terrainy[i]=20;
if(terrainy[i]>200) terrainy[i]=200;
}
randomize(0,20);
menu=-10+rando;
for(i=541; i<=600; i++) {
terrainy[i]=terrainy[i-1]+menu;
if(terrainy[i]<20) terrainy[i]=20;
if(terrainy[i]>200) terrainy[i]=200;
}
randomize(0,20);
menu=-10+rando;
for(i=601; i<=660; i++) {
terrainy[i]=terrainy[i-1]+menu;
if(terrainy[i]<20) terrainy[i]=20;
if(terrainy[i]>200) terrainy[i]=200;
}
randomize(0,20);
menu=-10+rando;
for(i=661; i<=720; i++) {
terrainy[i]=terrainy[i-1]+menu;
if(terrainy[i]<20) terrainy[i]=20;
if(terrainy[i]>200) terrainy[i]=200;
}
Powinien on losować nieco kanciasty teren. Kiedy jednak przechodzę do jego wykonywania, gra się zawiesza. Wcześniej próbowałem za pomocą jednej pętli for zrobić, żeby gra co 60 i losowała integer menu, ale jednak ten integer był wciąż ten sam. Co zrobić, aby to poprawnie działało? Jest jakaś lepsza metoda losowania liczb w C?
Skrypt randomize(-,-) to:
int randomize(int minimal, int range) {
srand(time(NULL));
rando=rand() % range + minimal;
}
Czy ktoś może mi pomóc?