-
Notifications
You must be signed in to change notification settings - Fork 0
/
planetenEigenschaftenDialog.pl
507 lines (483 loc) · 30.4 KB
/
planetenEigenschaftenDialog.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
:- module(planetenEigenschaftenDialog, [planetenEigenschaftenDialogSystemAuswahl/1]).
:- use_module(library(http/http_dispatch)).
:- use_module(library(http/http_error)).
:- use_module(library(http/html_write)).
:- use_module(library(http/http_parameters)).
:- http_handler('/planetenEigenschaftenDialogSystemAuswahl', planetenEigenschaftenDialogSystemAuswahl, []).
:- http_handler('/planetenEigenschaftenDialogPlanetAuswahl', planetenEigenschaftenDialogPlanetAuswahl, []).
:- http_handler('/planetenEigenschaftenDialog', planetenEigenschaftenDialog, []).
:- http_handler('/planetenEigenschaften', planetenEigenschaften, []).
/* ----------------------------------- Systemauswahl ----------------------------------------------- */
planetenEigenschaftenDialogSystemAuswahl(_Request) :-
textResources:getText(txtEigenschaftenHimmelsKoerperEingeben, TxtEigenschaftenHimmelsKoerperEingeben),
textResources:getText(txtSternenSystemEingeben, TxtSternenSystemEingeben),
string_concat(TxtEigenschaftenHimmelsKoerperEingeben, ': ', Txt0),
string_concat(Txt0, TxtSternenSystemEingeben, TxtHeader),
planetAuswahlDialog:systemAuswahlDialog(
TxtHeader,
'/planetenEigenschaftenDialogPlanetAuswahl').
/* ----------------------------------- Planetauswahl ----------------------------------------------- */
planetenEigenschaftenDialogPlanetAuswahl(Request) :-
textResources:getText(txtEigenschaftenHimmelsKoerperEingeben, TxtEigenschaftenHimmelsKoerperEingeben),
textResources:getText(txtPlanetAuswaehlen, TxtPlanetAuswaehlen),
string_concat(TxtEigenschaftenHimmelsKoerperEingeben, ': ', Txt0),
string_concat(Txt0, TxtPlanetAuswaehlen, TxtHeader),
planetAuswahlDialog:planetAuswahlDialog(
TxtHeader,
'/planetenEigenschaftenDialog',
Request
).
/* ----------------------------------- Eigenschaften eingeben -------------------------------------- */
planetenEigenschaftenDialog(Request) :-
textResources:getText(txtBitteWaehlen, TxtBitteWaehlen),
member(method(post), Request), !,
http_parameters(Request,
[auswahlSystem(AuswahlSystem, [length > 0]),
auswahlPlanet(AuswahlPlanet, [length > 0])
]),
(AuswahlPlanet = TxtBitteWaehlen -> server:fehlerBehandlung;
planetenEigenschaftenAnzeigen(AuswahlSystem, AuswahlPlanet)
).
planetenEigenschaftenAnzeigen(AuswahlSystem, AuswahlPlanet) :-
spielStatus:copyDefaultIfEmpty(AuswahlSystem, AuswahlPlanet),
/* Einlesen vorhandener Werte */
((spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortHauptBasis], 0) -> HauptBasisVorhandenVal=true; HauptBasisVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortWasser], WasserEntfernungValNum) -> WasserVorhandenVal=true; WasserVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortAussenPosten], AussenPostenEntfernungValNum) -> AussenPostenVorhandenVal=true; AussenPostenVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortRaumStation], RaumstationEntfernungValNum) -> RaumstationVorhandenVal=true; RaumstationVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortMittlereRaffinerie], MittlereRaffinerieEntfernungValNum) -> MittlereRaffinerieVorhandenVal=true; MittlereRaffinerieVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortGrosseRaffinerie], GrosseRaffinerieEntfernungValNum) -> GrosseRaffinerieVorhandenVal=true; GrosseRaffinerieVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortHandelsTerminal], HandelsTerminalEntfernungValNum) -> HandelsTerminalVorhandenVal=true; HandelsTerminalVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortHandelsStation], HandelsStationEntfernungValNum) -> HandelsStationVorhandenVal=true; HandelsStationVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortKleineRaffinerie], KleineRaffinerieEntfernungValNum) -> KleineRaffinerieVorhandenVal=true; KleineRaffinerieVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortNahrungsProzessor], NahrungsProzessorEntfernungValNum) -> NahrungsProzessorVorhandenVal=true; NahrungsProzessorVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortBasisTerminus], BasisTerminusEntfernungValNum) -> BasisTerminusVorhandenVal=true; BasisTerminusVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortForschungsTerminal], ForschungsTerminalEntfernungValNum) -> ForschungsTerminalVorhandenVal=true; ForschungsTerminalVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortSauerStoffVerarbeiter], SauerstoffVearbeiterEntfernungValNum) -> SauerstoffVearbeiterVal=true; SauerstoffVearbeiterVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortAtmosphaerenAnlage], AtmosphaerenAnlageEntfernungValNum) -> AtmosphaerenAnlageVorhandenVal=true; AtmosphaerenAnlageVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortBergbauEinheit], BergbauEinheitEntfernungValNum) -> BergbauEinheitVorhandenVal=true; BergbauEinheitVorhandenVal=false),
(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortPlantage], PlantageEntfernungValNum) -> PlantageVorhandenVal=true; PlantageVorhandenVal=false)
),
(var(WasserEntfernungValNum) -> WasserEntfernungVal = 'Zeit'; number_string(WasserEntfernungValNum, WasserEntfernungVal)),
(var(AussenPostenEntfernungValNum) -> AussenPostenEntfernungVal = 'Zeit'; number_string(AussenPostenEntfernungValNum, AussenPostenEntfernungVal)),
(var(RaumstationEntfernungValNum) -> RaumstationEntfernungVal = 'Zeit'; number_string(RaumstationEntfernungValNum, RaumstationEntfernungVal)),
(var(MittlereRaffinerieEntfernungValNum) -> MittlereRaffinerieEntfernungVal = 'Zeit'; number_string(MittlereRaffinerieEntfernungValNum, MittlereRaffinerieEntfernungVal)),
(var(GrosseRaffinerieEntfernungValNum) -> GrosseRaffinerieEntfernungVal = 'Zeit'; number_string(GrosseRaffinerieEntfernungValNum, GrosseRaffinerieEntfernungVal)),
(var(HandelsTerminalEntfernungValNum) -> HandelsTerminalEntfernungVal = 'Zeit'; number_string(HandelsTerminalEntfernungValNum, HandelsTerminalEntfernungVal)),
(var(HandelsStationEntfernungValNum) -> HandelsStationEntfernungVal = 'Zeit'; number_string(HandelsStationEntfernungValNum, HandelsStationEntfernungVal)),
(var(KleineRaffinerieEntfernungValNum) -> KleineRaffinerieEntfernungVal = 'Zeit'; number_string(KleineRaffinerieEntfernungValNum, KleineRaffinerieEntfernungVal)),
(var(NahrungsProzessorEntfernungValNum) -> NahrungsProzessorEntfernungVal = 'Zeit'; number_string(NahrungsProzessorEntfernungValNum, NahrungsProzessorEntfernungVal)),
(var(BasisTerminusEntfernungValNum) -> BasisTerminusEntfernungVal = 'Zeit'; number_string(BasisTerminusEntfernungValNum, BasisTerminusEntfernungVal)),
(var(ForschungsTerminalEntfernungValNum) -> ForschungsTerminalEntfernungVal = 'Zeit'; number_string(ForschungsTerminalEntfernungValNum, ForschungsTerminalEntfernungVal)),
(var(SauerstoffVearbeiterEntfernungValNum) -> SauerstoffVearbeiterEntfernungVal = 'Zeit'; number_string(SauerstoffVearbeiterEntfernungValNum, SauerstoffVearbeiterEntfernungVal)),
(var(AtmosphaerenAnlageEntfernungValNum) -> AtmosphaerenAnlageEntfernungVal = 'Zeit'; number_string(AtmosphaerenAnlageEntfernungValNum, AtmosphaerenAnlageEntfernungVal)),
(var(BergbauEinheitEntfernungValNum) -> BergbauEinheitEntfernungVal = 'Zeit'; number_string(BergbauEinheitEntfernungValNum, BergbauEinheitEntfernungVal)),
(var(PlantageEntfernungValNum) -> PlantageEntfernungVal = 'Zeit'; number_string(PlantageEntfernungValNum, PlantageEntfernungVal)),
textResources:getText(txtAuswahlHimmelskoerper, TxtAuswahlHimmelskoerper),
textResources:getText(txtEinrichtungenUndIhreReisezeit, TxtEinrichtungenUndIhreReisezeit),
textResources:getText(txtJeweilsDieEinrichtungMit, TxtJeweilsDieEinrichtungMit),
textResources:getText(txtEigenschaftenHimmelsKoerperEingeben, TxtEigenschaftenHimmelsKoerperEingeben),
textResources:getText(txtEigenschaftenHimmelsKoerper, TxtEigenschaftenHimmelsKoerper),
string_concat(TxtEigenschaftenHimmelsKoerperEingeben, ': ', Txt0),
string_concat(Txt0, TxtEigenschaftenHimmelsKoerper, TxtHeader),
textResources:getText(txtOk, TxtOk),
textResources:getText(txtReset, TxtReset),
TermerizedBody = [
\['<header>'],
h1([align(center)], [TxtHeader]),
\['</header>'],
\['<formSpace>'],
form([action('/planetenEigenschaften'), method('post'), name('planetenEigenschaftenAuswahlForm')],
[h3(TxtAuswahlHimmelskoerper),
\eingabeTabelleReadOnly(AuswahlSystem, AuswahlPlanet),
h3(TxtEinrichtungenUndIhreReisezeit),
h4(TxtJeweilsDieEinrichtungMit),
\tabelleEinrichtungen(
HauptBasisVorhandenVal,
WasserVorhandenVal, WasserEntfernungVal,
AussenPostenVorhandenVal, AussenPostenEntfernungVal,
RaumstationVorhandenVal, RaumstationEntfernungVal,
MittlereRaffinerieVorhandenVal, MittlereRaffinerieEntfernungVal,
GrosseRaffinerieVorhandenVal, GrosseRaffinerieEntfernungVal,
HandelsTerminalVorhandenVal, HandelsTerminalEntfernungVal,
HandelsStationVorhandenVal, HandelsStationEntfernungVal,
KleineRaffinerieVorhandenVal, KleineRaffinerieEntfernungVal,
NahrungsProzessorVorhandenVal, NahrungsProzessorEntfernungVal,
BasisTerminusVorhandenVal, BasisTerminusEntfernungVal,
ForschungsTerminalVorhandenVal, ForschungsTerminalEntfernungVal,
SauerstoffVearbeiterVal, SauerstoffVearbeiterEntfernungVal,
AtmosphaerenAnlageVorhandenVal, AtmosphaerenAnlageEntfernungVal,
BergbauEinheitVorhandenVal, BergbauEinheitEntfernungVal,
PlantageVorhandenVal, PlantageEntfernungVal
),
p(table([width("12%"), border("0"), cellspacing("3"), cellpadding("2")],
[td([button([name("submit"), type("submit")], TxtOk)]),
td([button([name("reset"), type("reset")], TxtReset)])
]))
]),
\['</formSpace>'] ],
server:holeCssAlsStyle(StyleString),
textResources:getText(txtNoMansSkyTrainerHimmelskoerperEing, TxtNoMansSkyTrainerHimmelskoerperEing),
TermerizedHead = [\[StyleString], title(TxtNoMansSkyTrainerHimmelskoerperEing)],
reply_html_page(TermerizedHead, TermerizedBody).
eingabeTabelleReadOnly(AuswahlSystem, AuswahlPlanet) -->
{ textResources:getText(txtSystemDp, TxtSystem),
textResources:getText(txtPlanetDp, TxtPlanet)
},
html(
div(class('table50'),[
div(class('tr'), [
\divInputReadOnly('auswahlSystem', TxtSystem, AuswahlSystem, 1),
\divInputReadOnly('auswahlPlanet', TxtPlanet, AuswahlPlanet, 2)
])
])).
tabelleEinrichtungen(
HauptBasisVorhandenVal,
WasserVorhandenVal, WasserEntfernungVal,
AussenPostenVorhandenVal, AussenPostenEntfernungVal,
_RaumstationVorhandenVal, RaumstationEntfernungVal,
MittlereRaffinerieVorhandenVal, MittlereRaffinerieEntfernungVal,
GrosseRaffinerieVorhandenVal, GrosseRaffinerieEntfernungVal,
HandelsTerminalVorhandenVal, HandelsTerminalEntfernungVal,
HandelsStationVorhandenVal, HandelsStationEntfernungVal,
KleineRaffinerieVorhandenVal, KleineRaffinerieEntfernungVal,
NahrungsProzessorVorhandenVal, NahrungsProzessorEntfernungVal,
BasisTerminusVorhandenVal, BasisTerminusEntfernungVal,
ForschungsTerminalVorhandenVal, ForschungsTerminalEntfernungVal,
SauerstoffVearbeiterVal, SauerstoffVearbeiterEntfernungVal,
AtmosphaerenAnlageVorhandenVal, AtmosphaerenAnlageEntfernungVal,
BergbauEinheitVorhandenVal, BergbauEinheitEntfernungVal,
PlantageVorhandenVal, PlantageEntfernungVal
) -->
{ textResources:getText(ortHauptBasis, TxtHauptBasis0),
textResources:getText(ortWasser, TxtWasser0),
textResources:getText(ortAussenPosten, TxtAussenPosten0),
textResources:getText(ortRaumStation, TxtRaumStation0),
textResources:getText(ortMittlereRaffinerie, TxtMittlereRaffinerie0),
textResources:getText(ortGrosseRaffinerie, TxtGrosseRaffinerie0),
textResources:getText(ortHandelsTerminal, TxtHandelsTerminal0),
textResources:getText(ortHandelsStation, TxtHandelsStation0),
textResources:getText(ortKleineRaffinerie, TxtKleineRaffinerie0),
textResources:getText(ortNahrungsProzessor, TxtNahrungsProzessor0),
textResources:getText(ortBasisTerminus, TxtBasisTerminus0),
textResources:getText(ortForschungsTerminal, TxtForschungsTerminal0),
textResources:getText(ortSauerStoffVerarbeiter, TxtSauerStoffVerarbeiter0),
textResources:getText(ortAtmosphaerenAnlage, TxtAtmosphaerenAnlage0),
textResources:getText(ortBergbauEinheit, TxtBergbauEinheit0),
textResources:getText(ortPlantage, TxtPlantage0),
textResources:stringToSubstantiv(TxtHauptBasis0, TxtHauptBasis),
textResources:stringToSubstantiv(TxtWasser0, TxtWasser),
textResources:stringToSubstantiv(TxtAussenPosten0, TxtAussenPosten),
textResources:stringToSubstantiv(TxtRaumStation0, TxtRaumStation),
textResources:stringToSubstantiv(TxtMittlereRaffinerie0, TxtMittlereRaffinerie),
textResources:stringToSubstantiv(TxtGrosseRaffinerie0, TxtGrosseRaffinerie),
textResources:stringToSubstantiv(TxtHandelsTerminal0, TxtHandelsTerminal),
textResources:stringToSubstantiv(TxtHandelsStation0, TxtHandelsStation),
textResources:stringToSubstantiv(TxtKleineRaffinerie0, TxtKleineRaffinerie),
textResources:stringToSubstantiv(TxtNahrungsProzessor0, TxtNahrungsProzessor),
textResources:stringToSubstantiv(TxtBasisTerminus0, TxtBasisTerminus),
textResources:stringToSubstantiv(TxtForschungsTerminal0, TxtForschungsTerminal),
textResources:stringToSubstantiv(TxtSauerStoffVerarbeiter0, TxtSauerStoffVerarbeiter),
textResources:stringToSubstantiv(TxtAtmosphaerenAnlage0, TxtAtmosphaerenAnlage),
textResources:stringToSubstantiv(TxtBergbauEinheit0, TxtBergbauEinheit),
textResources:stringToSubstantiv(TxtPlantage0, TxtPlantage)
},
html(div(class('table50'),[
div(class('tr'), [
div(class('th'), TxtRaumStation),
div(class('td'), [
input([ type('checkbox'),
name('raumstation_vorhanden'),
tabindex(100),
checked,
disabled
]),
input([ type('text'),
value(RaumstationEntfernungVal),
size(6),
minlength(1),
maxlength(6),
pattern('(^[1..9]*[0-9]*$)|Zeit'),
name('raumstation_entfernung'),
tabindex(100)
]),
label([for('hauptBasis_entfernung')],[' 1/100 sec'])
])
]),
div(class('tr'), [
div(class('th'), TxtHauptBasis),
div(class('td'), [
\check('hauptBasis_vorhanden', HauptBasisVorhandenVal, 101),
input([ type('text'),
value('0'),
size(6),
minlength(1),
maxlength(6),
pattern('(^[1..9]*[0-9]*$)|Zeit'),
name('hauptBasis_entfernung'),
tabindex(101),
disabled(true)
]),
label([for('hauptBasis_entfernung')],[' 1/100 sec'])
])
]),
div(class('tr'), [
div(class('th'), TxtWasser),
\checkZeitUnitGruppe('wasser_vorhanden', WasserVorhandenVal, 102, 'wasser_entfernung', WasserEntfernungVal, 102)
]),
div(class('tr'), [
div(class('th'), TxtAussenPosten),
\checkZeitUnitGruppe('aussenPosten_vorhanden', AussenPostenVorhandenVal, 103, 'aussenPosten_entfernung', AussenPostenEntfernungVal, 103)
]),
div(class('tr'), [
div(class('th'), TxtMittlereRaffinerie),
\checkZeitUnitGruppe('mittlereRaffinerie_vorhanden', MittlereRaffinerieVorhandenVal, 105, 'mittlereRaffinerie_entfernung', MittlereRaffinerieEntfernungVal, 105)
]),
div(class('tr'), [
div(class('th'), TxtGrosseRaffinerie),
\checkZeitUnitGruppe('grosseRaffinerie_vorhanden', GrosseRaffinerieVorhandenVal, 106, 'grosseRaffinerie_entfernung', GrosseRaffinerieEntfernungVal, 106)
]),
div(class('tr'), [
div(class('th'), TxtHandelsTerminal),
\checkZeitUnitGruppe('handelsTerminal_vorhanden', HandelsTerminalVorhandenVal, 107, 'handelsTerminal_entfernung', HandelsTerminalEntfernungVal, 107)
]),
div(class('tr'), [
div(class('th'), TxtHandelsStation),
\checkZeitUnitGruppe('handelsStation_vorhanden', HandelsStationVorhandenVal, 108, 'handelsStation_entfernung', HandelsStationEntfernungVal, 108)
]),
div(class('tr'), [
div(class('th'), TxtKleineRaffinerie),
\checkZeitUnitGruppe('kleineRaffinerie_vorhanden', KleineRaffinerieVorhandenVal, 109, 'kleineRaffinerie_entfernung', KleineRaffinerieEntfernungVal, 109)
]),
div(class('tr'), [
div(class('th'), TxtNahrungsProzessor),
\checkZeitUnitGruppe('nahrungsProzessor_vorhanden', NahrungsProzessorVorhandenVal, 110, 'nahrungsProzessor_entfernung', NahrungsProzessorEntfernungVal, 110)
]),
div(class('tr'), [
div(class('th'), TxtBasisTerminus),
\checkZeitUnitGruppe('basisTerminus_vorhanden', BasisTerminusVorhandenVal, 111, 'basisTerminus_entfernung', BasisTerminusEntfernungVal, 111)
]),
div(class('tr'), [
div(class('th'), TxtForschungsTerminal),
\checkZeitUnitGruppe('konstruktionsStation_vorhanden', ForschungsTerminalVorhandenVal, 112, 'konstruktionsStation_entfernung', ForschungsTerminalEntfernungVal, 112)
]),
div(class('tr'), [
div(class('th'), TxtSauerStoffVerarbeiter),
\checkZeitUnitGruppe('sauerstoffVearbeiter_vorhanden', SauerstoffVearbeiterVal, 113, 'sauerstoffVearbeiter_entfernung', SauerstoffVearbeiterEntfernungVal, 113)
]),
div(class('tr'), [
div(class('th'), TxtAtmosphaerenAnlage),
\checkZeitUnitGruppe('atmosphaerenAnlage_vorhanden', AtmosphaerenAnlageVorhandenVal, 114, 'atmosphaerenAnlage_entfernung', AtmosphaerenAnlageEntfernungVal, 114)
]),
div(class('tr'), [
div(class('th'), TxtBergbauEinheit),
\checkZeitUnitGruppe('bergbauEinheit_vorhanden', BergbauEinheitVorhandenVal, 115, 'bergbauEinheit_entfernung', BergbauEinheitEntfernungVal, 115)
]),
div(class('tr'), [
div(class('th'), TxtPlantage),
\checkZeitUnitGruppe('plantage_vorhanden', PlantageVorhandenVal, 116, 'plantage_entfernung', PlantageEntfernungVal, 117)
])
])).
divInputReadOnly(Name, LabelText, Value, Index) -->
html(
div(class('td'), [
label([ for(Name)],[LabelText]),
input([ name(Name),
class(text40Format),
type('text'),
size(20),
maxlength(20),
value(Value),
tabindex(Index),
readonly(true)
])
])
).
checkZeitUnitGruppe(NameCheck, ValueCheck, IndexCheck, NameZeit, ValueZeit, IndexZeit) -->
html(
div(class('td'), [
\check(NameCheck, ValueCheck, IndexCheck),
input([ type('text'),
size(6),
minlength(1),
maxlength(6),
pattern('(^[1..9]*[0-9]*$)|Zeit'),
name(NameZeit),
value(ValueZeit),
tabindex(IndexZeit)
]),
label([for(NameZeit)],[' 1/100 sec'])
])
).
check(CheckName, CheckVal, Index) -->
{ string_concat('<input type="checkbox" name=', CheckName, CheckedString0),
string_concat(CheckedString0, ' tabindex=', CheckedString1),
string_concat(CheckedString1, Index, CheckedString2),
((CheckVal = true, string_concat(CheckedString2, ' checked>', CheckedString));
(CheckVal = false, string_concat(CheckedString2, '>', CheckedString))
)
},
html(
\[CheckedString]
).
/* ----------------------------------- Abspeichern und Antwort ------------------------------------- */
planetenEigenschaften(Request) :-
member(method(post), Request), !,
http_parameters(Request,
[auswahlSystem(AuswahlSystem, [length > 0]),
auswahlPlanet(AuswahlPlanet, [length > 0]),
hauptBasis_vorhanden(HauptBasisVorhanden, [default(off)]),
raumstation_vorhanden(RaumstationVorhanden, [default(on)]),
wasser_vorhanden(WasserVorhanden, [default(off)]),
aussenPosten_vorhanden(AussenPostenVorhanden, [default(off)]),
mittlereRaffinerie_vorhanden(RaffinerieMittelVorhanden, [default(off)]),
grosseRaffinerie_vorhanden(RaffinerieGrossVorhanden, [default(off)]),
handelsTerminal_vorhanden(HandelsTerminalVorhanden, [default(off)]),
handelsStation_vorhanden(HandelsStationVorhanden, [default(off)]),
kleineRaffinerie_vorhanden(RaffinerieKleinVorhanden, [default(off)]),
nahrungsProzessor_vorhanden(NahrungsProzessorVorhanden, [default(off)]),
basisTerminus_vorhanden(BasisTerminusVorhanden, [default(off)]),
konstruktionsStation_vorhanden(KonstruktionsStationVorhanden, [default(off)]),
sauerstoffVearbeiter_vorhanden(SauerstoffVearbeiterVorhanden, [default(off)]),
atmosphaerenAnlage_vorhanden(AtmosphaerenAnlageVorhanden, [default(off)]),
bergbauEinheit_vorhanden(BergbauEinheitVorhanden, [default(off)]),
plantage_vorhanden(PlantageVorhanden, [default(off)]),
wasser_entfernung(WasserEntfernung, [default('Zeit')]),
aussenPosten_entfernung(AussenPostenEntfernung, [default('Zeit')]),
raumstation_entfernung(RaumstationEntfernung, [default('Zeit')]),
mittlereRaffinerie_entfernung(RaffinerieMittelEntfernung, [default('Zeit')]),
grosseRaffinerie_entfernung(RaffinerieGrossEntfernung, [default('Zeit')]),
handelsTerminal_entfernung(HandelsTerminalEntfernung, [default('Zeit')]),
handelsStation_entfernung(HandelsStationEntfernung, [default('Zeit')]),
kleineRaffinerie_entfernung(RaffinerieKleinEntfernung, [default('Zeit')]),
nahrungsProzessor_entfernung(NahrungsProzessorEntfernung, [default('Zeit')]),
basisTerminus_entfernung(BasisTerminusEntfernung, [default('Zeit')]),
konstruktionsStation_entfernung(KonstruktionsStationEntfernung, [default('Zeit')]),
sauerstoffVearbeiter_entfernung(SauerstoffVerarbeiter, [default('Zeit')]),
atmosphaerenAnlage_entfernung(AtmosphaerenAnlageEntfernung, [default('Zeit')]),
bergbauEinheit_entfernung(BergbauEinheitEntfernung, [default('Zeit')]),
plantage_entfernung(PlantageEntfernung, [default('Zeit')])
]),
((WasserVorhanden = on, WasserEntfernung = 'Zeit', fehlerBehandlungGruppe(ortWasser));
(AussenPostenVorhanden = on, AussenPostenEntfernung = 'Zeit', fehlerBehandlungGruppe(ortAussenPosten));
(RaumstationVorhanden = on, RaumstationEntfernung = 'Zeit', fehlerBehandlungGruppe(ortRaumStation));
(RaffinerieMittelVorhanden = on, RaffinerieMittelEntfernung = 'Zeit', fehlerBehandlungGruppe(ortMittlereRaffinerie));
(RaffinerieGrossVorhanden = on, RaffinerieGrossEntfernung = 'Zeit', fehlerBehandlungGruppe(ortGrosseRaffinerie));
(HandelsTerminalVorhanden = on, HandelsTerminalEntfernung = 'Zeit', fehlerBehandlungGruppe(ortHandelsTerminal));
(HandelsStationVorhanden = on, HandelsStationEntfernung = 'Zeit', fehlerBehandlungGruppe(ortHandelsStation));
(RaffinerieKleinVorhanden = on, RaffinerieKleinEntfernung = 'Zeit', fehlerBehandlungGruppe(ortKleineRaffinerie));
(NahrungsProzessorVorhanden = on, NahrungsProzessorEntfernung = 'Zeit', fehlerBehandlungGruppe(ortNahrungsProzessor));
(BasisTerminusVorhanden = on, BasisTerminusEntfernung = 'Zeit', fehlerBehandlungGruppe(ortBasisTerminus));
(KonstruktionsStationVorhanden = on, KonstruktionsStationEntfernung = 'Zeit', fehlerBehandlungGruppe(ortForschungsTerminal));
(SauerstoffVearbeiterVorhanden = on, SauerstoffVerarbeiter = 'Zeit', fehlerBehandlungGruppe(ortSauerStoffVerarbeiter));
(BergbauEinheitVorhanden = on, BergbauEinheitEntfernung = 'Zeit', fehlerBehandlungGruppe(ortBergbauEinheit));
(AtmosphaerenAnlageVorhanden = on, AtmosphaerenAnlageEntfernung = 'Zeit', fehlerBehandlungGruppe(ortAtmosphaerenAnlage));
(PlantageVorhanden = on, PlantageEntfernung = 'Zeit', fehlerBehandlungGruppe(ortPlantage));
(HauptBasisVorhanden = off, AussenPostenVorhanden = on, fehlerBehandlungKeinBauMoeglich(ortAussenPosten));
(HauptBasisVorhanden = off, RaffinerieMittelVorhanden = on, fehlerBehandlungKeinBauMoeglich(ortMittlereRaffinerie));
(HauptBasisVorhanden = off, RaffinerieGrossVorhanden = on, fehlerBehandlungKeinBauMoeglich(ortGrosseRaffinerie));
(HauptBasisVorhanden = off, HandelsTerminalVorhanden = on, fehlerBehandlungKeinBauMoeglich(ortHandelsTerminal));
(HauptBasisVorhanden = off, BasisTerminusVorhanden = on, fehlerBehandlungKeinBauMoeglich(ortBasisTerminus));
(HauptBasisVorhanden = off, PlantageVorhanden = on, fehlerBehandlungKeinBauMoeglich(ortPlantage));
(ausgabe:zeitFeldToNumber(WasserEntfernung, WasserEntfernungNum),
ausgabe:zeitFeldToNumber(AussenPostenEntfernung, AussenPostenEntfernungNum),
ausgabe:zeitFeldToNumber(RaumstationEntfernung, RaumstationEntfernungNum),
ausgabe:zeitFeldToNumber(RaffinerieMittelEntfernung, RaffinerieMittelEntfernungNum),
ausgabe:zeitFeldToNumber(RaffinerieGrossEntfernung, RaffinerieGrossEntfernungNum),
ausgabe:zeitFeldToNumber(HandelsTerminalEntfernung, HandelsTerminalEntfernungNum),
ausgabe:zeitFeldToNumber(HandelsStationEntfernung, HandelsStationEntfernungNum),
ausgabe:zeitFeldToNumber(RaffinerieKleinEntfernung, RaffinerieKleinEntfernungNum),
ausgabe:zeitFeldToNumber(NahrungsProzessorEntfernung, NahrungsProzessorEntfernungNum),
ausgabe:zeitFeldToNumber(BasisTerminusEntfernung, BasisTerminusEntfernungNum),
ausgabe:zeitFeldToNumber(KonstruktionsStationEntfernung, KonstruktionsStationEntfernungNum),
ausgabe:zeitFeldToNumber(SauerstoffVerarbeiter, SauerstoffVerarbeiterNum),
ausgabe:zeitFeldToNumber(AtmosphaerenAnlageEntfernung, AtmosphaerenAnlageEntfernungNum),
ausgabe:zeitFeldToNumber(BergbauEinheitEntfernung, BergbauEinheitEntfernungNum),
ausgabe:zeitFeldToNumber(PlantageEntfernung, PlantageEntfernungNum),
ignore(retractall(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet,_], _))),
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortSpieler], 0)),
spielStatus:systemAusstattung(['System', 'MeinPlanet', ortWald], WaldEntfernungNum),
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortWald], WaldEntfernungNum)),
spielStatus:systemAusstattung(['System', 'MeinPlanet', ortWeltRaum], WeltRaumEntfernungNum),
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortWeltRaum], WeltRaumEntfernungNum)),
(HauptBasisVorhanden = off;
(assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortHauptBasis], 0))
)),
(WasserVorhanden = off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortWasser], WasserEntfernungNum))
),
(AussenPostenVorhanden = off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortAussenPosten], AussenPostenEntfernungNum))
),
(RaumstationVorhanden = off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortRaumStation], RaumstationEntfernungNum))
),
(RaffinerieMittelVorhanden = off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortMittlereRaffinerie], RaffinerieMittelEntfernungNum))
),
(RaffinerieGrossVorhanden = off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortGrosseRaffinerie], RaffinerieGrossEntfernungNum))
),
(HandelsTerminalVorhanden = off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortHandelsTerminal], HandelsTerminalEntfernungNum))
),
(HandelsStationVorhanden = off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortHandelsStation], HandelsStationEntfernungNum))
),
(RaffinerieKleinVorhanden = off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortKleineRaffinerie], RaffinerieKleinEntfernungNum))
),
(NahrungsProzessorVorhanden = off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortNahrungsProzessor], NahrungsProzessorEntfernungNum))
),
(BasisTerminusVorhanden = off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortBasisTerminus], BasisTerminusEntfernungNum))
),
(KonstruktionsStationVorhanden= off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortForschungsTerminal], KonstruktionsStationEntfernungNum))
),
(SauerstoffVearbeiterVorhanden= off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortSauerStoffVerarbeiter], SauerstoffVerarbeiterNum))
),
(AtmosphaerenAnlageVorhanden= off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortAtmosphaerenAnlage], AtmosphaerenAnlageEntfernungNum))
),
(BergbauEinheitVorhanden= off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortBergbauEinheit], BergbauEinheitEntfernungNum))
),
(PlantageVorhanden= off;
assertz(spielStatus:systemAusstattung([AuswahlSystem, AuswahlPlanet, ortPlantage], PlantageEntfernungNum))
),
sammlung:sammlungAnOrteAnpassen(AuswahlSystem, AuswahlPlanet),
server:gespeichert
)).
fehlerBehandlungGruppe(Gruppe) :-
server:holeCssAlsStyle(StyleString),
textResources:getText(Gruppe, TxtGruppe),
textResources:getText(txtDieEinrichtung, TxtDieEinrichtung),
textResources:getText(txtVorhandenGekennzeichnet, TxtVorhandenGekennzeichnet),
string_concat(TxtDieEinrichtung, TxtGruppe, FehlerMeldung0),
string_concat(FehlerMeldung0, TxtVorhandenGekennzeichnet, FehlerMeldung),
textResources:getText(txtNoMansSkyTrainerFehlerInZeile, TxtNoMansSkyTrainerFehlerInZeile),
TermerizedHead = [\[StyleString], title(TxtNoMansSkyTrainerFehlerInZeile)],
TermerizedBody = [
\['<redHeader>'],
h3(align(center), FehlerMeldung),
\['</redHeader>']
],
reply_html_page(TermerizedHead, TermerizedBody).
fehlerBehandlungKeinBauMoeglich(Gruppe) :-
server:holeCssAlsStyle(StyleString),
textResources:getText(Gruppe, TxtGruppe),
textResources:getText(txtDieEinrichtung, TxtDieEinrichtung),
textResources:getText(txtVorhandenOhneBasis, TxtVorhandenGekennzeichnet),
string_concat(TxtDieEinrichtung, TxtGruppe, FehlerMeldung0),
string_concat(FehlerMeldung0, TxtVorhandenGekennzeichnet, FehlerMeldung),
textResources:getText(txtNoMansSkyTrainerFehlerInZeile, TxtNoMansSkyTrainerFehlerInZeile),
TermerizedHead = [\[StyleString], title(TxtNoMansSkyTrainerFehlerInZeile)],
TermerizedBody = [
\['<redHeader>'],
h3(align(center), FehlerMeldung),
\['</redHeader>']
],
reply_html_page(TermerizedHead, TermerizedBody).