-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMonopoly.bat
5098 lines (4897 loc) · 176 KB
/
Monopoly.bat
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
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
@echo off
title Monopoly
REM (C) Copyright 2010 GrellesLicht28
REM This is a creation of Makroware.
color 0f
setlocal enabledelayedexpansion
call :SetFields
goto :StartMain
:: Start of setting fields
:SetFields
:SetFields
:: Player 1
if not defined Field1_1 set Field1_1=
if not defined Field2_1 set Field2_1=A
if not defined Field3_1 set Field3_1=
if not defined Field4_1 set Field4_1=
if not defined Field5_1 set Field5_1=
if not defined Field6_1 set Field6_1=
if not defined Field7_1 set Field7_1=A
if not defined Field8_1 set Field8_1=
if not defined Field9_1 set Field9_1=A
if not defined Field10_1 set Field10_1=A
if not defined Field11_1 set Field11_1=i
if not defined Field11_J_1 set Field11_J_1=
if not defined Field12_1 set Field12_1=
if not defined Field13_1 set Field13_1=
if not defined Field14_1 set Field14_1=
if not defined Field15_1 set Field15_1=
if not defined Field16_1 set Field16_1=
if not defined Field17_1 set Field17_1=
if not defined Field18_1 set Field18_1=
if not defined Field19_1 set Field19_1=
if not defined Field20_1 set Field20_1=
if not defined Field21_1 set Field21_1=
if not defined Field22_1 set Field22_1=A
if not defined Field23_1 set Field23_1=
if not defined Field24_1 set Field24_1=A
if not defined Field25_1 set Field25_1=A
if not defined Field26_1 set Field26_1=
if not defined Field27_1 set Field27_1=A
if not defined Field28_1 set Field28_1=A
if not defined Field29_1 set Field29_1=
if not defined Field30_1 set Field30_1=
if not defined Field31_1 set Field31_1=
if not defined Field32_1 set Field32_1=
if not defined Field33_1 set Field33_1=l
if not defined Field34_1 set Field34_1=
if not defined Field35_1 set Field35_1=
if not defined Field36_1 set Field36_1=
if not defined Field37_1 set Field37_1=
if not defined Field38_1 set Field38_1=
if not defined Field39_1 set Field39_1=
if not defined Field40_1 set Field40_1=
:: Player 2
if not defined Field1_2 set Field1_2=
if not defined Field2_2 set Field2_2=e
if not defined Field3_2 set Field3_2=
if not defined Field4_2 set Field4_2=
if not defined Field5_2 set Field5_2=
if not defined Field6_2 set Field6_2=
if not defined Field7_2 set Field7_2=e
if not defined Field8_2 set Field8_2=
if not defined Field9_2 set Field9_2=e
if not defined Field10_2 set Field10_2=e
if not defined Field11_2 set Field11_2=
if not defined Field11_J_2 set Field11_J_2=
if not defined Field12_2 set Field12_2=
if not defined Field13_2 set Field13_2=
if not defined Field14_2 set Field14_2=
if not defined Field15_2 set Field15_2=
if not defined Field16_2 set Field16_2=
if not defined Field17_2 set Field17_2=
if not defined Field18_2 set Field18_2=
if not defined Field19_2 set Field19_2=
if not defined Field20_2 set Field20_2=
if not defined Field21_2 set Field21_2=
if not defined Field22_2 set Field22_2=e
if not defined Field23_2 set Field23_2=
if not defined Field24_2 set Field24_2=e
if not defined Field25_2 set Field25_2=e
if not defined Field26_2 set Field26_2=
if not defined Field27_2 set Field27_2=e
if not defined Field28_2 set Field28_2=e
if not defined Field29_2 set Field29_2=
if not defined Field30_2 set Field30_2=
if not defined Field31_2 set Field31_2=
if not defined Field32_2 set Field32_2=
if not defined Field33_2 set Field33_2=
if not defined Field34_2 set Field34_2=
if not defined Field35_2 set Field35_2=
if not defined Field36_2 set Field36_2=
if not defined Field37_2 set Field37_2=?
if not defined Field38_2 set Field38_2=
if not defined Field39_2 set Field39_2=
if not defined Field40_2 set Field40_2=
exit /b
:: End of setting fields
:: Instructions start here.
:Instructions
:Instructions
cls
echo Instructions of Monopoly
echo îîîîîîîîîîîîîîîîîîîîîîîî
echo 1. Each player starts with $1500. Their characters are placed on the field
echo "Go" in the beginning of the game.
echo 2. Every round, the current player has to throw two dice which have 6 sides.
echo The amount thrown is between 2 and 12.
echo.
echo 3. If a player gets on a street or a railroad, he or she can buy it, if it
echo is unowned, yet. Else the player has to pay the rent to the owner depending
echo on the amount of houses or hotels (or railroads).
echo 4. If a player arrives to any other field, he has to follow the instructions
echo given on the field.
echo.
echo 5. Money, which is paid to the bank, goes into "Free Parking" (except for the
echo $50 to escape from Jail). This money can be recollected by arriving on this
echo field.
echo 6. It is not allowed to share money with the other player without arriving on
echo one of his or her streets, railroads or companies, selling the
echo Get-Out-Of-Jail-Free-card or having to follow the instructions of a
echo community chest- or event card.
echo.
echo 7. There are 16 community chest cards and 16 event cards. They are not chosen
echo by following an order, but they are chosen randomly. This allows the same
echo card one after the other.
echo 8. The Get-Out-Of-Jail-Free-Card can only be owned once. If got, this card
echo cannot be chosen by random anymore until it is used or sold.
echo 9. You cannot own two Get-Out-Of-Jail-Free-Cards.
echo.
echo 10. You can only buy houses by arriving right on the field you want to buy
echo some.
echo 11. You can buy 4 houses on each of the 22 streets. The fifth house will be
echo returned into a hotel. The other houses disappear in this case.
echo 12. There is no limit of total houses or hotels to use in the entire game
echo unless all of the streets got a hotel.
echo.
echo 13. If you throw three doublets in a row, you are sent to Jail.
echo 14. In Jail, you can try a doublet at last for three times. Then you have to
echo pay $50. If you don't want to try to roll a doublet, you can pay $50 to
echo escape everytime or you can use your Get-Out-Of-Jail-Free-Card if owned.
echo 15. If you are "just visiting" the Jail, nothing will happen.
echo.
echo 16. By passing "Go", you receive $200. By arriving onto the field "Go", you
echo receive $400.
echo 17. If you get a card which changes your current position, you receive $200 by
echo passing "Go".
echo 18. You do not receive $200 if you are sent to Jail, no matter if passing "Go"
echo or not.
echo.
echo 19. The game ends when one player loses all his or her money. The player is not
echo allowed to sell any property like houses, hotels, streets, railroads,
echo companies or cards anymore.
echo.
set /p Pause=
exit /b
:: Instructions end here.
:StartMain
:StartMain
cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Choose your character: º
echo º 1: Û º
echo º 2: ² º
echo º 3: ± º
echo º 4: ° º
echo º º
echo ºEnter "instructions" to read them.º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
set /p Character1=Player 1: Character no.
set /p Character2=Player 2: Character no.
if "%Character1%" == "1" set Char_1=Û
if "%Character1%" == "2" set Char_1=²
if "%Character1%" == "3" set Char_1=±
if "%Character1%" == "4" set Char_1=°
if /i "%Character1%" == "instructions" call :Instructions
if "%Character2%" == "1" set Char_2=Û
if "%Character2%" == "2" set Char_2=²
if "%Character2%" == "3" set Char_2=±
if "%Character2%" == "4" set Char_2=°
if /i "%Character2%" == "instructions" call :Instructions
if not defined Char_1 goto :StartMain
if not defined Char_2 goto :StartMain
if "%Char_1%" == "%Char_2%" (
echo You cannot use the same character twice.
pause
goto :StartMain
)
set DiceAmount=0
set Escape=4
set Field1_1=%Char_1%
set Field1_2=%Char_2%
set Money_1=1500
set Money_2=1500
set Money_Parking=0
set Player=1
set Player1Position=1
set Player2Position=1
mode con cols=91 lines=600
:FIELD
:FIELD
cls
set OutOfJail=0
if not "%1" == "StepDone" set Go=0
if not "%1" == "Chance_Walked" set RentalTwice=0
set Player=!Player!
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³ Free ³Kentu-³Chance³India-³Illi- ³B.^& O.³Atlan-³Veni- ³Water ³Marvin³ GO TO ³
echo ³ ÜßßßÜ ³ cky ³ ?? ³ na ³ nois ³ RAIL-³ tic ³ nor ³Works ³ Gar- ³ °°°°° ³
echo ³!Field21_1! ÛÜÜÜÛ !Field21_2!³!Field22_1!venu!Field22_2!³!Field23_1!? ?!Field23_2!³!Field24_1!venu!Field24_2!³!Field25_1!venu!Field25_2!³!Field26_1!ROAD!Field26_2!³!Field27_1!venu!Field27_2!³!Field28_1!venu!Field28_2!³!Field29_1! !Field29_2!³!Field30_1!dens!Field30_2!³!Field31_1! °°° !Field31_2!³
echo ³ ÜÛÛÜÛÛÜ ³ ³ ? ³ ³ ³ ³ ³ ³ ³ ³ ° ³
echo ³ ° ° ³Price ³ ? ³Price ³Price ³Price ³Price ³Price ³Price ³Price ³ ³
echo ³ Parking ³ $220 ³ ? ³ $220 ³ $240 ³ $200 ³ $260 ³ $260 ³ $150 ³ $280 ³ ° JAIL ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ New York ³ ________ ³ Pacific ³
echo ³!Field20_1! Avenue !Field20_2!³ / / ³!Field32_1! Avenue !Field32_2!³
echo ³Price: $200 ³ / / ± ± ³Price: $300 ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ / / ± ± ± ÃÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ Tennessee ³ / / ± ± ³North Caro- ³
echo ³!Field19_1! Avenue !Field19_2!³ /_______/ ± ± ³!Field33_1!ina Avenue!Field33_2!³
echo ³Price: $180 ³ Community Chest ± ± ± ³Price: $300 ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ± ± ± ÃÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ Community ³ ± ± ³ Community ³
echo ³!Field18_1! Chest !Field18_2!³ ± ± ³!Field34_1! Chest !Field34_2!³
echo ³ ³ ± ± ³ ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ± ± ÃÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ St. James ³ ± ± ³Pennsylvania³
echo ³!Field17_1! Place !Field17_2!³ ± ± ³!Field35_1! Avenue !Field35_2!³
echo ³Price: $180 ³ ± ± ³Price: $320 ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ± ± ÃÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³PENNSYLVANIA³ ± ± ³ SHORT LINE ³
echo ³!Field16_1! RAILROAD !Field16_2!³ ± ± ± ³!Field36_1! !Field36_2!³
echo ³Price: $200 ³ ± ± ± ³Price: $200 ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ± ± ÃÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ Virginia ³ ± ± ³ ?? Chance³
echo ³!Field15_1! Avenue !Field15_2!³ ± ± ³!Field37_1!? ?? ? !Field37_2!³
echo ³Price: $160 ³ ± ± ³ ? ?? ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ± ÃÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ States ³ ± ± ³ Park Place ³
echo ³!Field14_1! Avenue !Field14_2!³ ± ± ³!Field38_1! !Field38_2!³
echo ³Price: $140 ³ ± ± ³Price: $350 ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ± ± ± ÃÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ Electric ³ ± ± ± C ________ ³ LUXURY TAX ³
echo ³!Field13_1! Company !Field13_2!³ ± ± h / / ³!Field39_1! !Field39_2!³
echo ³Price: $150 ³ ± ± ± a / / ³ Pay $75 ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ± ± n / / ÃÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³St. Charles ³ ± ± c / / ³ Boardwalk ³
echo ³!Field12_1! Place !Field12_2!³ ± e /_______/ ³!Field40_1! !Field40_2!³
echo ³Price: $140 ³ ± ³Price: $400 ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³Just³ IN ³Connec³Ver- ³Chance³Orien-³READIN³INCOME³Baltic³ ³Medite³Collect $200³
echo ³v ³ÉÍËÍËÍ»³ticut ³ mont³ ?? ³tal ³RAIL- ³ TAX ³Avenue³Commu-³r... ³as you pass ³
echo ³!Field11_1! !Field11_2!³º!Field11_J_1!º º!Field11_J_2!º³!Field10_1!venu!Field10_2!³!Field9_1!venu!Field9_2!³!Field8_1!? ?!Field8_2!³!Field7_1!venu!Field7_2!³!Field6_1!ROAD!Field6_2!³!Field5_1! !Field5_2!³!Field4_1! !Field4_2!³!Field3_1!nity!Field3_2!³!Field2_1!venu!Field2_2!³!Field1_1! !Field1_2!³
echo ³s ³º º º º³ ³ ³ ? ³ ³ ³Pay ³ ³ ³ ³ Ûßßß ÜÜÜÜ ³
echo ³i ³ÈÍÊÍÊͼ³Price ³Price ³ ? ³Price ³Price ³10%% or³Price ³Chest ³Price ³ Û ßÜ Û Û ³
echo ³ting³ JAIL ³ $120 ³ $100 ³ ? ³ $100 ³ $200 ³$200 ³ $60 ³ ³ $60 ³ ßßßß ßßßß ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÙ
if "%1" == "StepDone" exit /b
if "%1" == "Chance_Walked" goto :StartComparingPositions
if "!Field11_J_%Player%!" == "!Char_%Player%!" call :InJail
if "%OutOfJail%" == "1" goto :FIELD
:RecallDisplay
:RecallDisplay
echo.
echo Player %Player% (!Char_%Player%!)'s turn:
:: Checks every street if owned by the current player.
echo Streets owned:
set Display_%Player%=
set Display_Amount_%Player%=0
FOR %%A IN (MediterraneanAvenue BalticAvenue ReadingRailroad OrientalAvenue VermontAvenue ConnecticutAvenue St.CharlesPlace ElectricCompany StatesAvenue VirginiaAvenue PennsylvaniaRailroad St.JamesPlace TennesseeAvenue NewYorkAvenue KentuckyAvenue IndianaAvenue IllinoisAvenue B.O.Railroad AtlanticAvenue VeninorAvenue WaterWorks MarvinGardens PacificAvenue NorthCarolinaAvenue PennsylvaniaAvenue ShortLine ParkPlace Boardwalk) DO (
if "!%%A!" == "%Player%" (
if not "!Display_Amount_%Player%!" == "4" (set Display_%Player%=!Display_%Player%!%%A / ) ELSE (set Display_%Player%=!Display_%Player%!%%A)
set /a Display_Amount_%Player%=!Display_Amount_%Player%! + 1
if "!Display_Amount_%Player%!" == "4" (
echo !Display_%Player%!
set Display_Amount_%Player%=0
set Display_%Player%=
)
)
if "%%A" == "Boardwalk" if not "!Display_Amount_%Player%!" == "0" echo !Display_%Player%!
)
echo.
if "!FreeOutOfJail_%Player%!" == "1" (
set OtherPlayer=
set Sell_JailCard=
set Accept_JailCard=
echo You own a card to get out of jail for free.
echo Enter "sell for XX" to sell it to the other player for XX dollars.
set /p Sell_JailCard=
if /i "!Sell_JailCard:~0,9!" == "sell for " (
echo To the other player: Do you want to accept the price [!Sell_JailCard:~9,4!],
echo then enter "Yes, I would like to.".
set /p Accept_JailCard=
if /i "!Accept_JailCard!" == "Yes, I would like to." (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + !Sell_JailCard:~9,4!
echo ÄÄÄ^> Money increased from $!Puffer! by $!Sell_JailCard:~9,4! to $!Money_%Player%!.
if "!Player!" == "1" (
set Puffer=!Money_2!
set /a Money_2=!Money_2! - !Sell_JailCard:~9,4!
echo ÄÄÄ^> Money decreased from $!Puffer! by $!Sell_JailCard:~9,4! to $!Money_2!.
if "!Money_2:~0,1!" == "-" (
echo You have not enough money.
set /a Money_%Player%=!Money_%Player%! - !Sell_JailCard:~9,4!
set /a Money_2=!Money_2! + !Sell_JailCard:~9,4!
echo ÄÄÄ^> Money amounts set back.
)
) ELSE (
set Puffer=!Money_1!
set /a Money_1=!Money_1! - !Sell_JailCard:~9,4!
echo ÄÄÄ^> Money decreased from $!Puffer! by $!Sell_JailCard:~9,4! to $!Money_1!.
if "!Money_1:~0,1!" == "-" (
echo You have not enough money.
set /a Money_%Player%=!Money_%Player%! - !Sell_JailCard:~9,4!
set /a Money_1=!Money_1! + !Sell_JailCard:~9,4!
echo ÄÄÄ^> Money amounts set back.
)
)
if "!FreeOutOfJail_Chance!" == "!FreeOutOfJail_%Player%!" (
set FreeOutOfJail_Chance=0
) ELSE (
set FreeOutOfJail_Community=0
)
set FreeOutOfJail_%Player%=0
) ELSE (
echo Trade cancelled.
)
)
) ELSE (
echo Press any key to roll a dice...
if not "%1" == "StepDone" pause >nul
)
if "%1" == "StepDone" exit /b
:RollADice
:RollADice
:: Randomly roll two dices. The IF's make sure they are between 1 and 6.
set /a DiceOne=%random% %% 6 + 1
set /a DiceTwo=%random% %% 6 + 1
:: Resetting the current player's position.
set Field!Player%Player%Position!_%Player%=
:: Calculating the amount of steps to go. Also informs the user.
set /a Dice=%DiceOne% + %DiceTwo%
echo Dice one (%DiceOne%) + dice two (%DiceTwo%) = %Dice%
set /a Player%Player%Position=!Player%Player%Position! + %Dice%
:: Check if the player went over "GO".
if not "!Player%Player%Position:~1,1!" == "" if "!Player%Player%Position:~0,1!" GEQ "4" if "!Player%Player%Position:~1,1!" GTR "0" (
set /a Player%Player%Position=!Player%Player%Position! - 40
set Puffer=!Money_%Player%!
if "!Player%Player%Position:~0,1!" GTR "1" (
set /a Money_%Player%=!Money_%Player%! + 200
set Go=1
)
)
:: Reset the fields after having changed the position.
call :SetFields
:: Set the new player's position.
set Field!Player%Player%Position!_%Player%=!Char_%Player%!
pause >nul
:RollDone
:RollDone
:: Showing the user the new position before dwelling on it.
call :FIELD StepDone
call :RecallDisplay StepDone
echo Dice one (%DiceOne%) + dice two (%DiceTwo%) = %Dice%
if "!Go!" == "1" echo ÄÄÄ^> Money increased from $!Puffer! by $200 to $!Money_%Player%!.
:StartComparingPositions
:StartComparingPositions
pause >nul
:: Dwelling on the player's position.
if "!Field1_%Player%!" == "!Char_%Player%!" call :GO
if "!Field2_%Player%!" == "!Char_%Player%!" call :MediterraneanAvenue
if "!Field3_%Player%!" == "!Char_%Player%!" call :CommunityChest
if "!Field4_%Player%!" == "!Char_%Player%!" call :BalticAvenue
if "!Field5_%Player%!" == "!Char_%Player%!" call :IncomeTax
if "!Field6_%Player%!" == "!Char_%Player%!" call :ReadingRailroad
if "!Field7_%Player%!" == "!Char_%Player%!" call :OrientalAvenue
if "!Field8_%Player%!" == "!Char_%Player%!" call :Chance
if "!Field9_%Player%!" == "!Char_%Player%!" call :VermontAvenue
if "!Field10_%Player%!" == "!Char_%Player%!" call :ConnecticutAvenue
if "!Field11_%Player%!" == "!Char_%Player%!" call :AtJail
if "!Field12_%Player%!" == "!Char_%Player%!" call :St.CharlesPlace
if "!Field13_%Player%!" == "!Char_%Player%!" call :ElectricCompany
if "!Field14_%Player%!" == "!Char_%Player%!" call :StatesAvenue
if "!Field15_%Player%!" == "!Char_%Player%!" call :VirginiaAvenue
if "!Field16_%Player%!" == "!Char_%Player%!" call :PennsylvaniaRailroad
if "!Field17_%Player%!" == "!Char_%Player%!" call :St.JamesPlace
if "!Field18_%Player%!" == "!Char_%Player%!" call :CommunityChest
if "!Field19_%Player%!" == "!Char_%Player%!" call :TennesseeAvenue
if "!Field20_%Player%!" == "!Char_%Player%!" call :NewYorkAvenue
if "!Field21_%Player%!" == "!Char_%Player%!" call :FreeParking
if "!Field22_%Player%!" == "!Char_%Player%!" call :KentuckyAvenue
if "!Field23_%Player%!" == "!Char_%Player%!" call :Chance
if "!Field24_%Player%!" == "!Char_%Player%!" call :IndianaAvenue
if "!Field25_%Player%!" == "!Char_%Player%!" call :IllinoisAvenue
if "!Field26_%Player%!" == "!Char_%Player%!" call :B.O.Railroad
if "!Field27_%Player%!" == "!Char_%Player%!" call :AtlanticAvenue
if "!Field28_%Player%!" == "!Char_%Player%!" call :VeninorAvenue
if "!Field29_%Player%!" == "!Char_%Player%!" call :WaterWorks
if "!Field30_%Player%!" == "!Char_%Player%!" call :MarvinGardens
if "!Field31_%Player%!" == "!Char_%Player%!" call :SendToJail
if "!Field32_%Player%!" == "!Char_%Player%!" call :PacificAvenue
if "!Field33_%Player%!" == "!Char_%Player%!" call :NorthCarolinaAvenue
if "!Field34_%Player%!" == "!Char_%Player%!" call :CommunityChest
if "!Field35_%Player%!" == "!Char_%Player%!" call :PennsylvaniaAvenue
if "!Field36_%Player%!" == "!Char_%Player%!" call :ShortLineRailroad
if "!Field37_%Player%!" == "!Char_%Player%!" call :Chance
if "!Field38_%Player%!" == "!Char_%Player%!" call :ParkPlace
if "!Field39_%Player%!" == "!Char_%Player%!" call :LuxuryTax
if "!Field40_%Player%!" == "!Char_%Player%!" call :Boardwalk
if "%1" == "Chance_Walked" exit /b
:: Changes the player
if "!Player!" == "1" (set Player=2) ELSE (set Player=1)
:: Counting the doublets
set goto_immediately=0
if defined DiceOne if defined DiceTwo if "%DiceOne%" == "%DiceTwo%" (
set /a DiceAmount=!DiceAmount! + 1
echo.
echo You got a doublet [%DiceOne% - %DiceTwo%], you can do another round.
if "!Player!" == "1" (set Player=2) ELSE (set Player=1)
set goto_immediately=1
pause
)
::Checks if 3 doublets in a row. If so, sends the user to jail.
if "!DiceAmount!" == "3" if "%DiceOne%" == "%DiceTwo%" (
echo You got 3 doublets in a row, you are now sent to jail.
set goto_immediately=0
pause
call :SendToJail Doublets
)
if not "!goto_immediately!" == "1" set DiceAmount=0
goto :FIELD
:: Start of fields.
:GO
:GO 1
cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º º
echo º ²²²²²²²²²²² º
echo º ²²² º
echo º ²²² º
echo º ²²² º
echo º ²²² ²²²²²² ²²²²²²²² º
echo º ²²² ²²² ²² ²² º
echo º ²²² ²²² ²² ²² º
echo º ²²² ²²² ²² ²² º
echo º ²²²²²²²²²² ²²²²²²²² º
echo º º
echo º º
echo º º
echo º º
echo º Collect $200 as you pass or º
echo º collect $400 as you meet. º
echo º º
echo º º
echo º º
echo º º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo Current player: %Player% (!Char_%Player%!)
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + 400
echo ÄÄÄ^> Money increased from $%Puffer% by $400 to $!Money_%Player%!.
echo.
pause
exit /b
:MediterraneanAvenue
:MediterraneanAvenue 2
set Purchase=
set Buy_House=
set PayRent=
set Sell_Street=
if not defined MediterraneanAvenue_Houses set MediterraneanAvenue_Houses=0
cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º º
echo º Mediterranean Avenue º
echo º º
echo º PRICE $60 RENT $2 º
echo º ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ º
echo º With 1 House $10 º
echo º º
echo º With 2 Houses $30 º
echo º º
echo º With 3 Houses $90 º
echo º º
echo º With 4 Houses $160 º
echo º º
echo º With HOTEL $250 º
echo º ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ º
echo º One house costs $50 º
echo º º
echo º Mortgage value $30 º
echo º ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ º
echo º º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo Current player: %Player% (!Char_%Player%!)
echo Total money: !Money_%Player%!
echo.
if "!MediterraneanAvenue!" == "%Player%" goto :MediterraneanAvenue_Houses
if defined MediterraneanAvenue goto :MediterraneanAvenue_PayRent
echo Press [1] to buy this street for $60 or
echo press [2] to leave it.
set /p Purchase=
if "%Purchase%" == "1" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! - 60
if "!Money_%Player%:~0,1!" == "-" (
echo You have not enough money.
set /a Money_%Player%=!Money_%Player%! + 60
) ELSE (
echo ÄÄÄ^> Money decreased from $!Puffer! by $60 to $!Money_%Player%!.
set MediterraneanAvenue=%Player%
)
pause
exit /b
)
if "%Purchase%" == "2" exit /b
goto :MediterraneanAvenue
:MediterraneanAvenue_Houses
:MediterraneanAvenue_Houses
if "!MediterraneanAvenue_Houses!" == "5" (
echo This street has got a hotel.
pause
exit /b
) ELSE (
echo This street has got !MediterraneanAvenue_Houses! houses, yet.
echo.
)
echo Press [1] to buy a new house or
echo press [2] to leave it or
echo press [3] to sell it for $30.
set /p Buy_House=
echo.
if "%Buy_House%" == "1" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! - 50
if "!Money_%Player%:~0,1!" == "-" (
echo You have not enough money.
set /a Money_%Player%=!Money_%Player%! + 50
) ELSE (
echo ÄÄÄ^> Money decreased from $!Puffer! by $50 to $!Money_%Player%!.
set /a MediterraneanAvenue_Houses=!MediterraneanAvenue_Houses! + 1
if not "!MediterraneanAvenue_Houses!" == "5" (echo This street has got !MediterraneanAvenue_Houses! houses now.) ELSE (echo This street has got a hotel now.)
)
pause
exit /b
)
if "%Buy_House%" == "2" exit /b
if "%Buy_House%" == "3" (
echo Are you sure you want to sell the street? [Y/N]
set /p Sell_Street=
if /i "!Sell_Street!" == "n" exit /b
if /i "!Sell_Street!" == "y" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + 30
echo ÄÄÄ^> Money increased from $!Puffer! by $30 to $!Money_%Player%!.
set MediterraneanAvenue=
set MediterraneanAvenue_Houses=0
)
)
goto :MediterraneanAvenue_Houses
:MediterraneanAvenue_PayRent
:MediterraneanAvenue_PayRent
if "!MediterraneanAvenue_Houses!" == "0" set PayRent=2
if "!MediterraneanAvenue_Houses!" == "1" set PayRent=10
if "!MediterraneanAvenue_Houses!" == "2" set PayRent=30
if "!MediterraneanAvenue_Houses!" == "3" set PayRent=90
if "!MediterraneanAvenue_Houses!" == "4" set PayRent=160
if "!MediterraneanAvenue_Houses!" == "5" set PayRent=250
echo This street is owned by the other player. You have to pay
echo $%PayRent% to pass.
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! - %PayRent%
echo ÄÄÄ^> Money decreased from $%Puffer% by $%PayRent% to $!Money_%Player%!.
if "!Money_%Player%:~0,1!" == "-" (
echo.
pause
cls
echo Player %Player% [!Char_%Player%!] is bankrupt.
echo.
if "!Player!" == "1" (set Player=2) ELSE (set Player=1)
echo Player !Player! wins the game.
echo.
pause
exit
)
if "!Player!" == "1" (set Player=2) ELSE (set Player=1)
set Player=!Player!
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + %PayRent%
echo ÄÄÄ^> The other player's money increased from $%Puffer% by $%PayRent% to $!Money_%Player%!.
if "!Player!" == "1" (set Player=2) ELSE (set Player=1)
set Player=!Player!
echo.
pause
exit /b
:CommunityChest
:CommunityChest 3/18/34
cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Community Chest º
echo º º
echo º ################# º
echo º #///////////////## º
echo º #################I# º
echo º #,,,,,,,,,,,,,,,#I# º
echo º #,,,,,,,,,,,,,,,## º
echo º #,,,,,,,,,,,,,,,# º
echo º ################# º
echo º #,,,,,,,,,,,,,,,## º
echo º #,,,,,,,,,,,,,,,#I# º
echo º #################II# º
echo º #jjjjjjjjjjjjjjj#II# º
echo º #jjjjjjjjjjjjjjj#I# º
echo º #jjjjjjjjjjjjjjj## º
echo º ################# º
echo º º
echo º You found a community º
echo º chest, draw a card. º
echo º º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo Current player: %Player% (!Char_%Player%!)
echo Total money: !Money_%Player%!
echo.
:ChooseCommunityCard
:ChooseCommunityCard
set /a ChooseCommunityCard=%random:~0,2% - 15
if "%ChooseCommunityCard:~0,1%" == "-" goto :ChooseCommunityCard
if "%ChooseCommunityCard%" == "0" goto :ChooseCommunityCard
if not "%ChooseCommunityCard:~1,1%" == "" if "%ChooseCommunityCard:~0,1%" GTR "1" (goto :ChooseCommunityCard) ELSE (if "%ChooseCommunityCard:~1,1%" GTR "6" goto :ChooseCommunityCard)
if "!FreeOutOfJail_Community!" == "1" if "%ChooseCommunityCard%" == "7" goto :ChooseCommunityCard
if "%ChooseCommunityCard%" == "1" set Var=%%A
if "%ChooseCommunityCard%" == "2" set Var=%%B
if "%ChooseCommunityCard%" == "3" set Var=%%C
if "%ChooseCommunityCard%" == "4" set Var=%%D
if "%ChooseCommunityCard%" == "5" set Var=%%E
if "%ChooseCommunityCard%" == "6" set Var=%%F
if "%ChooseCommunityCard%" == "7" set Var=%%G
if "%ChooseCommunityCard%" == "8" set Var=%%H
if "%ChooseCommunityCard%" == "9" set Var=%%I
if "%ChooseCommunityCard%" == "10" set Var=%%J
if "%ChooseCommunityCard%" == "11" set Var=%%K
if "%ChooseCommunityCard%" == "12" set Var=%%L
if "%ChooseCommunityCard%" == "13" set Var=%%M
if "%ChooseCommunityCard%" == "14" set Var=%%N
if "%ChooseCommunityCard%" == "15" set Var=%%O
if "%ChooseCommunityCard%" == "16" set Var=%%P
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³ Community Card ³
echo ³ ³
FOR /F "tokens=1-16 delims=/" %%A IN ("³ Grand Opera ³/³ Advance to Go. ³/³ You have won ³/³ Doctor's fee. ³/³ Christmas fund ³/³ You inherit ³/³Get ouf of Jail ³/³You are assessed³/³ From sale of ³/³ Pay school tax ³/³ Income tax ³/³ Receive for ³/³ Pay hospital ³/³ Go directly to ³/³ Life insurance ³/³ Bank error in ³/") DO echo %Var%
FOR /F "tokens=1-16 delims=/" %%A IN ("³Opening: Collect³/³ Collect $200. ³/³second prize in ³/³ Pay $50. ³/³ matures. ³/³ $100. ³/³ free. ³/³ for street ³/³ stock you ³/³ of $150. ³/³ refund. ³/³ serviced $25. ³/³ $100. ³/³ Jail, do not ³/³ matures. ³/³ your favor. ³/") DO echo %Var%
FOR /F "tokens=1-16 delims=/" %%A IN ("³ $50 from every ³/³ ³/³ a beauty ³/³ ³/³ Collect $100. ³/³ ³/³ This card may ³/³ repairs. ³/³ receive $45. ³/³ ³/³ Collect $20. ³/³ ³/³ ³/³pass Go, do not ³/³ Collect $100. ³/³ Collect $200. ³/") DO echo %Var%
FOR /F "tokens=1-16 delims=/" %%A IN ("³ player for ³/³ ³/³ contest ³/³ ³/³ ³/³ ³/³ be kept until ³/³ Pay $40 per ³/³ ³/³ ³/³ ³/³ ³/³ ³/³ collect $200. ³/³ ³/³ ³/") DO echo %Var%
FOR /F "tokens=1-16 delims=/" %%A IN ("³ opening night ³/³ ³/³ Collect $10 ³/³ ³/³ ³/³ ³/³needed, or sold.³/³ house and $115 ³/³ ³/³ ³/³ ³/³ ³/³ ³/³ ³/³ ³/³ ³/") DO echo %Var%
FOR /F "tokens=1-16 delims=/" %%A IN ("³ seats. ³/³ ³/³ ³/³ ³/³ ³/³ ³/³ ³/³ per hotel. ³/³ ³/³ ³/³ ³/³ ³/³ ³/³ ³/³ ³/³ ³/") DO echo %Var%
echo ³ ³
echo ³ ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
if "%ChooseCommunityCard%" == "1" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + 50
echo ÄÄÄ^> Money increased from $!Puffer! by $50 to $!Money_%Player%!.
)
if "%Player%" == "1" (set Player=2) ELSE (set Player=1)
set Player=!Player!
if "%ChooseCommunityCard%" == "1" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! - 50
echo ÄÄÄ^> The other player's money decreased from $!Puffer! by $50 to $!Money_%Player%!.
if "!Money_%Player%:~0,1!" == "-" (
echo.
pause
cls
echo Player %Player% [!Char_%Player%!] is bankrupt.
echo.
if "!Player!" == "1" (set Player=2) ELSE (set Player=1)
echo Player !Player! wins the game.
echo.
pause
exit
)
)
if "%Player%" == "1" (set Player=2) ELSE (set Player=1)
set Player=!Player!
if "%ChooseCommunityCard%" == "2" (
set Field!Player%Player%Position!_%Player%=,
set Player%Player%Position=1
set Field1_%Player%=!Char_%Player%!
pause
call :SetFields
call :FIELD Chance_Walked
)
if "%ChooseCommunityCard%" == "3" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + 10
echo ÄÄÄ^> Money increased from $!Puffer! by $10 to $!Money_%Player%!.
)
if "%ChooseCommunityCard%" == "4" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! - 50
set /a Money_Parking=!Money_Parking! + 50
echo ÄÄÄ^> Money decreased from $!Puffer! by $50 to $!Money_%Player%!.
echo ^& $50 went into Free Parking.
if "!Money_%Player%:~0,1!" == "-" (
echo.
pause
cls
echo Player %Player% [!Char_%Player%!] is bankrupt.
echo.
if "!Player!" == "1" (set Player=2) ELSE (set Player=1)
echo Player !Player! wins the game.
echo.
pause
exit
)
)
if "%ChooseCommunityCard%" == "5" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + 100
echo ÄÄÄ^> Money increased from $!Puffer! by $100 to $!Money_%Player%!.
)
if "%ChooseCommunityCard%" == "6" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + 100
echo ÄÄÄ^> Money increased from $!Puffer! by $100 to $!Money_%Player%!.
)
if "%ChooseCommunityCard%" == "7" (
set FreeOutOfJail_%Player%=1
set FreeOutOfJail_Community=1
)
if "%ChooseCommunityCard%" == "8" (
set Houses_%Player%=0
set Hotels_%Player%=0
set PayForHouses=0
set PayForHotels=0
set PayForHousesAndHotels=0
FOR %%A IN (MediterraneanAvenue BalticAvenue ReadingRailroad OrientalAvenue VermontAvenue ConnecticutAvenue St.CharlesPlace ElectricCompany StatesAvenue VirginiaAvenue PennsylvaniaRailroad St.JamesPlace TennesseeAvenue NewYorkAvenue KentuckyAvenue IndianaAvenue IllinoisAvenue B.O.Railroad AtlanticAvenue VeninorAvenue WaterWorks MarvinGardens PacificAvenue NorthCarolinaAvenue PennsylvaniaAvenue ShortLine ParkPlace Boardwalk) DO (
if "!%%A!" == "%Player%" (
if not "!%%A_Houses!" == "5" (set /a Houses_%Player%=!Houses_%Player%! + !%%A_Houses!) ELSE (set /a Hotels_%Player%=!Hotels_%Player%! + 1)
)
)
set /a PayForHouses=!Houses_%Player%! * 40
set /a PayForHotels=!Hotels_%Player%! * 115
echo You have to pay $!PayForHouses! for !Houses_%Player%! houses and
echo you have to pay $!PayForHotels! for !Hotels_%Player%! hotels.
echo.
set /a PayForHousesAndHotels=!PayForHouses! + !PayForHotels!
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! - !PayForHousesAndHotels!
set /a Money_Parking=!Money_Parking! + !PayForHousesAndHotels!
echo ÄÄÄ^> Money decreased from $!Puffer! by $!PayForHousesAndHotels! to $!Money_%Player%!.
echo ^& $!PayForHousesAndHotels! went into Free Parking.
if "!Money_%Player%:~0,1!" == "-" (
echo.
pause
cls
echo Player %Player% [!Char_%Player%!] is bankrupt.
echo.
if "!Player!" == "1" (set Player=2) ELSE (set Player=1)
echo Player !Player! wins the game.
echo.
pause
exit
)
)
if "%ChooseCommunityCard%" == "9" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + 45
echo ÄÄÄ^> Money increased from $!Puffer! by $45 to $!Money_%Player%!.
)
if "%ChooseCommunityCard%" == "10" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! - 150
set /a Money_Parking=!Money_Parking! + 150
echo ÄÄÄ^> Money decreased from $!Puffer! by $150 to $!Money_%Player%!.
echo ^& $150 went into Free Parking.
if "!Money_%Player%:~0,1!" == "-" (
echo.
pause
cls
echo Player %Player% [!Char_%Player%!] is bankrupt.
echo.
if "!Player!" == "1" (set Player=2) ELSE (set Player=1)
echo Player !Player! wins the game.
echo.
pause
exit
)
)
if "%ChooseCommunityCard%" == "11" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + 20
echo ÄÄÄ^> Money increased from $!Puffer! by $20 to $!Money_%Player%!.
)
if "%ChooseCommunityCard%" == "12" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + 25
echo ÄÄÄ^> Money increased from $!Puffer! by $25 to $!Money_%Player%!.
)
if "%ChooseCommunityCard%" == "13" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! - 100
set /a Money_Parking=!Money_Parking! + 100
echo ÄÄÄ^> Money decreased from $!Puffer! by $100 to $!Money_%Player%!.
echo ^& $100 went into Free Parking.
if "!Money_%Player%:~0,1!" == "-" (
echo.
pause
cls
echo Player %Player% [!Char_%Player%!] is bankrupt.
echo.
if "!Player!" == "1" (set Player=2) ELSE (set Player=1)
echo Player !Player! wins the game.
echo.
pause
exit
)
)
if "%ChooseCommunityCard%" == "14" (
pause
call :SendToJail
)
if "%ChooseCommunityCard%" == "15" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + 100
echo ÄÄÄ^> Money increased from $!Puffer! by $100 to $!Money_%Player%!.
)
if "%ChooseCommunityCard%" == "16" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + 200
echo ÄÄÄ^> Money increased from $!Puffer! by $200 to $!Money_%Player%!.
)
pause
exit /b
:BalticAvenue
:BalticAvenue 4
set Purchase=
set Buy_House=
set PayRent=
set Sell_Street=
if not defined BalticAvenue_Houses set BalticAvenue_Houses=0
cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º º
echo º Baltic Avenue º
echo º º
echo º PRICE $60 RENT $4 º
echo º ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ º
echo º With 1 House $20 º
echo º º
echo º With 2 Houses $60 º
echo º º
echo º With 3 Houses $180 º
echo º º
echo º With 4 Houses $320 º
echo º º
echo º With HOTEL $450 º
echo º ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ º
echo º One house costs $50 º
echo º º
echo º Mortgage value $30 º
echo º ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ º
echo º º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo Current player: %Player% (!Char_%Player%!)
echo Total money: !Money_%Player%!
echo.
if "!BalticAvenue!" == "%Player%" goto :BalticAvenue_Houses
if defined BalticAvenue goto :BalticAvenue_PayRent
echo Press [1] to buy this street for $60 or
echo press [2] to leave it.
set /p Purchase=
if "%Purchase%" == "1" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! - 60
if "!Money_%Player%:~0,1!" == "-" (
echo You have not enough money.
set /a Money_%Player%=!Money_%Player%! + 60
) ELSE (
echo ÄÄÄ^> Money decreased from $!Puffer! by $60 to $!Money_%Player%!.
set BalticAvenue=%Player%
)
pause
exit /b
)
if "%Purchase%" == "2" exit /b
goto :BalticAvenue
:BalticAvenue_Houses
:BalticAvenue_Houses
if "!BalticAvenue_Houses!" == "5" (
echo This street has got a hotel.
pause
exit /b
) ELSE (
echo This street has got !BalticAvenue_Houses! houses, yet.
echo.
)
echo Press [1] to buy a new house or
echo press [2] to leave it or
echo press [3] to sell it for $30.
set /p Buy_House=
echo.
if "%Buy_House%" == "1" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! - 50
if "!Money_%Player%:~0,1!" == "-" (
echo You have not enough money.
set /a Money_%Player%=!Money_%Player%! + 50
) ELSE (
echo ÄÄÄ^> Money decreased from $!Puffer! by $50 to $!Money_%Player%!.
set /a BalticAvenue_Houses=!BalticAvenue_Houses! + 1
if not "!BalticAvenue_Houses!" == "5" (echo This street has got !BalticAvenue_Houses! houses now.) ELSE (echo This street has got a hotel now.)
)
pause
exit /b
)
if "%Buy_House%" == "2" exit /b
if "%Buy_House%" == "3" (
echo Are you sure you want to sell the street? [Y/N]
set /p Sell_Street=
if /i "!Sell_Street!" == "n" exit /b
if /i "!Sell_Street!" == "y" (
set Puffer=!Money_%Player%!
set /a Money_%Player%=!Money_%Player%! + 30
echo ÄÄÄ^> Money increased from $!Puffer! by $30 to $!Money_%Player%!.
set BalticAvenue=
set BalticAvenue_Houses=0
)
)
goto :BalticAvenue_Houses
:BalticAvenue_PayRent