285
社区成员
The Link Your Class | https://bbs.csdn.net/forums/MUEE308FZU202201 |
---|---|
The Link of Requirement of This Assignment | https://bbs.csdn.net/topics/608859318 |
The Aim of This Assignment | Specify information statistics on file |
My MU STU ID and FZU STU ID | 20123426_832001106 |
Partner1 MU STU ID and FZU STU ID | 20124716_832001109 |
Partner1 blog address of this assignment | https://bbs.csdn.net/topics/609240958 |
Partner2 MU STU ID and FZU STU ID | 20124520_832001229 |
Partner2 blog address of this assignment | https://bbs.csdn.net/topics/609330263 |
GitHub link | https://github.com/ajia3/LAB2-2 |
Video demo link | https://v.douyin.com/rY2QMqc/ |
Give what you think are the key or difficult functions and programming thinking, at least 2 points.
For the design of the whole program, we referred to the flow of some daily games, designed the main page, login page, menu, mode, results and a series of processes, and then began to design the details of the game.
The first difficulty we encountered was the dice in the game. The six dice had to be rolled randomly and judged automatically, and the result was displayed in the next screen.
This is the most important point of the whole mini-game. We set six global variables that correspond to the number of sides on the die from 1 to 6. After starting the game, calculate the result of each die and increment the variable by 1 for each point on the die. Finally, according to the final results of the six variables, the award can be inferred and displayed in the next interface.
After we've solved the six-dice random result, we have another big problem: how to save data for three players in multiplayer mode. After consulting literature, we went to self-study "node.js" to create a small server to import data into the database.
Give a photo, including the paired classmates, work place, computer, and other items or scenes that can express the working experience of pair programming.
Pair programming experience.
In this experiment, we started to touch the front-end development software, designed the UI, learned to use Axure for some interactive operations, used JavaScript for programming, and ran on the VScode platform. I learned a lot from this cooperation. Teamwork is very important, because when a person's idea is not perfect, communication and discussion with teammates can often supplement the idea, which can bring better results. At the same time, in programming, the collision of the minds of many people can better check the code, so that the code is constantly improved. This experiment attaches great importance to pairing, allowing the whole team to participate in the development process and benefit from various aspects.
Give at least 3 events that take a long time in coding, arguing, reviewing, etc., and give you great gains.
For coding: A new challenge : JavaScript
We chose JS to write this program, because I have not learned it before, so I spent a lot of time in learning the code, and often the program runs wrong. The logical thinking is very confusing at the beginning, and then I become proficient with writing more.
For reviewing: How to implement multiplayer mode
At first, because I do not know how to save the data and account password data, I plan to make a "do not need the Internet can also be carried out by a number of people and human machine" cookie game; Later, in the process of studying JS code, I learned some **[node.js] ,[MySQL]**and successfully established a database, which effectively saved the account password.
For arguing: Dice animation change
At first, when we were thinking about dice and how to realize the number of dice corresponding to them, we designed static dice with animation of 360 degree rotation from the beginning to the end of dice casting. Then we found the animation material of dice to realize three-dimensional animation of dice casting. For random dice, we use the random function **[Math.random()6]* to ensure the randomness of the dice. Finally we match the random roll with the die: the die animation changes the corresponding die face as the roll of the die changes.
PSP and learning progress bar.
Record the PSP form of this operation, including the estimated time and actual time.
PSP2.2 | Personal Software Process Stages | Estimated time(minutes) | actual time consuming(minutes) |
---|---|---|---|
Planning | 计划 | 10 | 20 |
· Estimate | · Estimate how much time the task will take | 10 | 20 |
Development | 开发 | 985 | 1170 |
· Analysis | · Needs analysis (including learning new technologies) | 100 | 110 |
· Design Spec | · Generating design documentation | 40 | 55 |
· Design Review | · Design review (review design documents with partners) | 10 | 15 |
· Coding Standard | · Code specifications (Develop appropriate specifications for current development) | 15 | 20 |
· Design | · detailed design | 60 | 70 |
· Coding | · specific coding | 480 | 600 |
· Code Review | · code review | 100 | 100 |
· Test | · Test (test yourself, modify code, commit changes) | 180 | 200 |
Reporting | 报告 | 70 | 90 |
· Test Report | · 测试报告 | 20 | 35 |
· Size Measurement | · computational effort | 25 | 25 |
· Postmortem & Process Improvement Plan | · Summarize afterwards and propose process improvement plan | 25 | 30 |
total | total time | 1065 | 1280 |
week | Added code (line) | Cumulative code (lines) | Study Time this week (hours) | Cumulative learning time (hours) | Important Growth |
---|---|---|---|---|---|
1 | 500 | 500 | 12 | 9 | Analysis requirements, design program page |
2 | 600 | 1100 | 12 | 21 | Optimize the program and page, improve the multiplayer system |
Give GitHub link and commit record.
https://github.com/ajia3/LAB2-2
Give a link to the video demonstration of software running.
https://v.douyin.com/rY2QMqc/