Managementul Proiectelor Software
Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
proiect:descriere [2014/10/05 15:20]
mihai.zaharescu
— (current)
Line 1: Line 1:
-=Descrierea Proiectului= 
-==Game Purpose:== 
- 
-The purpose is to make the team you are playing in win, by protecting any of the team members and creating a fast path for one of the members to the destination,​ the other side of the board. 
-The players are pawns, consisting of code, each student has a single pawn and he offers a UNIQUE code for the pawn (no two students/​pawns have the same code). 
- 
-==Game Environment:​== 
-The game is a game board, the board having dimensions LxL, where L is the maximum number of members in a team + 1. 
-Each team has a distinct color and luminosity. Each member is represented by a colored pawn and a string text of his name. The color of a pawn is a combination between the color of his original team and the color of the team he is playing in: The luminosity is kept from his original team and the color from the team he is currently competing in. 
-At any time, only 4 teams compete, chosen at random, but considering that at the end all the teams have competed the same number of times. 
-Each team starts on a edge of the board, from the corner with the minimal radial angle, considering 0 degrees the top left corner and the origin of rotation the center of the board and places the members continuing with the growing radial angle. 
- 
-{{:​proiect:​initial.jpg?​200|}} 
- 
-Each time the game is restarted, the team members will be shuffled between teams, but at any game at list N members will be from the original team (having the same color). N=smallest team size/2. The team sizes will be chosen randomly every game, from the smallest team size to the largest. 
-If there are more than 4 teams, the rest of the teams wait for a series of games to finish, then they are included in the game while another team is put on hold. 
-If there are only two teams, they are placed on opposite sides of the square. Three teams cannot compete. 
-{{:​proiect:​final.png?​200|}} 
- 
- 
-==Game Rules:== 
-A pawn can only move one cell at a time in the directions: up (U), down (D), left (L) and right (R), not diagonally. It cannot move in an occupied cell, unless the pawn in the cell is willing to leave, but not swap positions (they cannot go through each other). 
-The pawns can communicate to each other through the function: send_message(destination_id,​ message). 
-The pawns send their intention to move to the server through the function: move(path), where “path” is a null terminated string as many ‘U’, ‘D’, ‘L’ and ‘R’ letters. 
-The pawn can ask for it’s position, at any time, through the function get_position(). It can also ask for any other’s position through get_position(id). He can also ask for the path: get_path()/​get_path(id) and for the cell occupancy unsigned get_cell(x, y). One can also ask for an estimated future cell occupancy (considering the offered unblocked paths): get_cell(x, y,  time), where time is time from current position: +1 meaning how will the cell be the following iteration, -1 how the cell was in the past iteration. The function returns either the index of the pawn in the cell, or 0, if the cell is empty. Before the original time any cell is empty. 
- 
-==Grading:​== 
-The purpose of the game is to help any one of your team members get to the opposite side of the board. If a pawn gets to the other side, his team wins and the game ends. 
-Every time a team wins, all the members that formed the team at the respective game earn a point and the team (color) earns a point. 
-The individual grade for the application is calculated from the number of times a pawn belonged to a winning team and the group grade is calculated from the number of times the original team (color) won.