This repository has been archived by the owner on Jul 7, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathreadme.txt
543 lines (317 loc) · 39 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
### Group g2H, Project Title: AlgoZoo
### Group Name: Coming Soon...
## Project Description
A desktop game to teach children the basics of algorithm.
## Project Status
+ **Group/project Selection:** completed (14.02.2020)
+ **Requirements:** completed (08.03.2020)
+ **UI Design:** completed (30.03.2020)
+ **Detailed Design:** completed (13.05.2020)
+ **Implementation:** completed (22.05.2020)
+ **Reflections:** completed (28.05.2020)
#### Group Members
[Doğa Ece Ersoy 21902487]
[Esra Genç 21901962]
[Ayberk Yaşa 21801847]
[Kerem Erdal 21901596]
[Arda İçöz 21901443]
[Alp Tuğrul Ağçalı 21801799]
[Görkem Ayten 21802399]
### Instructor: David Davenport
### TA: Atakan Serbes
(Below information can all be found at "group" folder as .md files.)
Group log ########################################
### Meeting ~ (08.03.2020, 2 hours)
**Present:** Arda, Alp, Ayberk, Doğa, Esra, Görkem, Kerem
**Discussion:** We met to complete the requirements stage. We talked about main purposes of our project and discussed how would it be beneficial for the other people. We prepared the Requirements Report by distributing the whole work among ourselves. Ayberk and Kerem shared their ideas about the requirements of the world and demonstrated the purpose of our project while writing the introduction part of the report. Doğa, Görkem and Esra discussed about how would the game will be more interesting with adding some specific features, and meanwhile they wrote the features part of the Requirements Report. In addition, Alp and Arda thought about the logic of the game and wrote the part about how to play our game. At the end we, as the whole group, wrote to conclusion part of Requirements Stage and completed our report.
### Meeting ~ (28.03.2020, 3 hours)
**Present:** Arda, Alp, Ayberk, Doğa, Esra, Görkem, Kerem
**Discussion:** We met over Zoom to discussed about the design of the project, and we talked about the User Interface Stage. We shared our opinions about how to make this game more attractive, and gave a decision about its design. To be able to complete User Interface Report successfully, we distributed the whole work.
**ToDo:** Ayberk will create the designs of each mode until 29.03.2020 / Arda, Kerem and Görkem will explain site map, creative mode, the menus and write conclusion until 30.03.2020 / Doğa, Esra and Alp will explain general map, learn, challenge and test modes until 30.03.2020
### Meeting ~ (29.03.2020, 2 hours)
**Present:** Esra, Alp, Doğa
**Discussion:** We discussed about how to explain the functions of general map, learn mode, challenge mode and test mode for the User Interface Report. We shared our opinions about their design and functions. We tried to show the features of each mode separately and showed them in a detailed way. Esra wrote the learn and challenge modes, Doğa wrote the test mode and Alp wrote the general map.
### Meeting ~ (29.03.2020, 2 hours)
**Present:** Arda, Kerem, Görkem
**Discussion:** We discussed about how to explain the functions of site map, creative mode and the menus. We shared our opinions about how to make creative more engaging and so decided on how to explain its functions. We discussed all the aspects of its design to write an explanatory conclusion. We tried to show the features of each menus separately and showed them in a detailed way. Görkem wrote the part about welcome screen, Kerem wrote play screen and conclusion, Arda wrote the parts about site map and creative mode.
### Meeting ~ (26.04.2020, 2 hours)
**Present:** Arda, Alp, Ayberk, Doğa, Esra, Görkem, Kerem
**Discussion:** We discussed about how to design our project according to MVC, and talked about which classes are needed, and what sorts of methods are required.
**ToDo:** Esra and Doğa will write the classes, their parameters and methods to be discussed on 28.04.2020 / Ayberk, Kerem, Alp, Arda and Görkem will search about MVC patterns and share what they found, and if any other classes are required until 28.04.2020
### Meeting ~ (26.04.2020, 3 hours)
**Present:** Esra, Doğa
**Discussion:** We brainstormed ideas for MVC design of our project. We shared our opinions about which classes we need and how to connect model, view and controller classes to each other. We discussed about the properties and the methods of each class. We wrote our final ideas on a piece of paper.
### Meeting ~ (27.04.2020, 2 hours)
**Present:** Arda, Alp, Ayberk, Doğa, Esra, Görkem, Kerem
**Discussion:** We talked about the designs about which five of us thought, and Esra and Doğa wrote on paper. We discussed if any additions to classes or methods are required or not.
### Meeting ~ (28.04.2020, 2 hours)
**Present:** Arda, Alp, Ayberk, Doğa, Esra, Görkem, Kerem
**Discussion:** We though about which layout would be used for the panels and frames. We talked about the menus and the game mode related classes, and shared our ideas accordingly. We tried to find solutions to some minor errors in our minds.
**ToDo:** Ayberk will create the menus package until 01.05.2020
### Meeting ~ (30.04.2020, 3 hours)
**Present:** Arda, Alp, Ayberk, Doğa, Esra, Görkem, Kerem
**Discussion:** We discussed our thoughts about the game modes and shared our ideas about the requirements of modes. We distributed the modes among ourselves to make all groups create one game mode with all its SelectionController, GUI and model classes
**ToDo:** Ayberk and Görkem will deal with learn mode of the game/ Esra, Doğa and Alp will deal with challenge mode of the game/ Kerem and Arda will deal with test mode of the game
### Meeting ~ (01.05.2020, 3 hours)
**Present:** Esra, Alp, Doğa
**Discussion:** We created and updated AlgoZoo, AlgoZooModel, LearnModeModel, ChallengeModeModel and TestModeModel classes. We discussed about how to improve our MVC design.
### Meeting ~ (01.05.2020, 2 hours)
**Present:** Kerem, Arda
**Discussion:** We talked about how to create a selection controller for the test mode, and how its design would be more appealing. We created the TestModeSelectionController class with its appropriate properties, constructor, and methods.
### Meeting ~ (01.05.2020, 2 hours)
**Present:** Ayberk, Görkem
**Discussion:** Choosing the type of layout to be used in the project. Trials with different layouts. Furthermore, deciding how the project can be resizable using null layout. How to fix errors on the MenuScreen class was discussed.
**ToDo:** Ayberk will rearrange the design of project using null layout. / Görkem will thoroughly investigate what needs to be done for the game to work in all sizes.
### Meeting ~ (02.05.2020, 3 hours)
**Present:** Arda, Alp, Ayberk, Doğa, Esra, Görkem, Kerem
**Discussion:** We discussed whether we can make our game resizable or not, and shared our ideas accordingly. We talked about some resolution problems, and did some related research.
### Meeting ~ (02.05.2020, 2 hours)
**Present:** Esra, Alp, Doğa
**Discussion:** We talked about how to create controller classes for the game package, and how its design would be more appealing. We made some changes and additions to AlgoZooModel and AlgoZoo classes.
**ToDo:** Esra will create the TimerController class. / Doğa will create the SelectionController class. / Alp will create the PlayButtonController class and the play method in AlgoZooModel.
### Meeting ~ (02.05.2020, 2 hours)
**Present:** Kerem, Arda
**Discussion:** We talked about how to make the TestModeSelectionController class more efficient and decided to take some ArrayList parameters to make it reusable. We applied the changes we discussed and fixed some errors during the meeting.
### Meeting ~ (02.05.2020, 3 hours)
**Present:** Ayberk, Görkem
**Discussion:** Starting to work on MapView class. Necessary methods for game dynamics are written and tested. Some test are done for ensuring that the animal character slides forward. Moreover, we started working on Learn Mode.
### Meeting ~ (06.05.2020, 2 hours)
**Present:** Arda, Alp, Ayberk, Doğa, Esra, Görkem, Kerem
**Discussion:** We though about how to create the GUI classes of each mode to be displayed correctly in the panel, we share our ideas, and gave decisions about the interfaces. We discussed about the game features like map view and background. Moreover, we shared our ideas about how to make the selection controller classes more efficient and shared the work between ourselves.
**ToDo:** Ayberk will upload the icons for buttons and background until 07.05.2020 / Kerem and Arda will create TestModeGUI until 09.05.2020 / Alp, Doğa and Esra will create ChallengeModeGUI until 09.05.2020 / Ayberk and Görkem will create TestModeGUI until 09.05.2020
### Meeting ~ (07.05.2020, 3 hours)
**Present:** Ayberk, Görkem
**Discussion:** SelectionController class was edited for the game to work more effectively. CodeView class that shows player's movement on the screen was written. Solutions to the problems encountered in the coding process were discussed.
### Meeting ~ (08.05.2020, 2 hours)
**Present:** Kerem, Arda
**Discussion:** We talked about how to create the interface for the test mode, we decided the locations of each element, then wrote the TestModeGUI class with its required methods.
### Meeting ~ (08.05.2020, 3 hours)
**Present:** Esra, Alp, Doğa
**Discussion:** We fixed the bugs in TimerController class. We designed the basic structure of the challenge mode in the ChallengeModeGUI class and updated MenuScreen class to add ChallengeModeGUI class.
### Meeting ~ (09.05.2020, 2 hours)
**Present:** Ayberk, Görkem
**Discussion:** Discussed about how map design should be. Map features are determined such as dimension. Moreover, tiled selections to be used in map design are made. LearnModeGUI and LearnModeModel classes were written.
**ToDo:** Ayberk will rescale the determined images with Photoshop CC and make some corrections. / Görkem will start map designs using the corrections made by Ayberk.
### Meeting ~ (10.05.2020, 2 hours)
**Present:** Esra, Alp, Doğa
**Discussion:** We changed the ChallengeModeGUI class by removing the parameters from its constructor and fixed some minor bugs.
### Meeting ~ (11.05.2020, 2 hours)
**Present:** Kerem, Arda
**Discussion:** We talked about how to change the TestModeSelectionController class to display the appropriate images on the labels below the buttons. Also, we thought about how to create the interface of Test Mode.
**ToDo:** Kerem will change the TestModeSelectionController class to display appropriate images. / Arda will change the TestModeGUI to provide appropriate changes to be displayed in panel.
### Meeting ~ (12.05.2020, 2 hours)
**Present:** Ayberk, Görkem
**Discussion:** LearnLevels, LearnModeGUI and LearnModeModel classes were arranged for the development of the game. Some errors have been solved.
### Meeting ~ (12.05.2020, 1 hours)
**Present:** Esra, Doğa, Görkem
**Discussion:** How to create and use the levels of the game was discussed. Therefore, new methods have been written to solve this problem.
### Meeting ~ (13.05.2020, 2 hours)
**Present:** Kerem, Arda
**Discussion:** We talked about how to implement the new discussed ideas to the test model, decided on which methods and classes should be created, and wrote the appropriate classes.
**ToDo:** Kerem will create the TestLevels class, change the TestModeGUI. / Arda will change the TestModeSelectionController and MenuScreen classes accordingly.
### Meeting ~ (13.05.2020, 5 hours)
**Present:** Esra, Alp, Doğa
**Discussion:** We added and updated the ChallengeLevels class. We tried to create a more efficient code by forming a loop for adding each levelButton actionPerformed() methods in the MenuScreen class. Therefore, we created a LevelButton class by sub-classing JButton. We added a levelNo property to this class so that each levelButton will be special to the specific level. We created an algorithm for enabling level buttons only when the previous level completed successfully in the returnButtonActionPerformed() method.
### Meeting ~ (14.05.2020, 6 hours)
**Present:** Esra, Alp, Doğa
**Discussion:** We fixed the bugs in AlgoZoo class to prevent the changes in the location of the animal if the user tries to cross the border of the map. We talked about how to demonstrate the efficiency stars in the challenge mode and implemented the code. We created the animal selection part in the mode screen.
### Meeting ~ (16.05.2020, 10.5 hours)
**Present:** Ayberk, Görkem
**Discussion:** Visual improvements have been made to the map of the levels by using the TileMap. New levels added to 3 different modes separataly. The GUI design of the game has been updated. The levels in the modes have been adjusted to the level of difficulty. The causes of minor errors in the codes were discussed, identified, and fixed. New buttons were added to the option of the TestMode. The counter that appeared on the Challenge Mode Screen was designed. The image of the character is updated when the left button is pressed.
**ToDo:** Some minor improvements on game mechanics will be made. Problems encountered in mapview class will be fixed. Some design improvements will be made.
### Meeting ~ (17.05.2020, 2 hours)
**Present:** Esra, Alp, Doğa
**Discussion:** We added the necessary comments and javadoc comments to the classes in game and challenge packages. We fixed the bugs in TimerController class.
### Meeting ~ (17.05.2020, 6 hours)
**Present:** Ayberk, Görkem
**Discussion:** Map designs continued to be improved. The background of the modes has been updated. Visual improvements made on the game screen to provide a better gaming experience. In addition, new characters added to the game. Therefore, there are four different character in the game. In order to inform the players of the game for the first time, information screen explaining how the game is played has been added. To be useful, a new exit button was designed and integrated into the game.The errors detected in the previous meeting were fixed.
### Meeting ~ (18.05.2020, 4 hours)
**Present:** Kerem, Arda
**Discussion:** We discussed how to create an end game panel indicating the result. We implemented the major changes about the level and GUI classes. We changed the TestLevels and TestModeGUI classes in order to make it more effective. We examined how to add flowers to the TestModeSelectionController, and completed related changes in this class. We thought about the final patterns of the test mode levels and changed the level constructors in TestModeGUI class accordingly.
### Meeting ~ (18.05.2020, 5 hours)
**Present:** Esra, Alp, Doğa
**Discussion:** We added the for loop function to the SelectionController class and designed its JComboBox to make it more appealing. We added the endMessage() method to the MapView class to inform the users when they lose or pass the levels. We also added the retryButton to each mode for users to be able to restart the levels when they lose.
### Meeting ~ (18.05.2020, 8 hours)
**Present:** Ayberk, Görkem
**Discussion:** Minor changes to maps were made. Some researchs on this subject has been done and tried. However, we failed. Some bugs in the code have been fixed. Researchs on how to add sound to the buttons in the game was done. Button sizes were adjusted. The CodeView class has been rewritten according to the changes.
**ToDo:** Research about save-load will be done. Things to do to make the program run faster will be investigated. The detected errors will be corrected.
### Meeting ~ (19.05.2020, 3 hours)
**Present:** Kerem, Arda
**Discussion:** Some last changes about TestModeSelectionController class are thought and tried to adjust the locations of the direction icons in the middle of the options. We discussed this process and made some necessary changes accordingly.
Personal Logs ##########################################################
### Doğa Ece Ersoy:
### ~ 23.03.2020 - 29.03.2020 ~
This week I tried to find new ideas to improve our game and I read the feedbacks that other groups and TAs gave us again. Also, I watched videos about Netbeans to be able to use it more properly.
Then, Esra, Alp and I explained the details about the user interface of the learn mode, challenge mode, test mode and general map of the game for the User Interface Report.
### ~ 30.03.2020 - 05.04.2020 ~
This week I started to learn about NetBeans' Swing Tool which is necessary for the game's user interface.
I also started to brainstorm ideas for the detailed design of our project.
### ~ 13.04.2020 - 19.04.2020 ~
This week I created a Github account and joined our repository. Also, I learned how to use Github by watching the video.
### ~ 20.04.2020 - 26.04.2020 ~
This week I learned more about MVC by watching videos and reading the course book. Also, I thought about how we can implement MVC to our project.
### ~ 27.04.2020 - 03.05.2020 ~
This week I helped Esra brainstorm ideas for MVC design of our project. We did a three-hour zoom meeting.
Then, we added and updated game package, learn package and challenge package. We again did a three-hour zoom meeting.
Next day, Esra, Alp and I made some changes and additions to TimerController, LearnModeModel and ChallengeModeModel classes. We did a two-hour zoom meeting.
I created and updated the SelectionController class for learn and challenge modes.
Esra, Alp and I made some changes to the AlgoZooModel and AlgoZoo classes. We did a one-hour zoom meeting.
### ~ 04.05.2020 - 10.05.2020 ~
This week I created and updated ChallengeModeGUI class.
Then, Esra, Alp and I made some additions and changes to it because we decided to remove the parameters of the constructor in order to add it to the design of the MenuScreen. We did a two-hour zoom meeting. We designed the basic structure of the challenge mode and updated MenuScreen class to add ChallengeModeGUI.
Esra and I tried to find an efficient way to add ActionListeners to every button in LevelsGUI classes. We decided to form for loops as a solution. We also improved returnButtonActionPerformed method.
### ~ 11.05.2020 - 17.05.2020 ~
This week Esra, Alp and I completed the System Overview and Core Design Details parts of the Detailed Design Report.
Then, we fixed some minor bugs in TimerController, SelectionController and each modes' GUI classes.
I changed the movement methods to prevent the changes in the location of the animal if the user tries to cross the border of the map.
Esra, Alp and I implemented the code for the efficiency stars in the challenge mode and created the animal selection part in the mode screen.
### ~ 18.05.2020 - 24.05.2020 ~
This week, Esra, Alp and I added the necessary comments and javadoc comments to the classes in game and challenge packages. We fixed the bugs in TimerController class.
Then, we implemented the system of the for loop function to SelectionController class and we designed the for loop function's JComboBox to make it more appealing. We added the endMessage() method to the MapView class to inform the users when they lose or pass the levels. We also added the retryButton to each mode for users to be able to restart the levels when they lose.
I updated the levels of the challenge mode according to the locations of the flowers.
Then, I added some comments and made some editing to the challenge and game packages to organize the code and make it more clear.
I also explained the properties and methods of ChallengeLevels, ChallengeModeGUI, ChallengeModeLevelsGUI, TimerController, LevelButton and SelectionController classes for the updated Detailed Design Report.
****************************************************************************
### Esra Genç:
### ~ 23.03.2020 - 29.03.2020 ~
This week I focused on how to improve our game with the help of feedbacks that other groups and TAs gave us. Also, I downloaded Netbeans and watched videos about how to use this IDE.
Then, Doğa, Alp and I wrote the details about the user interface of the learn mode, challenge mode, test mode and general map of the game for the User Interface Report.
### ~ 30.03.2020 - 05.04.2020 ~
This week I learned more about NetBeans' Swing Tool.
I also started to brainstorm ideas for the detailed design of our project.
### ~ 13.04.2020 - 19.04.2020 ~
This week I created a Github account and joined our repository.
### ~ 20.04.2020 - 26.04.2020 ~
This week I learned more about MVC design pattern and worked on the detailed design of the project.
Doğa and I started creating a detailed design of the project and tried to determine what type of classes are necessary for our game.
Then we shared our ideas with our group members.
### ~ 27.04.2020 - 03.05.2020 ~
This week Alp, Doğa and I started to implement model classes of te project. We decided what properties and methods are needed and implemented them accordingly.
I also learned more about the javax.swing.Timer class and built the TimerController class that displays the remaining time to complete a level for the project.
### ~ 04.05.2020 - 10.05.2020 ~
I worked on the ChallengeModeGUI class with Doğa and Alp. We had a two-hour Zoom meeting. We tried to fix the problems about adding it to the MenuScreen class and we put the components in their places.
Doğa and I tried to come up with an efficient solution to add ActionListeners to every button in LevelsGUI classes and we formed for loops to add ActionListeners as a solution. We also improved returnButtonActionPerformed method.
After everyone committed the GUI panels, I fixed some of the bugs in the game.
### ~ 11.05.2020 - 17.05.2020 ~
I worked on how to create and display levels for Challenge mode with Doğa and Alp. We did the implementation accordingly.
Alp, Doğa and I created the animal selection system for choosing an animal to play with on the mode screen and we developed a system for displaying efficiency stars on ChallengeModeLevelsGUI screen.
We also found some bugs in the TimerController class and fixed them.
### ~ 18.05.2020 - 24.05.2020 ~
I tried to come up with a system to add for loop feature to the game. For this system, I learned how to use and design JToggleBuutton and JComboBox.
Alp, Doğa and I implemented this system to SelectionController class.
I worked on how to display the code in the CodeView class when it is too long to fit the screen. I added scroll function to the game with two buttons and MouseWheel Event.
I played the game and found some bugs to fix, and fixed them to improve the game.
I did a code check for the project, turned all the properties to private, added missing javadocs and comments.
****************************************************************************
### Ayberk Yaşa:
### ~ 23.03-29.03 ~
This week I thought about the design of each mode in our game. I participated in brainstorm for UI Stage and I shared professional design ideas from my proficient perspective.
### ~ 30.03-05.04 ~
This week I researched user interface design with Swing. I tried to learn some key points of using Swing. I watched video series about Swing Tool Kit in Netbeans, which is conducive to game programming process.
### ~ 06.04-12.04 ~
This week I continued to watch video series about using Swing in Netbeans and broaden my knowledge of user interface.
### ~ 13.04-19.04 ~
This week I created a new GitHub account and joined our GitHub repository. I learned the fundamental of the usage of GitHub. I tried to write simple programs with Swing Tool Kit and add basic user interface designs to my lab assignments for their menus.
### ~ 20.04-26.04 ~
This week I thought about the classes of our game and I researched MVC which is an architectural pattern for computer engineering. I determined the number and kinds of panels that we will need in the game.
### ~ 27.04-03.05 ~
This week I create AlgoZoo Project File in our GitHub repository. I started to design images that will be used in the game. I designed several backgrounds and many buttons, which will appear in the menu, through Adobe Photoshop CC. I started coding to make the menu dynamic. Together with Görkem, we wrote view classes in accordance with MVC principles.
### ~ 04.05-10.05 ~
This week I expanded the menu more compared to the previous week. I made more designs than last week and implemented them all to the game by adding GUI classes. Together with Görkem, we have made one of the game modes in almost running order.
### ~ 11.05-17.05 ~
This week I made some design corrections as a result of the feedback of the group members. For example, several background images have been improved and adapted to existing plugins. The designs of the view and controller classes have been completed by me. I revised the codes written for these classes. Moreover, I made dozens of new button designs and the information screen panel. I integrated all of them into the game.
### ~ 18.05-24.05 ~
This week I had to make updates in the controller class for the for loop added to the game and I had to add new characters to the game. I took care of these. I made another design to fulfill the end of the game screen need. After handling these three design requirements, I corrected the codes and integrated them into the game. Moreover, I recoded a class that I thought was written inefficiently. I focused on the shortcomings in the save feature added by Görkem and fixed the several corresponding bugs. Then, we decided to make the CodeView class more efficient. Me and Görkem worked on the for loop appearing in CodeView class. However, we encountered a thorny problem and I desired to examine the code that I wrote in detail. I traced the code several times for 6 hours. Although I printed the value of an "x" variable on the console, I realized that when I used this variable, I got a different value. I gave up thinking that this problem was not caused by me.
****************************************************************************
## Kerem Erdal:
### ~ 23.03.2020 - 29.03.2020 ~
This week I though about he interface design, and searched for how to make it more appealing. I though about the details of the game and created some opinions about making it more interesting. I wrote the part about play screen and conclusion of the User Interface Report.
### ~ 30.03.2020 - 05.04.2020 ~
This week I searched for how to use a Swing Tool. I watched some videos to learn how these tools work and started to think how I can write codes of the games by using these tools.
### ~ 06.04.2020 - 12.04.2020 ~
This week I considered about the detailed design of the project and shared my ideas with my friends. I continued watching videos about usage of Swing Tools and increased myknowledge about that topic to ensure what sort of a design would be more appropriate.
### ~ 13.04.2020 - 19.04.2020 ~
This week I created my acccount on GitHub and made some research to understand how it works. I joined to our project repository and practiced MVC and how I would implement our interfaces and integrate them with the MVC pattern
### ~ 20.04.2020 - 26.04.2020 ~
This week I continued brainstorming about MVC nd its usage in our project. I started writing our beforehand meeting logs to our GitHub repository. I though about the classes, panels and interfaces and shared my ideas with my friends to give the last decision about the classes according to MVC.
### ~ 27.04.2020 - 03.05.2020 ~
This week according to created detailed design and prepared MVC, I firstly wrote the animal class with its appropriate properties and methods with Arda. In addition, I created the selection controller class of the test mode with its required methods according to our project design with Arda. In the following times of the week, I thought about changing the labels according to the movement patterns, made some research and decided to create an arraylist to put all labels, to which images would be implemented according to appropriate action listener. Therefore, I changed the selection controller class to make it more useful.
### ~ 04.05.2020 - 10.05.2020 ~
This week I searched for how to add the appropriate icon to the label in Swing Tool, and did some practice to make sure that I understood the process correctly. I changed the selection controller class of the test mode to set the labels appropriate icons instead of just showing a text. On a paper, I designed the GUI of Test Mode similar to the one planned while writing the Graphical User Interface Report and then thought about how to write suitable methods through tracing and critically thinking. After deciding on the design, I wrote the appropriate methods, codes and placed the parts of the interface according to the planned design with Arda. I updated the menu class accordingly to display the test mode on the game. I fixed some minor bugs in the TestMode GUI and TestModeSelectionController classes and created a working test mode for our game with Arda.
### ~ 11.05.2020 - 17.05.2020 ~
This week I observed some minor bugs about the movement of the bee in the Test Mode. I fixed this bug by making some related changes about the timer in MapView and enabled timer to start after first movement takes place. I fixed the errors about restarting the test mode and changing it back to its initial position with Arda. I created TestLevels class which provides creating a level and implemented TestModeGUI accordingly to create a level container which includes all levels created with separate parameters with Arda. I wrote the explanation for the information screen with Arda. I realized an error about the labels, labels did not change after passing to the next level. To be able to come up with a solution, I added some code for resetting the TestModeSelectionController whenever a level is started.
### ~ 18.05.2020 - 24.05.2020 ~
This week I wrote the appropriate parameters for the first five levels of the Test Mode, determined the start and end locations of the bee, and decided upon the selections to make the game more challenging. I did the appropriate changes for the added Flower icon such as changing the related icons in label, and its related methods like gathering the pollens to TestModeSelectionController, TestLevels and TestModeGUI classes with Arda. I discussed with Doğa and Arda about which points must be included in the video, and how it should go on. I wrote the appropriate comments and JavaDoc for the Test Mode classes and made last corrections like indentation or variable declaration with Arda. I wrote appropriate explanation for Test Mode related classes for the Detailed Design Report with Arda.
*****************************************************************************
### Arda İçöz:
### ~ 23.03.2020 ~
This week I thought about creative mode by planning how can it be implemented into the game and is it possible to do this game mode or not.
### ~ 30.03.2020 ~
This week passed by learning NetBeans' s Swing Tool. I watched some videos and searched some examples in sites like StackOverflow.
### ~ 06.04.2020 ~
This week I started to plan and think the classes we can possibly use in our game.
### ~ 13.04.2020 ~
This week with GitHub and MVC, I started to practice and tried to learn better about MVC to plan the models, views and controllers and understand how they work.
### ~ 20.04.2020 ~
This week, planning our classes (using MVC) continued with my friends. We came to the near end of finishing every essential class for our game.
### ~ 27.04.2020 ~
This week, according to our project design, Kerem and I designed the Animal class and SelectionController class for Test mode. Then, we did some improvements to SelectionController class by adding all labels to a ArrayList.
### ~ 04.05.2020 ~
This week, I did some more practice with Swing Tool to not face any problems while implementing it to our actual project. With Kerem, we designed and wrote the source code of the GUI for the Test mode. Then, with updating the MenuScreen class accordingly to our updates and fixing some bugs, we created a fully functioning Test mode.
### ~ 11.05.2020 ~
This week, with Kerem we fixed bugs when user wants to restart a level in test mode and fixed the character to return to its first location when restarted.
We implemented TestModeGUI according to the TestLevels class by creating parameters which gets appropriate options for every level.
We wrote the text for "How to Play" button which is located in bottom right corner.
### ~ 18.05.2020 ~
This week I wrote the appropriate parameters for the last five levels of the Test Mode by determining the start and end locations of the character and locations of the flowers.
Later, with realising the options being not challenging, I updated them to be more difficult.
With Kerem, we did the appropriate changes for the added Flower icon such as changing the related icons in label, and its related methods like gathering the pollens to TestModeSelectionController, TestLevels and TestModeGUI classes.
For the video, I discussed about the content of the video with Doğa and Kerem.
With Kerem, we wrote the missing javadoc comments in Test Mode, fixed the indentation and variable declaration; later I added some javadoc comments for learn and challenge modes.
With Kerem, we wrote the explanations for Test Mode for Detailed Design Report.
*****************************************************************************
### Alp Tuğrul Ağçalı:
### ~ 23.03.2020 - 29.03.2020 ~
I tried to find new ideas to improve our project. I looked the feedbachs our TA and other grups gave us. I watched videos about the using NetBeans. Then Esra, Doğa and ı explained the details about the user interface of the learn mode, challenge mode, test mode and general map of the game for the User Interface Report.
### ~ 30.03.2020 - 05.04.2020 ~
I learned the NetBeans swing tools because it is neccesary for the user interface in game and I tried to find ideas for detailed design of project.
### ~ 13.04.2020 - 19.04.2020 ~
I learn how to use GitHub and I create new account to join our repository.
### ~ 20.04.2020 - 26.04.2020 ~
I tried to undertstand MVC and thought about how can we implement it to our project.
### ~ 27.04.2020 - 03.05.2020
Esra, Doğa and I made some changes and additions to TimerController, LearnModeModel and ChallengeModeModel classes. We did a two-hour zoom meeting.
I created and updated the PlayButtonController class for learn and challenge modes but it is deleted because we realized that adding a button to selection controller is more efficent than creating a class.
Esra, Doğa and I made some changes to the AlgoZooModel and AlgoZoo classes. We did a one-hour zoom meeting.
### ~ 04.05.2020 - 10.05.2020 ~
Esra, Doğa and I made some additions and changes to it. We did a two-hour zoom meeting. We designed the basic structure of the challenge mode and updated MenuScreen class to add ChallengeModeGUI.
### ~ 11.05.2020 - 17.05.2020 ~
This week Esra, Doğa and I completed the System Overview and Core Design Details parts of the Detailed Design Report.
Then, we fixed some minor bugs in TimerController, SelectionController and each modes' GUI classes.
Esra, Doğa and I implemented the code for the efficiency stars in the challenge mode and created the animal selection part in the mode screen.
I also added some comments.
### ~ 18.05.2020 - 24.05.2020 ~
This week, Esra, Doğa and I added the necessary comments and javadoc comments to the classes in game and challenge packages. We fixed the bugs in TimerController class.
Then, we implemented the system of the for loop function to SelectionController class and we designed the for loop function's JComboBox to make it more appealing. We added the endMessage() method to the MapView class to inform the users when they lose or pass the levels. We also added the retryButton to each mode for users to be able to restart the levels when they lose.
I also fixed minor bugs in ChallengeModeGui, SelectionController, LearnModeGui and TestModeGui.
****
*********************************************************************************
### Görkem Ayten:
### ~ 23.03.2020 ~
This week I thought about the design of the project. I also examined the designs of games that are similar to our game on the internet. A few good examples took my attention. Therefore, new ideas came up in my head. I also started working on the GUI that we started to see this semester.
### ~ 30.03.2020 ~
This week I started to think about the design of the levels after our group meeting. Furthermore, since I do not know how to use Netbeans swing tool, I started to learn how to use it by doing research on the internet and watching videos.
### ~ 06.04.2020 ~
This week I thought about how to make a game map where the animals would move. I thought designing the maps of game with Unity. I researched on the use of unity. Moreover, I examined the designs in the sample games on the Internet.
### ~ 13.04.2020 ~
This week I created a new GitHub account and joined our GitHub repository. I learned the fundamental of the usage of GitHub. I decided how the views of the maps would be. After that, I thought about using Photoshop by creating the map's view. I did not get any results from the udemy videos I watched a week ago. So, we discussed with Ayberk which program we can use to create maps. We finally decided to use TiledMap. Therefore, I started to learn how to use TiledMap and watch some videos about it.
### ~ 20.04.2020 ~
This week, I continued watching videos and making map designs. I designed some Learn Mode’s map and I got the opinions of Ayberk in about my designs. Moreover, I found new components for my map design. So, I decided to change my design.
### ~ 27.04.2020 ~
This week after group meeting, we divided into 3 different sub-groups. I and Ayberk started to coding menu dynamics such as (panels, buttons, labels...). We also did research to resize our project as well. I sent a message to the experts on this subject. In addition, we wrote our problem to the forum in MOODLE page. However, I learned that this is not possible because of the null layout we use. Moreover, I started to think about the model classes we decided in group work.
### ~ 04.05.2020 ~
This week, with the consensus of the group members, we decided to make the game in fixed size. Therefore, I had to resize the map designs I made before. I coded MapView, CodeView and LearnMode's class together with Ayberk. While doing this, we encountered many problems and researched their solutions. We have substantially completed code of these classes.
### ~ 10.05.2020 ~
This week, I finished Learn Mode, Challenge Mode and Test Mode’ s map designs. I found a more effective way to start the levels by assigning variables in the LearnMode class together with Ayberk. I made adjustments to the code accordingly. Furthermore, I did research on the basic needs of the game such as how to save the level. I found a lot of resources about java IO on the internet. I tried to integrate what I learned into our own project.
### ~ 17.05.2020 ~
This week, I started working to complete the deficiencies such as sound after pressing the button and lack of save files we decided to meet with the group. So, I continued working for the game's save files. I wrote 6 different save classes for this and integrated it into the project. After that, I made changes to the code to fix the errors I encountered. Finally our game could be saved without any problems. Me and Ayberk worked on the for loop that located in CodeView class. However, we faced with some problems and did not fix it. I completed all the deficiencies I could complete and made the project ready for delivery. Finally, our project is completed.