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
pelita [2019/09/04 09:30] – [Setup] Rike-Benjamin Schuppnerpelita [2023/08/31 17:50] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Programming Project ====== ====== Programming Project ======
  
-[[https://github.com/ASPP/pelita_template|{{ https://github.com/ASPP/pelita_template/raw/master/pelita_GUI.png?nolink&600 }}]]+[[https://github.com/ASPP/pelita_template|{{ https://github.com/ASPP/pelita_template/raw/main/pelita_GUI.png?nolink&600 }}]]
 Pelita is a Pac-Man like game. Two teams each of two bots are placed in a maze with food pellets. The maze is split into two parts, the left one belongs to the team on the left (the blue team), the right one belongs to the team on the right (the red team). When a bot is in its own homezone it is a ghost. A ghost can defend its own food pellets by killing the enemies. When a bot is in its enemy's homezone it is a pac-man and can eat the enemy's food. Pelita is a Pac-Man like game. Two teams each of two bots are placed in a maze with food pellets. The maze is split into two parts, the left one belongs to the team on the left (the blue team), the right one belongs to the team on the right (the red team). When a bot is in its own homezone it is a ghost. A ghost can defend its own food pellets by killing the enemies. When a bot is in its enemy's homezone it is a pac-man and can eat the enemy's food.
  
Line 9: Line 9:
  
 ==== Setup ==== ==== Setup ====
-Install pelita:+Fork the group repo (where ''N'' is your group number)''https://github.com/ASPP/GroupN.git''
  
-    pip install pelita +See the documentation directly on ''https://github.com/ASPP/GroupN''
- +
-Clone the group repo (where ''N'' is your group number): +
- +
-    git clone https://github.com/ASPP/groupN.git +
- +
-See the documentation directly on https://github.com/ASPP/groupN+
  
 ==== Intent ==== ==== Intent ====
Line 55: Line 49:
     * Are you allowed to work alone and putting on your headphones?      * Are you allowed to work alone and putting on your headphones? 
     * Are you allowed to work outside of the classroom?     * Are you allowed to work outside of the classroom?
-    * Are you allowed to push to ''master'' without having a review by another member of the team?+    * Are you allowed to push to ''main'' without having a review by another member of the team?
     * <color #949494>[If this were my group, the answer would be ''No'' to all questions :)]</color>     * <color #949494>[If this were my group, the answer would be ''No'' to all questions :)]</color>
   * choose persons responsible for certain roles. You need at least:   * choose persons responsible for certain roles. You need at least:
     * a group speaker, and most probably…     * a group speaker, and most probably…
-    * … a release manager +    * … a release manager (the git "pope")
     * <color #949494>[those two shouldn't be the same person]</color>     * <color #949494>[those two shouldn't be the same person]</color>
   * take time, once in a while, to step back and have a look at how the group work is going and to discuss if you need adjustments   * take time, once in a while, to step back and have a look at how the group work is going and to discuss if you need adjustments
Line 73: Line 67:
   * later we will make [[#network_games|network bots]] available which are more advanced than the demo ones, so that you can try your bots against more serious opponents   * later we will make [[#network_games|network bots]] available which are more advanced than the demo ones, so that you can try your bots against more serious opponents
   * do **not** waste hours debugging Pelita or wondering about exotic cases: ask the tutors, they are there for you and are happy to help!   * do **not** waste hours debugging Pelita or wondering about exotic cases: ask the tutors, they are there for you and are happy to help!
 +
 +At the end of the first session:
 +  * Discuss the above points and write down the outcome of that discussion, even just as a list of bullet-points, into a new file called ''collaboration.md'' in your group repo and push it, so that the faculty can review it :-)
  
  
Line 78: Line 75:
  
 <alert type="warning" icon="fa fa-warning"> **WARNING** <alert type="warning" icon="fa fa-warning"> **WARNING**
-  * The repos are going to be **frozen** on Saturday September at exactly **17:00**!+  * The repos are going to be **frozen** on Saturday September at exactly **17:30**!
   * Be sure there is a file in your repo named ''groupN.py'', where ''N'' is your group number   * Be sure there is a file in your repo named ''groupN.py'', where ''N'' is your group number
-  * The file should define the string ''TEAM_NAME'' and the function ''move(bot, state) ⟶ (x,y), state''+  * The file should define the string ''TEAM_NAME'' and the function ''move(bot, state) ⟶ (x,y)''
 </alert> </alert>
  
Line 95: Line 92:
     * **final**: the two winners of the semifinals against each other     * **final**: the two winners of the semifinals against each other
     * **last-chance final**: the winner of the final against the 5th team from the round-robin     * **last-chance final**: the winner of the final against the 5th team from the round-robin
-  - <color #949494>(if there is time and if the tutors are willing to risk):</color>+/*  - <color #949494>(if there is time and if the tutors are willing to risk):</color>
     * <color #949494>**the tutor-humiliation round**: the winner of the students against the tutors' bots </color>     * <color #949494>**the tutor-humiliation round**: the winner of the students against the tutors' bots </color>
 +*/
 +
  
 ==== Network games ==== ==== Network games ====
-… more info soon … 
-/* 
 To play against the more advanced bots in the network, start a network game: To play against the more advanced bots in the network, start a network game:
  
-    pelita groupN.py remote:tcp://10.0.2.144:30001 +    pelita groupN.py SCAN 
-    pelita groupN.py remote:tcp://10.0.2.144:30002 + 
-    pelita groupN.py remote:tcp://10.0.2.144:30003 +The keyword SCAN allows you then to select a network player on the command line
-    pelita groupN.py remote:tcp://10.0.2.144:30004             + 
-    pelita groupN.py remote:tcp://10.0.2.144:30005 +(Of course, remember that your bot can also play on the right side, so make sure to test eg''%%pelita SCAN groupN.py%%'' as well.)
-    pelita groupN.py remote:tcp://10.0.2.144:30006 +
-    pelita groupN.py remote:tcp://10.0.2.144:30007+
  
-(Of course, remember that your bot can also play on the right side, so make sure to test eg. ''%%pelita remote:tcp://10.0.2.144:30001 groupN.py%%'' as well.) 
-*/