{"id":15066130,"url":"https://github.com/tom60-schoolprojects/csharp-battleship","last_synced_at":"2025-10-05T03:30:51.223Z","repository":{"id":251280233,"uuid":"836942870","full_name":"Tom60-SchoolProjects/Csharp-Battleship","owner":"Tom60-SchoolProjects","description":"Battleship game on .NET core","archived":true,"fork":false,"pushed_at":"2024-08-01T22:11:50.000Z","size":10417,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-09-30T11:02:14.647Z","etag":null,"topics":["battleship","battleship-game","console","console-game","dotnet","dotnet-core","dotnet-maui","maui","school-assignment","school-project","terminal-game"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tom60-SchoolProjects.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-01T22:08:49.000Z","updated_at":"2024-08-06T16:07:19.000Z","dependencies_parsed_at":"2024-08-02T00:09:18.204Z","dependency_job_id":null,"html_url":"https://github.com/Tom60-SchoolProjects/Csharp-Battleship","commit_stats":null,"previous_names":["tom60-schoolprojects/csharp-battleship"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tom60-SchoolProjects%2FCsharp-Battleship","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tom60-SchoolProjects%2FCsharp-Battleship/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tom60-SchoolProjects%2FCsharp-Battleship/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tom60-SchoolProjects%2FCsharp-Battleship/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tom60-SchoolProjects","download_url":"https://codeload.github.com/Tom60-SchoolProjects/Csharp-Battleship/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235356202,"owners_count":18976819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["battleship","battleship-game","console","console-game","dotnet","dotnet-core","dotnet-maui","maui","school-assignment","school-project","terminal-game"],"created_at":"2024-09-25T01:02:10.214Z","updated_at":"2025-10-05T03:30:45.384Z","avatar_url":"https://github.com/Tom60-SchoolProjects.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# Sujet\n\nLe projet sera un projet **console**, de préférence, sous **.NET 6**, ou **.NET Core 3.1** développé en utilisant le langage **C#**.\n\nLe but de ce projet est de réaliser un jeu de société, [la bataille navale](https://fr.wikipedia.org/wiki/Bataille_navale_\\(jeu\\)), qui permettra de jouer à 2 joueurs. Les règles à implémenter sont les suivantes :\n\n- Chaque joueur dispose de deux grilles carrées de coté N (N étant un entier donné lors de l'appel à une API). Chaque ligne est numérotée de 1 à N et les colonnes de A à Alphabet[N] (Ex. pour N=10, Alphabet[9] -\u003e \"J\")\n- Les joueur dispose d'une flotte composée de bateaux qui vous seront également donnés suite à l'appel à la même API\n- Une grille sera la grille de la flotte du joueur, sur laquelle il placera ses bateaux en début de partie\n- L'autre grille représentera la grille de l'adverse, où le joueur pourra marquer les \"touchés\" et les \"ratés\" à chaque tour de jeu\n- Les joueurs jouent chacun leur tour, lors du tour d'un joueur celui-ci annonce une case de la grille (Ex. B5), l'adversaire doit répondre soit \"raté\" si la case est vide, soit \"touché\" si le joueur a touché un bateau et enfin \"touché coulé\" si le joueur a touché la totalité des cases d'un bateau.\n\n**Techniquement**, votre solution utilisera une **API**, créé pour cette occasion, qui vous donnera la taille N de la grille ainsi qu'une liste de bateaux avec leurs tailles et leurs noms. L'URL de cette API est la suivant https://REDACTED/api/GetConfig, cette API est protégée par une clé d'API qui est la suivante **REDACTED**. La clé d'API est à passer en **header** lors de votre requête avec comme nom **x-functions- key**.\n\nVous organiserez votre solution en plusieurs projets, **au minimum** vous devrez produire :\n\n- Bibliothèque gérant les interactions avec votre API\n- Bibliothèque de logique du jeu\n- Application console gérant l'affichage du déroulé de la partie.\n\nVos différents projets devront être le plus modulable possible pour pouvoir fonctionner indépendamment. Exemple :\n\n- Pouvoir utiliser un autre système de récupération des infos de base\n- Pouvoir utiliser une autre application que l'application console.\n\nVous veillerez également à organiser correctement la structure interne de chaque projet (utilisation de différents dossiers/namespaces).\n\n# Bonus\n\nDes points bonus vous seront accordés, si vous n'avez pas la note maximale. Pour obtenir ces points bonus, vous devrez effectuer :\n\n- les tests unitaire des différentes bibliothèques et de l'application\n- Ajouter la possibilité d'utiliser une interface graphique (avec **MAUI** ou WPF), **en plus** de la console.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftom60-schoolprojects%2Fcsharp-battleship","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftom60-schoolprojects%2Fcsharp-battleship","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftom60-schoolprojects%2Fcsharp-battleship/lists"}