Commit 063ab665 authored by Benjamin LEROUX's avatar Benjamin LEROUX

games finished

parent 4b9f56f9
...@@ -21,9 +21,6 @@ class DataBase{ ...@@ -21,9 +21,6 @@ class DataBase{
static List<Manga> mangas = <Manga>[]; static List<Manga> mangas = <Manga>[];
static List<GridView> _gameItem = <GridView>[]; static List<GridView> _gameItem = <GridView>[];
static List<String> _gameNames = <String>[];
static List<String> _gameUrls = <String>[];
static List<Game> games = <Game>[]; static List<Game> games = <Game>[];
DataBase(){ DataBase(){
...@@ -41,33 +38,33 @@ class DataBase{ ...@@ -41,33 +38,33 @@ class DataBase{
"L’histoire tourne autour du personnage d’Eren Jäger dans un monde où l’humanité vit entourée d’immenses murs pour se protéger de créatures gigantesques, les Titans. Le récit raconte le combat mené par l’humanité pour reconquérir son territoire, en éclaircissant les mystères liés à l’apparition des Titans, du monde extérieur et des évènements précédant la construction des murs.")); "L’histoire tourne autour du personnage d’Eren Jäger dans un monde où l’humanité vit entourée d’immenses murs pour se protéger de créatures gigantesques, les Titans. Le récit raconte le combat mené par l’humanité pour reconquérir son territoire, en éclaircissant les mystères liés à l’apparition des Titans, du monde extérieur et des évènements précédant la construction des murs."));
games.add(Game('Dark Souls III', 'https://media.senscritique.com/media/000019305488/160/Dark_Souls_III.png', 'From Software', 'Bandai Namco', 'PC - PS4 - Xbox One', 'Action - Jeu de rôle', '8.3', '2016',
"Alors que les flammes vacillantes de votre feu de camp révèlent un monde en ruines, plongez dans un univers immense peuplé d'ennemis colossaux. Découvrez un monde épique et sombre au gameplay nerveux et aux combats toujours plus intenses."));
games.add(Game('Halo: The Master Chief Collection', 'https://media.senscritique.com/media/000006971439/source_big/Halo_The_Master_Chief_Collection.jpg', '343 Industries', 'Microsoft', 'PC - Xbox One - Xbox Series', 'FPS', '8.1', '2014',
"Bundle de remakes HD des quatre premiers épisodes de la célèbre saga Halo, dont le solo et le multijoueur ont été revus spécialement pour la Xbox One."));
games.add(Game('Hollow Knight', 'https://static.wikia.nocookie.net/hollowknight/images/d/dd/Hollow_Knight_%28jeu%29.png/revision/latest?cb=20201212202922&path-prefix=fr', 'Team Cherry', 'Team Cherry', 'PC - PS4 - Xbox One - Switch', 'Plateforme - Action - Aventure', '8.4', '2017',
"Frayez-vous un chemin dans le monde de Hollow Knight! Explorez des cavernes tortueuses, des ruines et des contrées mortelles. Combattez des créatures contaminées et liez-vous d’amitié avec des insectes bizarres. Découvrez une histoire ancestrale et résolvez les mystères enfouis au coeur du royaume."));
games.add(Game('Sekiro', 'https://image.jeuxvideo.com/medias/152905/1529054204-3792-jaquette-avant.jpg', 'From Software', 'Activision', 'PC - PS4 - Xbox One - Stadia', 'Action - Aventure - Infiltration', '8.1', '2019',
"Face à des forces incommensurables dans le Japon de la fin du XVIe siècle, déchaînez un arsenal d'outils prothétiques mortels et de puissantes capacités ninja mêlant furtivité, déplacements verticaux et transversaux, et prenez part à de violents face-à-face au cours d'affrontements sanglants."));
games.add(Game('Slay The Spire', 'https://media.senscritique.com/media/000017651117/source_big/Slay_the_Spire.jpg', 'Mega Crit Games', 'Mega Crit Games', 'PC - PS4 - Xbox One - Switch - Mobile', 'Jeu de cartes - Rogue like', '7.9', '2019',
"Fusion de jeu de cartes et de rogue-like. Construisez votre deck, rencontrez toutes sortes d'ennemis bizarres, découvrez des reliques aux pouvoirs immenses, et éradiquez la tour!"));
games.add(Game('Temtem', 'https://media.senscritique.com/media/000019301418/source_big/Temtem.png', 'CremaGames', 'Humble Games', 'PC - PS5 - Xbox Series X/S - Switch', 'MMO - Tour par tour - Pokemon like', '7.4', '2021',
"Jeu massivement multijoueur. Capturez des créatures pour augmenter votre collection puis entraîner et faites les affronter les temtem d'autres joueurs rencontrés en temps réel un peu partout dans l'univers."));
for(int i=0;i< mangas.length; i++){ for(int i=0;i< mangas.length; i++){
_mangaItem.add(createGrid(mangas[i].title, mangas[i].url)); _mangaItem.add(createGrid(mangas[i].title, mangas[i].url));
} }
_gameNames=['Dark Souls III','Halo: The Master Chief Collection','Hollow Knight','Sekiro', 'Slay The Spire', 'Temtem']; for(int i=0;i< games.length; i++){
_gameItem.add(createGrid(games[i].title, games[i].url));
_gameUrls.add('https://store-images.s-microsoft.com/image/apps.24212.71827372323164480.6e97c7d2-899a-404f-8660-d622a7fc9162.daea9ed5-4921-45a6-a188-637bfab7176c');
_gameUrls.add('https://media.senscritique.com/media/000006971439/source_big/Halo_The_Master_Chief_Collection.jpg');
_gameUrls.add('https://static.wikia.nocookie.net/hollowknight/images/d/dd/Hollow_Knight_%28jeu%29.png/revision/latest?cb=20201212202922&path-prefix=fr');
_gameUrls.add('https://image.jeuxvideo.com/medias/152905/1529054204-3792-jaquette-avant.jpg');
_gameUrls.add('https://media.senscritique.com/media/000017651117/source_big/Slay_the_Spire.jpg');
_gameUrls.add('https://media.senscritique.com/media/000019301418/source_big/Temtem.png');
for(int i=0;i< _gameNames.length; i++){
_gameItem.add(createGrid(_gameNames[i], _gameUrls[i]));
} }
//trier ordre alphabetique?
} }
List<Manga> getMangaList(){ return mangas;} List<Manga> getMangaList(){ return mangas;}
List<GridView> getMangaViews(){ return _mangaItem;} List<GridView> getMangaViews(){ return _mangaItem;}
List<Game> getGameList(){ return games;} List<Game> getGameList(){ return games;}
List<GridView> getGameViews(){ return _gameItem;} List<GridView> getGameViews(){ return _gameItem;}
List<String> getGameNames(){ return _gameNames;}
List<String> getGameUrls(){ return _gameUrls;}
} }
...@@ -3,34 +3,78 @@ import 'package:flutter/material.dart'; ...@@ -3,34 +3,78 @@ import 'package:flutter/material.dart';
class Game { class Game {
final String title; final String title;
final String alternativeTitle;
final String url; final String url;
final String author; final String dev;
final String volumes; final String editor;
final String status; final String plateformes;
final String genres; final String genres;
final String score; final String score;
final String releaseDates; final String releaseDate;
final String description; final String description;
Game(this.title, this.alternativeTitle, this.url, this.author, this.volumes, this.status, this.genres, this.score, this.releaseDates, this.description ); Game(this.title, this.url, this.dev, this.editor, this.plateformes, this.genres, this.score, this.releaseDate, this.description );
} }
class DetailGameScreen extends StatelessWidget { class DetailGameScreen extends StatelessWidget {
final Game game; final Game game;
static const TextStyle boldStyle = TextStyle( fontWeight: FontWeight.bold,color: Colors.black);
static const TextStyle classicStyle = TextStyle(color: Colors.black);
static const TextStyle boldTitleStyle = TextStyle( fontWeight: FontWeight.bold,color: Colors.black,fontSize: 20);
static const TextStyle classicTitleStyle = TextStyle(color: Colors.black, fontSize: 20);
// In the constructor, require a game. // In the constructor, require a manga
DetailGameScreen({Key key, @required this.game}) : super(key: key); DetailGameScreen({Key key, @required this.game}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text(game.title), title: Text("Détails de l'oeuvre"),
), ),
body: Padding( body: Padding(
padding: EdgeInsets.all(16.0), padding: EdgeInsets.all(4.0),
child: Text(game.description), child: ListView(
padding: const EdgeInsets.all(8),
children: <Widget>[
Container(
height: 25,
child: RichText(text: TextSpan(children: <TextSpan>[
TextSpan(text: "Titre: ", style: boldTitleStyle,),
TextSpan(text: "${game.title}", style: classicTitleStyle,),
],),)
),
Container(
height: 225,
child: GridView.count(
childAspectRatio: 0.8,
crossAxisCount: 2,
physics: new NeverScrollableScrollPhysics(),
children: <Widget>[
Image.network(game.url),
Align(alignment: Alignment.center, child: RichText(text: TextSpan(children: <TextSpan>[
TextSpan(text: "Développeurs: ", style: boldStyle,),
TextSpan(text: "${game.dev}\n", style: classicStyle,),
TextSpan(text: "Éditeurs: ", style: boldStyle,),
TextSpan(text: "${game.editor}\n", style: classicStyle,),
TextSpan(text: "Genres: ", style: boldStyle,),
TextSpan(text: "${game.genres}\n", style: classicStyle,),
TextSpan(text: "Plateformes: ", style: boldStyle,),
TextSpan(text: "${game.plateformes}\n", style: classicStyle,),
TextSpan(text: "Date de sortie: ", style: boldStyle,),
TextSpan(text: "${game.releaseDate}\n", style: classicStyle,),
TextSpan(text: "Note communautaire: ", style: boldStyle,),
TextSpan(text: "${game.score}\n", style: classicStyle,),
],),))
]),
),
Container(
height: 400,
child:RichText(textAlign: TextAlign.justify,text: TextSpan(children: <TextSpan>[
TextSpan(text: "En bref:\n", style: boldTitleStyle,),
TextSpan(text: "${game.description}\n", style: classicStyle,),
],),)
)],
),
), ),
); );
} }
......
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_media/DataBase.dart';
class Manga { class Manga {
final String title; final String title;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment