Annotation of micropolis/res/wscen_old.tcl, revision 1.1.1.1

1.1       root        1: # Window: Scenarios, 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: #
                     62: global ScenarioWindows
                     63: set n [Unique]
                     64: set parent [WindowLink $head.col2]
                     65: set win $parent.scenario$n
                     66: set ScenarioWindows [linsert $ScenarioWindows 0 $win]
                     67: 
                     68: global ScenarioPanelWidth
                     69: global ScenarioPanelHeight
                     70: 
                     71: LinkWindow $head.scenario $win
                     72: LinkWindow $win.head $head
                     73: LinkWindow $win.parent $parent
                     74: 
                     75: catch "destroy $win"
                     76: frame $win \
                     77:   -width $ScenarioPanelWidth \
                     78:   -height $ScenarioPanelHeight
                     79: 
                     80: SetHelp $win Scenario
                     81: 
                     82: frame $win.scen\
                     83:   -borderwidth 0 -geometry 100x470
                     84: 
                     85: label $win.scen.micropolis\
                     86:   -bitmap "@images/micropolisl.xpm" \
                     87:   -font [Font $win Medium]
                     88: 
                     89: button $win.scen.newcity\
                     90:   -command "UIGenerateNewCity" \
                     91:   -relief flat \
                     92:   -borderwidth 0 \
                     93:   -bitmap "@images/scncty.xpm" \
                     94:   -font [Font $win Medium]
                     95: 
                     96: SetHelp $win.scen.newcity Scenario.NewCity
                     97: 
                     98: button $win.scen.loadcity\
                     99:   -command "UILoadCity $head" \
                    100:   -relief flat \
                    101:   -borderwidth 0 \
                    102:   -bitmap "@images/sclcty.xpm" \
                    103:   -font [Font $win Medium]
                    104: 
                    105: SetHelp $win.scen.loadcity Scenario.LoadCity
                    106: 
                    107: button $win.scen.dullsville\
                    108:   -command {UILoadScenario 1} \
                    109:   -relief flat \
                    110:   -borderwidth 0 \
                    111:   -bitmap "@images/scdull.xpm" \
                    112:   -font [Font $win Medium]
                    113: 
                    114: SetHelp $win.scen.dullsville Scenario.Dullsville
                    115: 
                    116: button $win.scen.sanfrancisco\
                    117:   -command {UILoadScenario 2} \
                    118:   -relief flat \
                    119:   -borderwidth 0 \
                    120:   -bitmap "@images/scsfo.xpm" \
                    121:   -font [Font $win Medium]
                    122: 
                    123: SetHelp $win.scen.sanfrancisco Scenario.SanFran
                    124: 
                    125: button $win.scen.hamburg\
                    126:   -command {UILoadScenario 3} \
                    127:   -relief flat \
                    128:   -borderwidth 0 \
                    129:   -bitmap "@images/scham.xpm" \
                    130:   -font [Font $win Medium]
                    131: 
                    132: SetHelp $win.scen.hamburg Scenario.Hamburg
                    133: 
                    134: button $win.scen.bern\
                    135:   -command {UILoadScenario 4} \
                    136:   -relief flat \
                    137:   -borderwidth 0 \
                    138:   -bitmap "@images/scbern.xpm" \
                    139:   -font [Font $win Medium]
                    140: 
                    141: SetHelp $win.scen.bern Scenario.Bern
                    142: 
                    143: button $win.scen.tokyo\
                    144:   -command {UILoadScenario 5} \
                    145:   -relief flat \
                    146:   -borderwidth 0 \
                    147:   -bitmap "@images/sctkyo.xpm" \
                    148:   -font [Font $win Medium]
                    149: 
                    150: SetHelp $win.scen.tokyo Scenario.Tokyo
                    151: 
                    152: button $win.scen.rio\
                    153:   -command {UILoadScenario 8} \
                    154:   -relief flat \
                    155:   -borderwidth 0 \
                    156:   -bitmap "@images/scrio.xpm" \
                    157:   -font [Font $win Medium]
                    158: 
                    159: SetHelp $win.scen.rio Scenario.Rio
                    160: 
                    161: button $win.scen.boston\
                    162:   -command {UILoadScenario 7} \
                    163:   -relief flat \
                    164:   -borderwidth 0 \
                    165:   -bitmap "@images/scbos.xpm" \
                    166:   -font [Font $win Medium]
                    167: 
                    168: SetHelp $win.scen.boston Scenario.Boston
                    169: 
                    170: button $win.scen.detroit\
                    171:   -command {UILoadScenario 6} \
                    172:   -relief flat \
                    173:   -borderwidth 0 \
                    174:   -bitmap "@images/scdet.xpm" \
                    175:   -font [Font $win Medium]
                    176: 
                    177: SetHelp $win.scen.detroit Scenario.Detroit
                    178: 
                    179: message $win.scen.labeldullville\
                    180:   -aspect 1500\
                    181:   -font [Font $win Small] \
                    182:   -justify center \
                    183:   -text {Dullsville 1900
                    184: Boredom}
                    185: 
                    186: SetHelp $win.scen.labeldullville Scenario.Dullsville
                    187: 
                    188: message $win.scen.labelsanfrancisco\
                    189:   -aspect 1500\
                    190:   -font [Font $win Small] \
                    191:   -justify center \
                    192:   -text {San Francisco 1906
                    193: Earthquake}
                    194: 
                    195: SetHelp $win.scen.labelsanfrancisco Scenario.SanFran
                    196: 
                    197: message $win.scen.labelhamburg\
                    198:   -aspect 1500\
                    199:   -font [Font $win Small] \
                    200:   -justify center \
                    201:   -text {Hamburg 1944
                    202: Bombing}
                    203: 
                    204: SetHelp $win.scen.labelhamburg Scenario.Hamburg
                    205: 
                    206: message $win.scen.labelbern\
                    207:   -aspect 1500\
                    208:   -font [Font $win Small] \
                    209:   -justify center \
                    210:   -text {Bern 1965
                    211: Traffic}
                    212: 
                    213: SetHelp $win.scen.labelbern Scenario.Bern
                    214: 
                    215: message $win.scen.labeltokyo\
                    216:   -aspect 1500\
                    217:   -font [Font $win Small] \
                    218:   -justify center \
                    219:   -text {Tokyo 1957
                    220: Monster Attack}
                    221: 
                    222: SetHelp $win.scen.labeltokyo Scenario.Tokyo
                    223: 
                    224: message $win.scen.labelrio\
                    225:   -aspect 1500\
                    226:   -font [Font $win Small] \
                    227:   -justify center \
                    228:   -text {Rio de Janeiro 2047
                    229: Coastal Flooding}
                    230: 
                    231: SetHelp $win.scen.labelrio Scenario.Rio
                    232: 
                    233: message $win.scen.labelboston\
                    234:   -aspect 1500\
                    235:   -font [Font $win Small] \
                    236:   -justify center \
                    237:   -text {Boston 2010
                    238: Nuclear Meltdown}
                    239: 
                    240: SetHelp $win.scen.labelboston Scenario.Boston
                    241: 
                    242: message $win.scen.labeldetroit\
                    243:   -aspect 1500\
                    244:   -font [Font $win Small] \
                    245:   -justify center \
                    246:   -text {Detroit 1972
                    247: Crime}
                    248: 
                    249: SetHelp $win.scen.labeldetroit Scenario.Detroit
                    250: 
                    251: place $win.scen.micropolis -anchor n -x 265 -y 25
                    252: place $win.scen.newcity -x 160 -y 120
                    253: place $win.scen.loadcity -x 300 -y 120
                    254: place $win.scen.dullsville -x 20 -y 230
                    255: place $win.scen.sanfrancisco -x 160 -y 230
                    256: place $win.scen.hamburg -x 300 -y 230
                    257: place $win.scen.bern -x 440 -y 230
                    258: place $win.scen.tokyo -x 20 -y 350
                    259: place $win.scen.rio -x 160 -y 350
                    260: place $win.scen.boston -x 300 -y 350
                    261: place $win.scen.detroit -x 440 -y 350
                    262: place $win.scen.labeldullville -anchor n -x 54 -y 290
                    263: place $win.scen.labelsanfrancisco -anchor n -x 194 -y 290
                    264: place $win.scen.labelhamburg -anchor n -x 334 -y 290
                    265: place $win.scen.labelbern -anchor n -x 474 -y 290
                    266: place $win.scen.labeltokyo -anchor n -x 54 -y 410
                    267: place $win.scen.labelrio -anchor n -x 194 -y 410
                    268: place $win.scen.labelboston -anchor n -x 334 -y 410
                    269: place $win.scen.labeldetroit -anchor n -x 474 -y 410
                    270: 
                    271: BindSimButton $win.scen.newcity
                    272: BindSimButton $win.scen.loadcity
                    273: BindSimButton $win.scen.dullsville
                    274: BindSimButton $win.scen.sanfrancisco
                    275: BindSimButton $win.scen.hamburg
                    276: BindSimButton $win.scen.bern
                    277: BindSimButton $win.scen.tokyo
                    278: BindSimButton $win.scen.rio
                    279: BindSimButton $win.scen.boston
                    280: BindSimButton $win.scen.detroit
                    281: 
                    282: frame $win.name \
                    283:   -borderwidth 2\
                    284:   -relief flat
                    285: 
                    286: SetHelp $win.name Scenario.Name
                    287: 
                    288: label $win.name.namelabel \
                    289:   -text {City Name:} \
                    290:   -font [Font $win Text]
                    291: 
                    292: entry $win.name.cityname \
                    293:   -text {}\
                    294:   -textvariable CityName \
                    295:   -font [Font $win Text] \
                    296:   -width 50
                    297: bind $win.name.cityname <Return> "DoEnterCityName $win"
                    298: bind $win.name.cityname <Any-Enter> {focus %W}
                    299: LinkWindow $win.cityname $win.name.cityname
                    300: 
                    301: pack append $win.name \
                    302:   $win.name.namelabel  {left frame e}\
                    303:   $win.name.cityname   {left frame e}
                    304: 
                    305: frame $win.level \
                    306:   -borderwidth 2\
                    307:   -relief flat
                    308: 
                    309: SetHelp $win.level Scenario.Level
                    310: 
                    311: label $win.level.levellabel \
                    312:   -text {Game Level:} \
                    313:   -font [Font $win Text]
                    314: 
                    315: frame $win.level.radio \
                    316:   -borderwidth 0\
                    317:   -relief flat
                    318: 
                    319: radiobutton $win.level.radio.easy \
                    320:   -text "Easy" -variable GameLevel -value 0 \
                    321:   -command "DoSetGameLevel 0" \
                    322:   -font [Font $win Large]
                    323: 
                    324: radiobutton $win.level.radio.medium \
                    325:   -text "Medium" -variable GameLevel -value 1 \
                    326:   -command "DoSetGameLevel 1" \
                    327:   -font [Font $win Large]
                    328: 
                    329: radiobutton $win.level.radio.hard \
                    330:   -text "Hard" -variable GameLevel -value 2 \
                    331:   -command "DoSetGameLevel 2" \
                    332:   -font [Font $win Large]
                    333: 
                    334: pack append $win.level.radio \
                    335:   $win.level.radio.easy                {top frame e expand fillx}\
                    336:   $win.level.radio.medium      {top frame e expand fillx}\
                    337:   $win.level.radio.hard                {top frame e expand fillx}
                    338: 
                    339: frame $win.level.label \
                    340:   -borderwidth 0\
                    341:   -relief flat
                    342: 
                    343: label $win.level.label.easylabel \
                    344:   -text {Initial Funds: $20,000} \
                    345:   -font [Font $win Large] \
                    346:   -anchor w
                    347: 
                    348: label $win.level.label.mediumlabel \
                    349:   -text {Initial Funds: $10,000} \
                    350:   -font [Font $win Large] \
                    351:   -anchor w
                    352: 
                    353: label $win.level.label.hardlabel \
                    354:   -text {Initial Funds: $5,000} \
                    355:   -font [Font $win Large] \
                    356:   -anchor w
                    357: 
                    358: pack append $win.level.label \
                    359:   $win.level.label.easylabel           {top frame e expand fillx} \
                    360:   $win.level.label.mediumlabel         {top frame e expand fillx} \
                    361:   $win.level.label.hardlabel           {top frame e expand fillx}
                    362: 
                    363: pack append $win.level \
                    364:    $win.level.levellabel               {left frame ne} \
                    365:    $win.level.radio                    {left frame ne} \
                    366:    $win.level.label                    {left frame ne expand fillx}
                    367: 
                    368: frame $win.buttons \
                    369:   -borderwidth 0\
                    370:   -relief flat -borderwidth 2
                    371: 
                    372: button $win.buttons.previous \
                    373:   -text {Previous Map}\
                    374:   -font [Font $win Large]\
                    375:   -command "PrevHistory"\
                    376:   -relief raised \
                    377:   -width 20
                    378: LinkWindow $win.previous $win.buttons.previous
                    379: 
                    380: SetHelp $win.buttons.previous Scenario.Previous
                    381: 
                    382: frame $win.buttons.voteframe \
                    383:   -borderwidth 0 \
                    384:   -relief raised
                    385: LinkWindow $win.voteframe $win.buttons.voteframe
                    386: 
                    387: SetHelp $win.buttons.voteframe Scenario.Use
                    388: 
                    389: button $win.buttons.voteframe.vote \
                    390:   -font [Font $win Large]\
                    391:   -text {    Use This Map    }\
                    392:   -command "DoVote $win UseThisMap UIUseThisMap {}"\
                    393:   -relief raised \
                    394:   -borderwidth 1\
                    395:   -width 20
                    396: LinkWindow $win.vote $win.buttons.voteframe.vote
                    397: 
                    398: pack append $win.buttons.voteframe\
                    399:   $win.buttons.voteframe.vote  {top frame center}
                    400: 
                    401: BindVotingButton $win $win.buttons.voteframe.vote UseThisMap
                    402: 
                    403: button $win.buttons.next \
                    404:   -font [Font $win Large]\
                    405:   -text {Next Map}\
                    406:   -command "NextHistory"\
                    407:   -width 20
                    408: LinkWindow $win.next $win.buttons.next
                    409: 
                    410: SetHelp $win.buttons.next Scenario.Next
                    411: 
                    412: pack append $win.buttons\
                    413:   $win.buttons.previous                {left frame nw}\
                    414:   $win.buttons.voteframe       {left frame nw}\
                    415:   $win.buttons.next            {left frame nw}
                    416: 
                    417: pack append $win\
                    418:   $win.scen                    {top frame center fillx}\
                    419:   $win.buttons                 {top frame center fillx}\
                    420:   $win.name                    {top frame center fillx}\
                    421:   $win.level                   {top frame center fillx}\
                    422: 
                    423: #place configure $win -x 0 -y 0 -width $ScenarioPanelWidth -height $ScenarioPanelHeight
                    424: 
                    425: InitScenario $win
                    426: 
                    427: update idletasks

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.