Monday, November 18, 2019

Project 3 Day 10

Based off the group, we thought that the drop speed was going too fast as levels increased, so I made the speed slower as levels increased.

There was an issue where if there was a block above a dropping block and you pressed the space bar, then the dropping block would move on top of the block that was above it.

At first I thought the issue was that the input was going too fast, so I tried to make a delay after pressing the space bar, but that was not the issue.

It turns out there was a bug in the function being called by the space bar. It tried looking for the max y to place the block, but the y range should have been smaller. The range should have been from 0 to the block's y rather than the max available on the grid.



Saturday, November 16, 2019

Project 3 Day 9

I fixed an issue of when the down note was playing too long by creating a variable that keeps track of the history of when the down button is pressed. When it is pressed the down variable is set to true meaning the key was pressed and when it is true it plays the note.

There was also an issue with our spacebar command. The issue was that if there were blocks such as the L blocks and the I block at a specific position then a box from that block would go out of the grid. To fix it I created a function to predict when that specific box would go out of bounds, and if it does then it means the block has to move up a bit.

Wednesday, November 13, 2019

Project 3 Day 8

I made a game over screen. Some issues involved using the write methods to make the visuals of the screen. Some other issues included trying to make sure blocks stopped spawning once the game over screen happened and how to regenerate blocks once the user wants to play again.

I also tried to set up a high score mechanic using a tuple array. One of the biggest issues was that the program made a score of one game into multiple high scores. The issue was I placed the function in the draw method where the tuple would be constantly be changed. So I placed the function to update the high scores into a method that was called once we get a block of a y value of 30.

Tuesday, November 12, 2019

Project 3 Day 7

I worked on a bug that did not update level correctly

I also tried to make some small polishes by moving the score change method from the game.cs file into the gameStat.cs file

I also made some polishes by making the code more readable by not using magical numbers and also by fixing the code to use proper syntax.

Sunday, November 10, 2019

Project 3 Days 5-6

Day 5

I worked on some scoring code, and found out that some code with shifting down was faulty.

I talked to my group about this problem, and Jackson was able to fix the problem.

This took me about a hour to code and an hour to communicate

Day 6

I found a bug in the code with removing after trying to test more cases with all the blocks programmed in. The addition of the square piece made me realize my code had some bugs where it would remove more lines than it was supposed to. The bug was in a nested loop where I would end the loop too early. The issue should be fixed now.

Friday, November 8, 2019

Project 3 Days 3-4

Day 3

I have been observing the work that the other groups and my group have been doing so I can make my code adaptable to their code.

So far I have worked on code to remove the lines after line detection and moving down the lines above the removed line.

I hope to work on more edge cases for these functions

Took me 2 hours.

Day 4

I tried running the main tetris code, but there was an error where a file was missing. I started doing this late, and I hope to get a reply on the Piazza post I wrote

I worked on a levelUpdate function to change the level if the amount of lines gets to a certain amount.

Took me an hour.

Project 3 Day 2

Our groups have been divided to work on certain sections. My team has been assigned to work on Line detection and scoring. For scoring we use a wiki to figure how to add to score, and for level we plan to increase level for every 10 lines.

We still are not sure how we plan to do line movement and we will need to coordinate with Team F who is in charge of movement and blocking. So far we have two ideas one relating to a coordinate system and another relating to a 2D array. Otherwise we have a basic idea on what we need to do for line detection.

Friday, November 1, 2019

Project 3 Day 1

I've just been checking what is the plan on Piazza. I see that our group wants to split the work and that is fine, but I have to confirm which sections we are doing.

I have been checking on how the Tetris project should look like based off the link, and I have been trying to play around with some of the Tetris code given to us. I hope to explore more of the tetris code once somebody in my group confirms what we are doing.

Tuesday, October 29, 2019

Project 2 Day 7-11

Through the last 4 days, my team and I have been working on our assigned functions. Jose had some other priorities to do, and I ended up doing some of the functions that he did.

The group that was given our implementation had some questions about our design. One question related to an issue on my part where I wrote in the design document a function in a different name. This caused some confusion, and that was my bad.

The implementation group also suggested some ideas to make the design better, which in my opinion were really smart.

After working on the rest of the functions, our group decided to try working on the spin function. Where we came up with the idea that we would rotate the names of the nodes rather than the actual nodes. This would cause some issues later in testing.

On our final day, Jackson updated his remove functions, but I did not see his tests at first. Thus, I wrote some tests and I tried to make some edits on Jackson's code so the tests would work. Unfortunately, it was not Jackson's code that was wrong it was rather then functions that I worked on had some bugs, and was unable to be in sync with Jackson's code. Later on Jackson was able to fix the bugs so the add() functions would be in sync with his remove functions.

While he has working on that I decided to try writing code for a spin function that would swap names. I first worked on the spin() function using indexes, so that it would then call the spin() function using nodes. I was able to make a spin() index function that worked at first, but then I began testing spin() with node input and that caused issues because the names I initially set up were all mixed up after all the spin() tests.

It was at that point, where I tried to fix the spin() code so that it would swap the actual node instead of just the name. I tried to work on fixing the code, but had to take a break cause at that point I had been working on the project for almost 6 straight hours. So Lisa and Jackson were nice enough to take over and finish up the Spin(). Jackson had already made some spin() tests, but the spin() tests had only used spin() with index input, so based off my mistakes I wanted to make sure that spin() with node input worked, and it was able to. After I made spin() tests so that the list was in order, I encountered a bug in CheckOrdered(), it turns out the amount of checks was too much by one.

Jackson and Lisa did a great job on the project. Although I understand that Jose was busy, I wish he had communicated with us a bit better about his situation.

Friday, October 25, 2019

Project 2 Day 6

So far I've just made some edits to one of the functions I have been working on.

Also Team D is requesting a progress report, so I have updated our google doc to show what our team has already written, and what other functions need to be completed. I plan to share the document with Team D around the morning/afternoon.

Tomorrow I hope to talk with my group a bit more and that we can finish the writing the rest of our individual functions

Tuesday, October 22, 2019

Project 2 Day 5

After the previous blog, our group collaborated to work on our class diagram and our design document.

Unfortunately, our professor thought our idea of using a red-black tree was a bad idea. After thinking about it, he does have good points. And I learned some lessons after his critique

Lisa and I then worked on making doubly linked list data structure, and so far Jackson has agreed it was a good idea. Lisa, Jackson, and I have been working to make a new design document, class diagram, schedule, and possible functions for our new bucket data structure.

On top of that Lisa, Jackson, and I have been starting to work on the Spin project for Group D. I thought that Group D's design is pretty good, and explains itself pretty well. Lisa has already worked on setting up the classes. Jackson has already worked on a few functions. I have created a folder so that our group can do branching and merging later. I have also worked on a few functions for spin.

So far we have not heard from Jose today, but hopefully he will be in contact soon.

Sunday, October 20, 2019

Project 2 Day 4

So far everyone is connected through taiga and the slack site, so that is good

Although we are all in agreement to use a red black tree for a bucket class, there may be some confusion about the data structure for the item class. Hopefully, we discuss about this more.

I have been trying to work on more formal documentation by making a class diagram instead of writing pseudocode. I plan to make more diagrams soon.

Saturday, October 19, 2019

Project 2 Day 3

So far I have been talking more with my group. Our initial idea for a hash table has been scrapped, and we thought about using a ternary search trie. An issue though was wondering how we could balance this ternary search trie. I also thought this could be confusing for the remote team doing the implementation. So I proposed a red black tree, which can be easy to know how to balance and also is not too hard to implement. Hopefully, the rest of my group likes this proposal.

I have been talking with Lisa the most about these ideas, and I recently have been talking to Jose, who has recently got a new job. I have emailed Jackson twice and been posting on piazza, but I have not heard from him yet.

I’ve been writing some pseudo code on the design of a red black tree bucket, and my hopes are that I will finish writing the rest of the pseudo code by tomorrow. I also hope that I can get communication from Jackson soon, so that we can coordinate better as a group.

Thursday, October 17, 2019

Project 1 Day 2

I have been communicating with a few of my team members about the data structure to use for our project. After thinking about, I think my team member's idea of a hash table would be best with the use of linked lists. I have asked my other team member whether he agrees, and hopefully will hear from him soon.

I have also tried communicating with the last member who has not accepted his invite to our taiga site. I tried to email him to figure out his situation, but I have not gotten a reply from him yet. I emailed him early in the morning and it is now around midnight.

So far, hash tables seem to be the best idea, and I have proposed an abstract idea of the design of the hash table. I have shared my proposition and asked my other team members for their ideas on taiga.

Lastly, I have created a slack for our group to use. Although only one member has accepted the invite for now.

My goals for the future is to polish my proposed design and to find out how to make further documentation. Additionally, I hope to talk and communicate with my other team members more.


Wednesday, October 16, 2019

Project 2 Day 1

Today I have been trying to contact some of my group members through Piazza. I noticed that a few of my group member were missing on our taiga website, so I posted if everyone was able to get an invite.

I also thought maybe a schedule would be good to add on our taiga site. I thought this would  allow the group to know when is it good times to contact each other, and could be useful for the group doing our implementation next week. I have shared a google doc, and when everyone fills in their schedule, I hope we will post it on our taiga site.

So far, I have been thinking of ways to design our buckets program, and I have thought of maybe using a tree or a hash table. I have posted a note on taiga for our group to discuss their opinions, but I have gotten no comments so far. Hopefully, I will be able to hear more from my group.

Monday, October 14, 2019

Project 1 Day 7

So far I have completed my Paper and have sent it up to the depot. To be honest I wish I had done it later because I would have re evaluated some of my team members. Currently, there is an issue where one of the unit tests is throwing an error, and it has not been resolved yet by the person assigned to that unit test.

Overall, though all the unit tests seem to be working well.

Saturday, October 12, 2019

Project 1 Day 6

I have been forgetting to blog for the last few days. But within these few days I have been working to unit test my ToByteArray. Also I've been trying to help out one of my groupmates in understanding a function. Both my groupmate and I thought there was a lot of setup, and that it was best to switch options. I also have been making tests for the Clone() function by testing out the length of the cloned string and its content.

I also have been working on my Q&A questions, which have given me some time to reflect on the project. The Q&A made me feel that this project would be easier if we had planned what to do in the beginning a bit better. 

So far, most of our members have completed unit testing. I hope that the rest will be able to upload in time.

Tuesday, October 8, 2019

Project 1 Day 5

I made some edits to my ApplyPadding UnitTest to print out statements to show what is being tested. I also made a log test to check out the function Log(). I also removed some of the old test methods I did due to the fact that our group had to rearrange who did what methods.

So far it seems the group is making good progress. I have completed two of my unit tests, and I have an idea of what to do for the ToByteArray() function. I do have some concerns with the fact we have not gotten our Q&A prompt yet, but hopefully the professor will post it soon.

Sunday, October 6, 2019

Project 1 Day 4

I've been working on making unit tests for ApplyPadding and ToByteArray. I tried making a random String generator to test both of these functions. Not only were the characters random, but so were the length of the Strings. I used random lengths to make sure that the padding worked in order to test that I get the right results from the function. I also made a random number generator from 0 to 3 to test all the padding modes used in ApplyPadding.

In order to test the ToByteArray I compared the Byte array I gave as input to making a state, and compared each value in the byte array with the output Byte array given from the ToByteArray function.

My teammates seem to be doing okay. I have seen that one (Lisa) of my teammates has been in the testing phase, I understand that my teammates have other priorities and may not have time yet to work on the project.

Tuesday, October 1, 2019

Project 1 Day 3

Today all of the group members went for a meeting at the CDM building, and we talked about how we plan to split up the work on the assignment. We also had some confusion about what is expected of us when making a sketch for the more complex functions. Additionally, we were confused on whether our unit tests have to sum up to a cyclometric complexity of 12 or if it is the function that we have to test that sum up to 12. We established folders and set up the AES project in P4V. All of the members in the group were very nice and were very cooperative.

I also tried to go ahead a little bit by trying to make a test for one of the functions I was assigned, at first setting the main function in AES to allow unit testing was tricky, but it turns out it was an issue with my setup and the solution which was resolved. Although I'm not sure if it what the assignment is looking for, I practiced the polynomial function by getting the results of all 256 possible options, and stored them into an array. Next, I set up an array called translated, which would be the results for all 256 possible options. Lastly, I compared the functions results with the translated array by using the CHECK() function. Some difficulties that occurred were filling up the translated array, I ended up using a decimal to binary function to help me in filling the array.

Sunday, September 29, 2019

Project 1 Day 2

I've looked more into Unit Testing, and I now have a better idea of what to do. I also was able to do some practice on how unit testing works on a small project. Reviewing the last lecture helped in my understanding of unit testing, and how we use it for AES. There were some issues making a simple testing because I was unable to use the small project as a reference for the unit test. Turns out the issue was I chose the wrong unit testing. Checking the last lecture also gave clarity as to how to check for cyclic complexity and its significance. To my understanding, we will all be working on one unit test file and will branch and merge using P4V.

So far it looks like all the group members are coordinating, and we are all in agreement to have a meeting. I am glad that we all are able to coordinate well, and I feel that my team is very reliable.

Saturday, September 28, 2019

Project 1 Day 1

So far I have looked at the AES code and all the functions, and a lot of it is very overwhelming. I am glad that I was able to find some resources of understanding the material first before checking all the functions and how they work together. For me, sketching how all the functions work has helped out.

I have been having some confusion on the Unit Testing, and I plan to check some outside resources and review week 3's lecture to help get a better understanding of the unit test suite.

So far, I have seen that most members have been contributing to Piazza, but so far I believe one member out of us has not been communicating well. Hopefully he or she has been keeping up with what we have been discussing. Overall, the group seems well coordinated

Wednesday, September 25, 2019

Assignment 2 Post

This assignment was not too bad after reviewing some content on how to branch and merge because of the video. Although I had to search on how to do a rollback, and it turns out this was possible by doing an undo change. Setting up the player and seLinkList classes was something a bit new, which I had to ask the instructor about. Although I initially thought my implementation of the program was right, I thought I had to make a few changes based off posts on Piazza. Changes included were changing the arguments to addPlayer(), but I had the most difficulties into making the link list add to the front of the list. Turns out this issue was due to an index problem, and my program can work for both adding to the tail or head.

Overall, I thought this was a good assignment to get used to P4V.

Sunday, September 15, 2019

Vincent Chan 09/18 Post

I was able to easily link my blog onto the class wiki site, and creating a blog was simple. I also answered some "icebreaker" questions on Piazza. The questions I answered were what is my major is and whether I traveled or not this summer. I also posted my own question if anybody liked sports. At first, there were a few issues setting up my local machine to the depot. I initially tried to set up my local machine by reviewing the getting started instructions on the perforce website, and was unsuccessful. I then check some of the "cheesy videos" on the PDF to setup perforce, and I was able to successfully set up P4V. Another issue occurred where I was confused why my Visual Studio 2017 did not provide an option to create a new C# console app. It turns out the issue was I did not modify Visual Studio to be able to use C# console apps. Creating the Fibonacci program was not too difficult since the coding was very similar to making it in Java. I did have some issues trying to verify that my submission can run on the depot, but I was able to run my program on the depot after getting some help from people on Piazza.

Although I had a few issues setting a few things up, I thought the tasks for this week were not too bad. The class seems to be going well, and it seems that people in the class are nice.