boolean chance(int percent){
return randint(100)<=percent;
}
private Book newBook(){
Book book = new Book();
book.setPublisher(publishers[randint(publishers.length)]);
int pages = randint(200)+200;
book.setPages(pages);
int start = 1;
boolean excluded = false;
while(start < pages){
int end = randint(20)+20+start; // Chapters are 20 to 40 pages
if(pages-end < 10 || end >= pages) end = pages; // Okay, we fit in the last chapter
Chapter c = new Chapter(); // Set up the chapter
c.setBegin_page(start);
c.setEnd_page(end);
book.getChapters().add(c); // Add the chapter, and
start = end+1; // set the start of the next chapter
if(excluded){ // We exclude the ending chapters randomly.
book.getExcluded_chapters().add(c);
}else{
excluded = randint(100)>70; // Once we start excluding, we exclude the rest.
}
}
if(flip()||flip()){ // Half the books get a day limit.
book.setDay_limit((randint(5)+1)*30); // Limit to 30, 60, 90, 120, or 180 days.
}else{
book.setDay_limit(0);
}
return book;
}