@@ -19,40 +19,43 @@ public class Book
1919 Page lastPage
2020
2121 construct(int pageSize)
22- pages = new HashMap<int, Page>
23- maxItemsPerPage = pageSize
24- numberOfPages = 0
25- firstPage = null
26- lastPage = null
27- new Page(this)
22+ this.pages = new HashMap<int, Page>
23+ this.maxItemsPerPage = pageSize
24+ this.numberOfPages = 0
25+ this.firstPage = null
26+ this.lastPage = null
2827
2928 ondestroy
3029 destroy pages
3130
3231 function addPage(Page page)
33- numberOfPages++
34- page.number = numberOfPages
35- pages.put(numberOfPages, page)
36- firstPage = pages.get(1)
37- lastPage = pages.get(numberOfPages)
32+ this. numberOfPages++
33+ page.number = this. numberOfPages
34+ this. pages.put(this. numberOfPages, page)
35+ this. firstPage = this. pages.get(1)
36+ this. lastPage = this. pages.get(this. numberOfPages)
3837
3938 /** this will not automatically refactor the list to remove blank spaces. Only remove last pages.*/
4039 function removePage(Page page)
41- pages.remove(page.number)
42- numberOfPages--
43- lastPage = pages.get(numberOfPages)
40+ this.pages.remove(page.number)
41+ this.numberOfPages--
42+ if this.numberOfPages < 1
43+ this.firstPage = null
44+ this.lastPage = null
45+ else
46+ this.lastPage = this.pages.get(this.numberOfPages)
4447
4548 function getPage(int pageNumber) returns Page
46- return pages.get(pageNumber)
49+ return this. pages.get(pageNumber)
4750
48- function addUnitUI(UnitUI ui )
49- lastPage.addItem(ui )
51+ function addPassenger(Passenger passenger )
52+ this. lastPage.addItem(passenger )
5053
51- function removeUnitUI(UnitUI ui ) returns int
52- return ui .page.removeItem(ui )
54+ function removePassenger(Passenger passenger ) returns int
55+ return passenger .page.removeItem(passenger )
5356
5457 function isEmpty() returns bool
55- if pages.get(1) == null
58+ if this. pages.get(1) == null
5659 return true
5760 return false
5861
@@ -61,52 +64,52 @@ public class Page
6164 int number
6265 int maxSize
6366 Book book
64- LinkedList<UnitUI > items
67+ LinkedList<Passenger > items
6568
6669 construct(Book whichBook)
67- items = new LinkedList<UnitUI >
68- number = 0
69- maxSize = whichBook.maxItemsPerPage
70- book = whichBook
70+ this. items = new LinkedList<Passenger >
71+ this. number = 0
72+ this. maxSize = whichBook.maxItemsPerPage
73+ this. book = whichBook
7174 whichBook.addPage(this)
7275
7376 ondestroy
74- destroy items
77+ destroy this. items
7578
7679 /** if this current Page has reached its limit, a new page with a page number + 1 will be created, added to the same book, and returned.*/
77- function addItem(UnitUI ui ) returns thistype
78- if items.size() < maxSize
79- items.push(ui )
80- ui .page = this
80+ function addItem(Passenger passenger ) returns thistype
81+ if this. items.size() < this. maxSize
82+ this. items.push(passenger )
83+ passenger .page = this
8184 else
82- let newPage = new Page(book)
83- newPage.items.push(ui )
84- ui .page = newPage
85+ let newPage = new Page(this. book)
86+ newPage.items.push(passenger )
87+ passenger .page = newPage
8588 return newPage
8689 return this
8790
88- static function getNumFromItem(UnitUI ui ) returns int
89- return ui .page.number
91+ static function getNumFromItem(Passenger passenger ) returns int
92+ return passenger .page.number
9093
9194 /** removes a frame from a Page and returns the number of that Page or the one before it if the Page becomes empty from that action. */
92- function removeItem(UnitUI ui ) returns int
93- items.remove(ui )
94- ui .page = null
95- if items.isEmpty()
96- let num = number - 1
97- book.removePage(this)
95+ function removeItem(Passenger passenger ) returns int
96+ this. items.remove(passenger )
97+ passenger .page = null
98+ if this. items.isEmpty()
99+ let num = this. number - 1
100+ this. book.removePage(this)
98101 destroy this
99102 return num
100103 else
101- for pgNum = number to book.numberOfPages
102- let currentPage = book.pages.get(pgNum)
103- let nextPage = book.pages.get(pgNum + 1)
104+ for pgNum = this. number to this. book.numberOfPages
105+ let currentPage = this. book.pages.get(pgNum)
106+ let nextPage = this. book.pages.get(pgNum + 1)
104107 if nextPage != null
105108 while currentPage.items.size() < currentPage.maxSize and not nextPage.items.isEmpty()
106- let ico = nextPage.items.dequeue()
107- currentPage.items.push(ico )
108- ico .page = currentPage
109+ let pass = nextPage.items.dequeue()
110+ currentPage.items.push(pass )
111+ pass .page = currentPage
109112 if nextPage.items.isEmpty()
110113 nextPage.book.removePage(nextPage)
111114 destroy nextPage
112- return number
115+ return this. number
0 commit comments