OutputView
2023.08.29
import SwiftUI
struct OutputView: View{
@EnvironmentObject var mbData: MBData
@State var MBkosu: Double = 0
let MBpar = 47
let MBtanka = 3
@EnvironmentObject var ncData: NCData
@State var NCkosu: Double = 0
let NCpar = 147
let NCtanka = 12
@EnvironmentObject var skData: SKData
@State var SKkosu: Double = 0
let SKpar = 33
let SKtanka = 21
@EnvironmentObject var idData: IDData
@State var IDkosu: Double = 0
let IDpar = 117
let IDtanka = 8
@EnvironmentObject var swData: SWData
@State var SWkosu: Double = 0
let SWpar = 321
let SWtanka = 30
@EnvironmentObject var tvData: TVData
@State var TVkosu: Double = 0
let TVpar = 175
let TVtanka = 16
@EnvironmentObject var dnData: DNData
@State var DNkosu: Double = 0
let DNpar = 225
let DNtanka = 13
@EnvironmentObject var jaData: JAData
@State var JAkosu: Double = 0
let JApar = 345
let JAtanka = 22
@EnvironmentObject var dgData: DGData
@State var DGkosu: Double = 0
let DGpar = 88
let DGtanka = 5
@EnvironmentObject var acData: ACData
@State var ACkosu: Double = 0
let ACpar = 268
let ACtanka = 16
@State private var showAlert = true
var body: some View{
VStack{
VStack{
Image("Reduceco2地球")
.resizable(resizingMode: .stretch)
.aspectRatio(contentMode: .fit)
.frame(width:300,height:300)
.clipped()
VStack{
HStack {
Text("Reduce CO2")
.fontWeight(.thin)
.foregroundColor(Color.blue)
.frame(width:280,height:40,alignment: .center)
.font(.system(size:50))
Image(systemName: "globe.asia.australia.fill")
.foregroundColor(Color.blue)
.font(.system(size: 50))
}
Text("CO2削減効果見える化アプリ")
.font(.footnote)
.frame(width:320,height:20,alignment:
.trailing)
.foregroundColor(Color.white)
.background(Color.mint)
}.padding(.all,5)
.background(Color.mint) }
let soryo = (mbData.MBkosu * MBpar) + (ncData.NCkosu * NCpar) + (skData.SKkosu * SKpar) + (idData.IDkosu * IDpar) + (swData.SWkosu * SWpar) + (tvData.TVkosu * TVpar) + (dnData.DNkosu * DNpar) + (jaData.JAkosu * JApar) + (dgData.DGkosu * DGpar) + (acData.ACkosu * ACpar);
let sogaku = (mbData.MBkosu * MBtanka + ncData.NCkosu * NCtanka + skData.SKkosu * SKtanka + idData.IDkosu * IDtanka + swData.SWkosu * SWtanka + tvData.TVkosu * TVtanka + dnData.DNkosu * DNtanka + jaData.JAkosu * JAtanka + dgData.DGkosu * DGtanka + acData.ACkosu * ACtanka);
Text("You reduced about \(soryo) g CO2 so far.")
.font(.callout)
.foregroundColor(Color.indigo)
.frame(width:330,height:20,alignment:
.topLeading)
Text("You saved about \(sogaku) yen so far.")
.font(.callout)
.foregroundColor(.indigo)
.frame(width:330,height:20,alignment:
.topLeading)
VStack{
HStack{
if (soryo >= 100){
Image("1トロフィー")
.resizable(resizingMode: .stretch)
.aspectRatio(contentMode: .fit)
.frame(width:70,height:70)
.clipped()
}else{
Image("")
}
if (soryo >= 6600){
Image("10トロフィー")
.resizable(resizingMode: .stretch)
.aspectRatio(contentMode: .fit)
.frame(width:70,height:70)
.clipped()
}else{
Image("")
}
if (soryo >= 13200){
Image("20トロフィー")
.resizable(resizingMode: .stretch)
.aspectRatio(contentMode: .fit)
.frame(width:70,height:70)
.clipped()
}else{
Image("")
}
if (soryo >= 19800){
Image("30トロフィー")
.resizable(resizingMode: .stretch)
.aspectRatio(contentMode: .fit)
.frame(width:70,height:70)
.clipped()
}else{
Image("")
}
if (soryo >= 26400){
Image("40トロフィー")
.resizable(resizingMode: .stretch)
.aspectRatio(contentMode: .fit)
.frame(width:70,height:70)
.clipped()
}else{
Image("")
}
}
HStack{
if (soryo >= 33000){
Image("50トロフィー")
.resizable(resizingMode: .stretch)
.aspectRatio(contentMode: .fit)
.frame(width:70,height:70)
.clipped()
}else{
Image("")
}
if (soryo >= 39600){
Image("60トロフィー")
.resizable(resizingMode: .stretch)
.aspectRatio(contentMode: .fit)
.frame(width:70,height:70)
.clipped()
}else{
Image("")
}
if (soryo >= 46200){
Image("70トロフィー")
.resizable(resizingMode: .stretch)
.aspectRatio(contentMode: .fit)
.frame(width:70,height:70)
.clipped()
}else{
Image("")
}
if (soryo >= 56100){
Image("85トロフィー")
.resizable(resizingMode: .stretch)
.aspectRatio(contentMode: .fit)
.frame(width:70,height:70)
.clipped()
}else{
Image("")
}
if (soryo >= 66000){
Image("100トロフィー")
.resizable(resizingMode: .stretch)
.aspectRatio(contentMode: .fit)
.frame(width:70,height:70)
.clipped()
}else{
Image("")
}
}
}.aspectRatio(contentMode: .fit)
}
}
}
struct OutputView_Previews: PreviewProvider {
static var previews: some View {
OutputView()
.environmentObject(MBData())
.environmentObject(NCData())
.environmentObject(SKData())
.environmentObject(IDData())
.environmentObject(SWData())
.environmentObject(TVData())
.environmentObject(DNData())
.environmentObject(JAData())
.environmentObject(DGData())
.environmentObject(ACData())
}
}