|
|
1.1 root 1: # Window: Player evaluation, for Unix Micropolis.
2: #
3: # Micropolis, Unix Version. This game was released for the Unix platform
4: # in or about 1990 and has been modified for inclusion in the One Laptop
5: # Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If
6: # you need assistance with this program, you may contact:
7: # http://wiki.laptop.org/go/Micropolis or email [email protected].
8: #
9: # This program is free software: you can redistribute it and/or modify
10: # it under the terms of the GNU General Public License as published by
11: # the Free Software Foundation, either version 3 of the License, or (at
12: # your option) any later version.
13: #
14: # This program is distributed in the hope that it will be useful, but
15: # WITHOUT ANY WARRANTY; without even the implied warranty of
16: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17: # General Public License for more details. You should have received a
18: # copy of the GNU General Public License along with this program. If
19: # not, see <http://www.gnu.org/licenses/>.
20: #
21: # ADDITIONAL TERMS per GNU GPL Section 7
22: #
23: # No trademark or publicity rights are granted. This license does NOT
24: # give you any right, title or interest in the trademark SimCity or any
25: # other Electronic Arts trademark. You may not distribute any
26: # modification of this program using the trademark SimCity or claim any
27: # affliation or association with Electronic Arts Inc. or its employees.
28: #
29: # Any propagation or conveyance of this program must include this
30: # copyright notice and these terms.
31: #
32: # If you convey this program (or any modifications of it) and assume
33: # contractual liability for the program to recipients of it, you agree
34: # to indemnify Electronic Arts for any liability that those contractual
35: # assumptions impose on Electronic Arts.
36: #
37: # You may not misrepresent the origins of this program; modified
38: # versions of the program must be marked as such and not identified as
39: # the original program.
40: #
41: # This disclaimer supplements the one included in the General Public
42: # License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS
43: # PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY
44: # OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF
45: # SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS
46: # DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES,
47: # INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY,
48: # FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY
49: # RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING,
50: # USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST
51: # INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL
52: # MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE
53: # UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE
54: # WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE
55: # CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR
56: # ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME
57: # JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED
58: # WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A
59: # CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY
60: # NOT APPLY TO YOU.
61: global EvaluationWindows
62: set n [Unique]
63: set parent [WindowLink $head.col2]
64: set win $parent.evaluation$n
65: set EvaluationWindows [linsert $EvaluationWindows 0 $win]
66:
67: LinkWindow $head.evaluation $win
68: LinkWindow $win.head $head
69: LinkWindow $win.parent $parent
70: LinkWindow $win.top $win
71:
72: catch "destroy $win"
73: frame $win
74:
75: SetHelp $win Evaluation
76:
77: global [set var $win.visible]
78: set $var 0
79:
80: bind $win <Visibility> {EvaluationVisible %W [string compare %s FullyObscured]}
81: bind $win <Map> {EvaluationVisible %W 1}
82: bind $win <Unmap> {EvaluationVisible %W 0}
83:
84: #wm title $win {Micropolis Evaluation}
85: #wm iconname $win {Micropolis Evaluation}
86: #wm group $win $head
87: #wm geometry $win 480x240+5-5
88: #wm withdraw $win
89: #wm maxsize $win 700 700
90: #wm minsize $win 400 200
91: #wm protocol $win delete "DeleteWindow evaluation EvaluationWindows"
92:
93:
94: frame $win.leftframe\
95: -borderwidth 1\
96: -relief raised
97:
98: SetHelp $win.leftframe Evaluation.Opinion
99:
100: label $win.leftframe.title\
101: -font [Font $win Big]\
102: -padx 0\
103: -relief flat\
104: -text {Public Opinion}\
105: -width 5
106:
107: label $win.leftframe.isthe\
108: -font [Font $win Large]\
109: -text {Is the mayor doing a good job?}
110:
111: SetHelp $win.leftframe.isthe Evaluation.GoodJob
112:
113: frame $win.leftframe.goodjobframe\
114: -borderwidth 1
115:
116: SetHelp $win.leftframe.goodjobframe Evaluation.GoodJob
117:
118: message $win.leftframe.goodjobframe.yesno\
119: -aspect 1500\
120: -justify right\
121: -padx 5\
122: -pady 2\
123: -font [Font $win Medium]\
124: -text {YES
125: NO}
126:
127: message $win.leftframe.goodjobframe.percents\
128: -aspect 1500\
129: -justify left\
130: -padx 5\
131: -pady 2\
132: -font [Font $win Medium]\
133: -text {100%
134: 0%}
135: LinkWindow $win.goodjob $win.leftframe.goodjobframe.percents
136:
137: pack append $win.leftframe.goodjobframe\
138: $win.leftframe.goodjobframe.percents {right frame w expand} \
139: $win.leftframe.goodjobframe.yesno {right frame e expand}
140:
141: label $win.leftframe.whatare\
142: -font [Font $win Large]\
143: -text {What are the worst problems?}
144:
145: SetHelp $win.leftframe.whatare Evaluation.WorstProblems
146:
147: frame $win.leftframe.worstproblems\
148: -borderwidth 1
149:
150: SetHelp $win.leftframe.worstproblems Evaluation.WorstProblems
151:
152: message $win.leftframe.worstproblems.problemnames\
153: -aspect 1500\
154: -justify right\
155: -padx 5\
156: -pady 2\
157: -font [Font $win Medium]\
158: -text {
159:
160:
161:
162: }
163: LinkWindow $win.problemnames $win.leftframe.worstproblems.problemnames
164:
165: message $win.leftframe.worstproblems.problempercents\
166: -aspect 1500\
167: -justify left\
168: -padx 5\
169: -pady 2\
170: -font [Font $win Medium]\
171: -text {
172:
173:
174:
175: }
176: LinkWindow $win.problempercents $win.leftframe.worstproblems.problempercents
177:
178: pack append $win.leftframe.worstproblems\
179: $win.leftframe.worstproblems.problempercents {right frame w expand} \
180: $win.leftframe.worstproblems.problemnames {right frame e expand}
181:
182: pack append $win.leftframe\
183: $win.leftframe.title {top frame center fillx expand} \
184: $win.leftframe.isthe {top frame center fillx expand} \
185: $win.leftframe.goodjobframe {top frame center fillx expand} \
186: $win.leftframe.whatare {top frame center fillx expand} \
187: $win.leftframe.worstproblems {top frame center fillx expand}
188:
189: frame $win.rightframe\
190: -borderwidth 1\
191: -relief raised
192:
193: SetHelp $win.rightframe Evaluation.Statistics
194:
195: label $win.rightframe.title\
196: -font [Font $win Big]\
197: -padx 0\
198: -relief flat\
199: -text {Statistics}\
200: -width 5
201:
202: frame $win.rightframe.statsframe\
203: -borderwidth 1
204:
205: message $win.rightframe.statsframe.statlabels\
206: -aspect 1500\
207: -justify right\
208: -padx 5\
209: -pady 2\
210: -font [Font $win Medium]\
211: -text {Population:
212: Net Migration:
213: (last year)
214: Assessed Value:
215: Category:
216: Game Level:}
217:
218: message $win.rightframe.statsframe.stats\
219: -aspect 1500\
220: -justify left\
221: -padx 5\
222: -pady 2\
223: -font [Font $win Medium]\
224: -text {
225:
226:
227:
228:
229: }
230: LinkWindow $win.stats $win.rightframe.statsframe.stats
231:
232: pack append $win.rightframe.statsframe\
233: $win.rightframe.statsframe.statlabels {left frame e expand} \
234: $win.rightframe.statsframe.stats {right frame w expand}
235:
236: message $win.rightframe.cityscore\
237: -aspect 1500\
238: -justify center\
239: -padx 5\
240: -pady 2\
241: -font [Font $win Medium]\
242: -text {Overall City Score
243: (0 - 1000)}
244:
245: SetHelp $win.rightframe.cityscore Evaluation.Score
246:
247: frame $win.rightframe.scoreframe\
248: -borderwidth 1
249:
250: SetHelp $win.rightframe.scoreframe Evaluation.Score
251:
252: message $win.rightframe.scoreframe.scorelabels\
253: -aspect 1500\
254: -justify right\
255: -padx 5\
256: -pady 2\
257: -font [Font $win Medium]\
258: -text {Current Score:
259: Annual Change:}
260:
261: message $win.rightframe.scoreframe.scores\
262: -aspect 1500\
263: -justify left\
264: -padx 5\
265: -pady 2\
266: -font [Font $win Medium]\
267: -text {
268:
269: }
270: LinkWindow $win.score $win.rightframe.scoreframe.scores
271:
272: pack append $win.rightframe.scoreframe\
273: $win.rightframe.scoreframe.scorelabels {left frame e expand} \
274: $win.rightframe.scoreframe.scores {right frame w expand}
275:
276: pack append $win.rightframe\
277: $win.rightframe.title {top frame center fillx expand} \
278: $win.rightframe.statsframe {top frame center fillx expand} \
279: $win.rightframe.cityscore {top frame center fillx expand} \
280: $win.rightframe.scoreframe {top frame center fillx expand}
281:
282: frame $win.bottomframe\
283: -borderwidth 0
284:
285: SetHelp $win.bottomframe Evaluation.Dismiss
286:
287: button $win.bottomframe.button\
288: -font [Font $win Large]\
289: -text {Dismiss Evaluation}\
290: -command "pack unpack $win"
291:
292: pack append $win.bottomframe\
293: $win.bottomframe.button {top frame center expand fillx}
294:
295: pack append $win\
296: $win.bottomframe {bottom frame center fillx}\
297: $win.leftframe {left frame center expand fill} \
298: $win.rightframe {right frame center expand fill}
299:
300: sim UpdateEvaluation
301:
302: update idletasks
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.