Merge branch 'dev' of https://codefirst.iut.uca.fr/git/Binome/Swift_Ark into LanguageApp
commit
faa5fc77a1
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Perceval.jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 493 KiB |
@ -0,0 +1,92 @@
|
||||
//
|
||||
// ItemCollectionParty.swift
|
||||
// ArkitDoushiQi
|
||||
//
|
||||
// Created by Louis DUFOUR on 31/05/2024.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct ItemCollectionParty: View {
|
||||
var party: Party
|
||||
|
||||
var body: some View {
|
||||
VStack {
|
||||
HStack {
|
||||
Text(party.date)
|
||||
.font(.headline)
|
||||
.foregroundColor(.gray)
|
||||
Spacer()
|
||||
}
|
||||
.padding(.bottom, 5)
|
||||
|
||||
GeometryReader { geometry in
|
||||
HStack(spacing: 10) {
|
||||
HStack {
|
||||
Image(party.player1Image)
|
||||
.resizable()
|
||||
.aspectRatio(contentMode: .fill)
|
||||
.frame(width: geometry.size.width * 0.15, height: geometry.size.width * 0.15)
|
||||
.clipShape(Circle())
|
||||
.overlay(Circle().stroke(Color.purple, lineWidth: 2))
|
||||
|
||||
VStack(alignment: .leading) {
|
||||
Text(party.player1Name)
|
||||
.fontWeight(.bold)
|
||||
.foregroundColor(.purple)
|
||||
.lineLimit(1)
|
||||
.minimumScaleFactor(0.5)
|
||||
.frame(maxWidth: geometry.size.width * 0.25, alignment: .leading)
|
||||
|
||||
Text("\(party.player1Score)")
|
||||
.font(.largeTitle)
|
||||
.fontWeight(.bold)
|
||||
.foregroundColor(.green) // Gagnant en vert
|
||||
}
|
||||
}
|
||||
|
||||
Text("vs")
|
||||
.font(.headline)
|
||||
.foregroundColor(.gray)
|
||||
|
||||
HStack {
|
||||
VStack(alignment: .trailing) {
|
||||
Text(party.player2Name)
|
||||
.fontWeight(.bold)
|
||||
.foregroundColor(.purple)
|
||||
.lineLimit(1)
|
||||
.minimumScaleFactor(0.5)
|
||||
.frame(maxWidth: geometry.size.width * 0.25, alignment: .trailing)
|
||||
|
||||
Text("\(party.player2Score)")
|
||||
.font(.largeTitle)
|
||||
.fontWeight(.bold)
|
||||
.foregroundColor(.red) // Perdant en rouge
|
||||
}
|
||||
|
||||
Image(party.player2Image)
|
||||
.resizable()
|
||||
.aspectRatio(contentMode: .fill)
|
||||
.frame(width: geometry.size.width * 0.15, height: geometry.size.width * 0.15)
|
||||
.clipShape(Circle())
|
||||
.overlay(Circle().stroke(Color.purple, lineWidth: 2))
|
||||
}
|
||||
}
|
||||
.padding()
|
||||
.background(Color.white)
|
||||
.cornerRadius(15)
|
||||
.shadow(radius: 3) // Réduction de l'ombre pour un effet plus léger
|
||||
}
|
||||
.frame(height: 120) // Ajustez la hauteur en fonction de votre contenu
|
||||
}
|
||||
.padding(.horizontal)
|
||||
}
|
||||
}
|
||||
|
||||
struct ItemCollectionParty_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
ItemCollectionParty(party: Party(player1Name: "L'invaincu du samedi", player1Score: 2, player1Image: "Perceval", player2Name: "Le gars du dimanche", player2Score: 1, player2Image: "Perceval", date: "Samedi soir"))
|
||||
.previewLayout(.sizeThatFits)
|
||||
.padding()
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
//
|
||||
// DetailGameHistory.swift
|
||||
// ArkitDoushiQi
|
||||
//
|
||||
// Created by Enzo JOLYS on 22/05/2024.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
import DouShouQiModel
|
||||
|
||||
struct HistoryGameDetail: View {
|
||||
|
||||
let game:Game
|
||||
|
||||
var body: some View {
|
||||
ZStack(){
|
||||
Color.red
|
||||
Color.gray
|
||||
HStack(){
|
||||
Text(game.players[.player1]?.name ?? "Inconnu")
|
||||
Text(" VS ")
|
||||
Text(game.players[.player2]?.name ?? "Inconnu")
|
||||
Spacer()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct HistoryGameDetail_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
HistoryGameDetail(game: try! Game(withRules: VerySimpleRules(), andPlayer1: Player(withName: "Joueur 1 ", andId: .player1)!, andPlayer2: Player(withName: "Joueur 2 ", andId: .player2)!))
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
//
|
||||
// EnteteHistory.swift
|
||||
// ArkitDoushiQi
|
||||
//
|
||||
// Created by Enzo JOLYS on 22/05/2024.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct HistoryHeader: View {
|
||||
var body: some View {
|
||||
HStack(){
|
||||
Spacer()
|
||||
Text("Historique !")
|
||||
Spacer()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct HistoryHeader_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
HistoryHeader()
|
||||
}
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
//
|
||||
// History.swift
|
||||
// ArkitDoushiQi
|
||||
//
|
||||
// Created by Enzo JOLYS on 22/05/2024.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
import DouShouQiModel
|
||||
|
||||
struct HistoryView: View {
|
||||
|
||||
var listGame:[Game] = try! [Game(withRules: VerySimpleRules(), andPlayer1: Player(withName: "Player 1 ", andId: .player1)!, andPlayer2: Player(withName: "Player 2 ", andId: .player2)!)]
|
||||
|
||||
var body: some View {
|
||||
VStack(){
|
||||
HistoryHeader()
|
||||
NavigationStack {
|
||||
List(listGame, id: \.board){ game in
|
||||
HistoryGameDetail(game: game)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct HistoryView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
HistoryView()
|
||||
}
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
//
|
||||
// PartyEnregistery.swift
|
||||
// ArkitDoushiQi
|
||||
//
|
||||
// Created by Louis DUFOUR on 31/05/2024.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct PartyListView: View {
|
||||
let parties: [Party] = [
|
||||
Party(player1Name: "L'invaincu du samedi", player1Score: 2, player1Image: "Perceval", player2Name: "Le gars du dimanche", player2Score: 1, player2Image: "Perceval", date: "Samedi soir"),
|
||||
Party(player1Name: "Le champion du vendredi", player1Score: 3, player1Image: "Perceval", player2Name: "Le perdant du lundi", player2Score: 0, player2Image: "Perceval", date: "Vendredi soir")
|
||||
// Ajoutez plus de parties ici
|
||||
]
|
||||
|
||||
var body: some View {
|
||||
NavigationView {
|
||||
List(parties) { party in
|
||||
ItemCollectionParty(party: party)
|
||||
.padding(.vertical, 5)
|
||||
}
|
||||
.navigationTitle("Liste des Parties")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct PartyListView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
PartyListView()
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
//
|
||||
// Stub.swift
|
||||
// ArkitDoushiQi
|
||||
//
|
||||
// Created by Louis DUFOUR on 31/05/2024.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct Party: Identifiable {
|
||||
let id = UUID()
|
||||
let player1Name: String
|
||||
let player1Score: Int
|
||||
let player1Image: String
|
||||
let player2Name: String
|
||||
let player2Score: Int
|
||||
let player2Image: String
|
||||
let date: String
|
||||
}
|
Loading…
Reference in new issue