मुकाबला अब खत्म हो चुका है। कायर विजेता है। आप यहां आखिरी मैच देख सकते हैं ।
अचानक लाश दिखाई देती है! अरे नहीं!
इस राजा की पहाड़ी चुनौती में, आपको ज़ोंबी सर्वनाश से बचने के लिए एक बॉट बनाना होगा। या कम से कम, यथासंभव लंबे समय के लिए बाहर पकड़ो।
खेल की शुरुआत में, प्रत्येक प्रविष्टि के 50 उदाहरणों को एक बड़े टॉराइडल प्ले एरिया में बेतरतीब ढंग से रखा जाएगा - अर्थात, यह चौकोर प्रतीत होता है, लेकिन चारों ओर लपेटता है। खेल क्षेत्र का आकार प्रविष्टियों की संख्या के आधार पर अलग-अलग होगा, लेकिन शुरू में 6% वर्गों पर कब्जा होगा। प्रत्येक प्रतियोगी 3 गोलियों से शुरू होता है।
प्रत्येक मोड़ की शुरुआत में, एक ज़ोंबी एक यादृच्छिक स्थान पर जमीन से उठेगा, जो भी इसके ऊपर था, उसे नष्ट कर देगा। कोई भी खिलाड़ी जो अपनी बारी की शुरुआत में एक ज़ोंबी के बगल में है, एक ज़ोंबी बन जाएगा।
प्रत्येक जीवित खिलाड़ी के लिए, फिर उनका कोड कहा जाएगा। यह एक PlayerContext ऑब्जेक्ट प्राप्त करेगा , जिसमें उनकी वर्तमान स्थिति और उनके परिवेश की जानकारी होगी। प्रत्येक खिलाड़ी किसी भी दिशा में 8 वर्गों के लिए देख सकता है।
खिलाड़ी को या तो स्थानांतरित करने के लिए चुनना चाहिए (अभी भी एक वैध आंदोलन है), लौटने से Move
, या पास के व्यक्ति या ज़ोंबी को गोली मारकर, एक को वापस करके Shoot
। आपकी बंदूक में अधिकतम 5 वर्ग हैं। चूंकि आप अपनी बंदूक की सीमा के भीतर हैं तो आप खुद को गोली मार सकते हैं , बशर्ते आपके पास गोलियां बची हों। अगर दो खिलाड़ी एक दूसरे को गोली मारते हैं, तो वे दोनों मर जाते हैं।
यदि दो खिलाड़ी एक ही वर्ग में जाने का प्रयास करते हैं, तो वे असफल हो जाएंगे, और दोनों उस वर्ग में वापस आ जाएंगे, जहाँ से उन्होंने शुरुआत की थी। यदि अभी भी संघर्ष हैं, तो यह तब तक दोहराया जाएगा जब तक कोई संघर्ष नहीं होता है, जिसका अर्थ हो सकता है कि हर कोई वापस आ गया है जहां उन्होंने शुरू किया था।
यदि कोई खिलाड़ी बंदूक की गोली से मर जाता है, तो उनका मृत शरीर रह जाएगा, और एक स्थायी बाधा बन जाएगा। जो भी गोलियां वे ले जा रहे थे, वे उनके व्यक्ति पर बनी हुई थीं, और बगल के चौकों में खिलाड़ियों द्वारा छीनी जा सकती थीं। यदि किसी शव के आस-पास के चौकों पर कब्जे वाले कई खिलाड़ी हैं, तो गोलियों को उनके बीच साझा किया जाएगा, लेकिन कोई भी शेष खो जाएगा।
यदि कोई खिलाड़ी ज़ोंबी बन जाता है, तो उनकी गोलियां गुम हो जाती हैं। लाश निडरता से निकटतम जीवित खिलाड़ी की ओर चलेगी।
प्रविष्टियां इस बात पर की जाती हैं कि उनका सबसे लंबा खिलाड़ी कब तक जीवित रहता है।
प्रविष्टियां
एक नियंत्रण कार्यक्रम https://github.com/jamespic/zchin पर उपलब्ध है । बस इसे क्लोन करें, और चलाएं mvn compile exec:java
।
पात्र होने के लिए, प्रविष्टियों को एक जेवीएम भाषा में लिखा जाना चाहिए, पोर्टेबल होना चाहिए, और मावेन से कोई विशेष सेट-अप के साथ निर्माण करना संभव होना चाहिए। यह सुनिश्चित करना है कि प्रतियोगियों को प्रतियोगियों के खिलाफ अपने बॉट्स का परीक्षण करने के लिए कई रन-टाइम वातावरण स्थापित करने की आवश्यकता नहीं है।
नमूना प्रविष्टियाँ वर्तमान में निम्नलिखित भाषाओं में उपलब्ध हैं:
- जावा 7 - एक अधिक जटिल उदाहरण और लाश के लिए कोड भी देखें
- स्केला 2.11.1
- जावास्क्रिप्ट (राइनो के माध्यम से)
- पायथन (ज्यथोन 2.7 बीटा 2 के माध्यम से)
- रूबी (JRuby 1.7.13 के माध्यम से)
- लौंग 1.5.1
- फ्रीज (थोड़ा हास्केल की तरह - यहां एक और उदाहरण है )
यदि आप एक ऐसी भाषा में प्रतिस्पर्धा करना चाहते हैं जो सूचीबद्ध नहीं है, तो आप एक टिप्पणी पोस्ट कर सकते हैं, जिसमें मैं अनुरोध कर सकता हूं और मैं आपकी चुनी हुई भाषा को नियंत्रण कार्यक्रम में एकीकृत करने की संभावना की जांच करूंगा। या, यदि आप अधीर हैं, तो आप नियंत्रण कार्यक्रम के लिए एक पुल अनुरोध प्रस्तुत कर सकते हैं।
प्रत्येक प्रविष्टि के लिए केवल एक उदाहरण (शब्द के जावा अर्थ में) बनाया जाएगा। इस जावा उदाहरण को प्रति बार कई बार - प्रत्येक जीवित खिलाड़ी के लिए एक बार कहा जाएगा।
एपीआई
package zombie
// You implement this. Your entry should be in package `player`
interface Player {
Action doTurn(PlayerContext context)
}
// These already exist
class PlayerContext {
// A square array, showing the area around you, with you at the centre
// playFields is indexed by x from West to East, then y from North to South
PlayerId[][] getPlayField()
int getBullets() // Current bullets available
int getGameClock() // Current turn number
PlayerId getId() // Id of the current player instance
int getX() // Your current x co-ordinate
int getY() // Your current y co-ordinate
int getBoardSize() // The size of the current playing field
Set<PlayerId> shootablePlayers() // A helper function that identifies players in range.
}
class PlayerId {
String getName() // The name of the entrant that owns this player
int getNumber() // A unique number, assigned to this player
}
// Don't implement this. Use either `Move` or `Shoot`
interface Action {}
enum Move implements Action {
NORTHWEST, NORTH, NORTHEAST,
EAST, STAY, WEST,
SOUTHEAST, SOUTH, SOUTHWEST;
static move randomMove();
}
class Shoot implements Action {
Shoot(PlayerId target);
}
अतिरिक्त नियम
नियंत्रण कार्यक्रम के साथ सही ढंग से काम करने के लिए प्रत्येक प्रविष्टि का एक अद्वितीय नाम होना चाहिए।
प्रविष्टियों को अन्य प्रवेशकों के साथ, या नियंत्रण कार्यक्रम के साथ छेड़छाड़ करने का प्रयास नहीं करना चाहिए, या अन्यथा रन-टाइम वातावरण का लाभ उठाने के लिए "चौथी दीवार को तोड़ना" चाहिए, और एक लाभ प्राप्त करें जो "वास्तविक" ज़ोंबी सर्वनाश में उपलब्ध नहीं होगा ।
खिलाड़ियों के बीच संवाद की अनुमति है।
विजेता वह प्रवेशक है जिसका बॉट एक परीक्षण में उच्चतम स्कोर है जो मैं 3 अगस्त 2014 को चलाऊंगा।
अंतिम परिणाम
अंतिम परिणाम में हैं! कायर विजेता है!
2 अगस्त को, मैंने नियंत्रण कार्यक्रम के 19 दौर चलाए, और प्रत्येक खिलाड़ी को उनके औसत अंक के अनुसार रैंक दिया। परिणाम निम्नवत थे:
Coward: 4298
Fox: 3214
Shotguneer: 2471
Cocoon: 1834
JohnNash: 1240
HuddleWolf: 1112
Sokie: 1090
SOS: 859
GordonFreeman: 657
Jack: 657
Waller: 366
SuperCoward: 269
MoveRandomly: 259
StandStill: 230
Vortigaunt: 226
ThePriest: 223
Bee: 61
HideyTwitchy: 52
ZombieHater: 31
Gunner: 20
ZombieRightsActivist: 16
SunTzu: 11
EmoWolfWithAGun: 0
यहां देखने के लिए अंतिम दौर उपलब्ध है ।
रन-बाय-रन परिणाम
19 रनों में से प्रत्येक के व्यक्तिगत परिणाम थे:
#Run at 03-Aug-2014 14:45:35#
Bee: 21
Cocoon: 899
Coward: 4608
EmoWolfWithAGun: 0
Fox: 3993
GordonFreeman: 582
Gunner: 18
HideyTwitchy: 37
HuddleWolf: 2836
Jack: 839
JohnNash: 956
MoveRandomly: 310
SOS: 842
Shotguneer: 2943
Sokie: 937
StandStill: 250
SunTzu: 3
SuperCoward: 318
ThePriest: 224
Vortigaunt: 226
Waller: 258
ZombieHater: 41
ZombieRightsActivist: 10
#Run at 03-Aug-2014 14:56:48#
Bee: 97
Cocoon: 3073
Coward: 5699
EmoWolfWithAGun: 0
Fox: 4305
GordonFreeman: 1252
Gunner: 24
HideyTwitchy: 25
HuddleWolf: 3192
Jack: 83
JohnNash: 1195
MoveRandomly: 219
SOS: 884
Shotguneer: 3751
Sokie: 1234
StandStill: 194
SunTzu: 69
SuperCoward: 277
ThePriest: 884
Vortigaunt: 564
Waller: 1281
ZombieHater: 10
ZombieRightsActivist: 2
#Run at 03-Aug-2014 15:01:37#
Bee: 39
Cocoon: 2512
Coward: 2526
EmoWolfWithAGun: 0
Fox: 2687
GordonFreeman: 852
Gunner: 21
HideyTwitchy: 91
HuddleWolf: 1112
Jack: 1657
JohnNash: 944
MoveRandomly: 312
SOS: 660
Shotguneer: 1067
Sokie: 1356
StandStill: 169
SunTzu: 8
SuperCoward: 351
ThePriest: 223
Vortigaunt: 341
Waller: 166
ZombieHater: 25
ZombieRightsActivist: 47
#Run at 03-Aug-2014 15:08:27#
Bee: 27
Cocoon: 2026
Coward: 3278
EmoWolfWithAGun: 0
Fox: 2677
GordonFreeman: 611
Gunner: 16
HideyTwitchy: 11
HuddleWolf: 1694
Jack: 600
JohnNash: 1194
MoveRandomly: 48
SOS: 751
Shotguneer: 5907
Sokie: 1233
StandStill: 62
SunTzu: 9
SuperCoward: 252
ThePriest: 173
Vortigaunt: 107
Waller: 276
ZombieHater: 53
ZombieRightsActivist: 38
#Run at 03-Aug-2014 15:14:01#
Bee: 26
Cocoon: 1371
Coward: 5121
EmoWolfWithAGun: 0
Fox: 3878
GordonFreeman: 464
Gunner: 29
HideyTwitchy: 130
HuddleWolf: 955
Jack: 101
JohnNash: 698
MoveRandomly: 269
SOS: 1314
Shotguneer: 2444
Sokie: 3217
StandStill: 233
SunTzu: 10
SuperCoward: 269
ThePriest: 318
Vortigaunt: 266
Waller: 494
ZombieHater: 49
ZombieRightsActivist: 9
#Run at 03-Aug-2014 15:19:43#
Bee: 25
Cocoon: 2098
Coward: 4855
EmoWolfWithAGun: 0
Fox: 4081
GordonFreeman: 227
Gunner: 43
HideyTwitchy: 28
HuddleWolf: 2149
Jack: 1887
JohnNash: 1457
MoveRandomly: 117
SOS: 1068
Shotguneer: 4272
Sokie: 636
StandStill: 53
SunTzu: 9
SuperCoward: 209
ThePriest: 220
Vortigaunt: 227
Waller: 366
ZombieHater: 19
ZombieRightsActivist: 49
#Run at 03-Aug-2014 15:24:03#
Bee: 46
Cocoon: 682
Coward: 3588
EmoWolfWithAGun: 0
Fox: 4169
GordonFreeman: 764
Gunner: 13
HideyTwitchy: 21
HuddleWolf: 842
Jack: 1720
JohnNash: 1260
MoveRandomly: 259
SOS: 636
Shotguneer: 777
Sokie: 586
StandStill: 75
SunTzu: 6
SuperCoward: 390
ThePriest: 189
Vortigaunt: 208
Waller: 334
ZombieHater: 61
ZombieRightsActivist: 20
#Run at 03-Aug-2014 15:29:49#
Bee: 90
Cocoon: 516
Coward: 4298
EmoWolfWithAGun: 0
Fox: 1076
GordonFreeman: 581
Gunner: 8
HideyTwitchy: 87
HuddleWolf: 4298
Jack: 4715
JohnNash: 727
MoveRandomly: 102
SOS: 859
Shotguneer: 2471
Sokie: 2471
StandStill: 427
SunTzu: 24
SuperCoward: 159
ThePriest: 359
Vortigaunt: 94
Waller: 398
ZombieHater: 54
ZombieRightsActivist: 21
#Run at 03-Aug-2014 15:36:50#
Bee: 18
Cocoon: 3127
Coward: 3124
EmoWolfWithAGun: 0
Fox: 5094
GordonFreeman: 255
Gunner: 43
HideyTwitchy: 17
HuddleWolf: 1078
Jack: 272
JohnNash: 1270
MoveRandomly: 55
SOS: 723
Shotguneer: 3126
Sokie: 1388
StandStill: 179
SunTzu: 7
SuperCoward: 45
ThePriest: 519
Vortigaunt: 172
Waller: 200
ZombieHater: 45
ZombieRightsActivist: 8
#Run at 03-Aug-2014 15:40:59#
Bee: 78
Cocoon: 1834
Coward: 4521
EmoWolfWithAGun: 0
Fox: 1852
GordonFreeman: 657
Gunner: 7
HideyTwitchy: 2
HuddleWolf: 969
Jack: 895
JohnNash: 1596
MoveRandomly: 277
SOS: 694
Shotguneer: 1397
Sokie: 844
StandStill: 325
SunTzu: 7
SuperCoward: 192
ThePriest: 148
Vortigaunt: 369
Waller: 232
ZombieHater: 16
ZombieRightsActivist: 17
#Run at 03-Aug-2014 15:44:22#
Bee: 23
Cocoon: 2638
Coward: 2269
EmoWolfWithAGun: 0
Fox: 2067
GordonFreeman: 730
Gunner: 21
HideyTwitchy: 60
HuddleWolf: 763
Jack: 1469
JohnNash: 1494
MoveRandomly: 273
SOS: 3181
Shotguneer: 3181
Sokie: 653
StandStill: 450
SunTzu: 19
SuperCoward: 272
ThePriest: 215
Vortigaunt: 299
Waller: 510
ZombieHater: 62
ZombieRightsActivist: 16
#Run at 03-Aug-2014 15:48:03#
Bee: 97
Cocoon: 2009
Coward: 2798
EmoWolfWithAGun: 0
Fox: 1907
GordonFreeman: 958
Gunner: 22
HideyTwitchy: 93
HuddleWolf: 925
Jack: 288
JohnNash: 476
MoveRandomly: 422
SOS: 3723
Shotguneer: 2076
Sokie: 1090
StandStill: 134
SunTzu: 92
SuperCoward: 141
ThePriest: 470
Vortigaunt: 216
Waller: 340
ZombieHater: 32
ZombieRightsActivist: 20
#Run at 03-Aug-2014 16:03:38#
Bee: 121
Cocoon: 501
Coward: 9704
EmoWolfWithAGun: 0
Fox: 3592
GordonFreeman: 588
Gunner: 20
HideyTwitchy: 54
HuddleWolf: 749
Jack: 1245
JohnNash: 1345
MoveRandomly: 451
SOS: 835
Shotguneer: 1548
Sokie: 589
StandStill: 166
SunTzu: 11
SuperCoward: 158
ThePriest: 93
Vortigaunt: 246
Waller: 1350
ZombieHater: 18
ZombieRightsActivist: 11
#Run at 03-Aug-2014 16:10:24#
Bee: 66
Cocoon: 1809
Coward: 3295
EmoWolfWithAGun: 0
Fox: 3214
GordonFreeman: 1182
Gunner: 15
HideyTwitchy: 52
HuddleWolf: 1514
Jack: 101
JohnNash: 745
MoveRandomly: 211
SOS: 862
Shotguneer: 6335
Sokie: 1504
StandStill: 384
SunTzu: 14
SuperCoward: 259
ThePriest: 244
Vortigaunt: 262
Waller: 1356
ZombieHater: 24
ZombieRightsActivist: 20
#Run at 03-Aug-2014 16:28:05#
Bee: 61
Cocoon: 692
Coward: 11141
EmoWolfWithAGun: 0
Fox: 1955
GordonFreeman: 1234
Gunner: 42
HideyTwitchy: 24
HuddleWolf: 1862
Jack: 609
JohnNash: 1579
MoveRandomly: 167
SOS: 958
Shotguneer: 11141
Sokie: 284
StandStill: 422
SunTzu: 66
SuperCoward: 121
ThePriest: 207
Vortigaunt: 128
Waller: 259
ZombieHater: 22
ZombieRightsActivist: 7
#Run at 03-Aug-2014 16:32:10#
Bee: 207
Cocoon: 4414
Coward: 2670
EmoWolfWithAGun: 0
Fox: 978
GordonFreeman: 620
Gunner: 19
HideyTwitchy: 135
HuddleWolf: 962
Jack: 657
JohnNash: 1200
MoveRandomly: 147
SOS: 687
Shotguneer: 2258
Sokie: 2433
StandStill: 249
SunTzu: 49
SuperCoward: 1056
ThePriest: 602
Vortigaunt: 326
Waller: 593
ZombieHater: 31
ZombieRightsActivist: 10
#Run at 03-Aug-2014 16:38:56#
Bee: 265
Cocoon: 2231
Coward: 4228
EmoWolfWithAGun: 0
Fox: 4737
GordonFreeman: 532
Gunner: 9
HideyTwitchy: 75
HuddleWolf: 2375
Jack: 1237
JohnNash: 1249
MoveRandomly: 109
SOS: 860
Shotguneer: 6470
Sokie: 1096
StandStill: 126
SunTzu: 15
SuperCoward: 393
ThePriest: 133
Vortigaunt: 184
Waller: 257
ZombieHater: 32
ZombieRightsActivist: 12
#Run at 03-Aug-2014 16:52:16#
Bee: 67
Cocoon: 1534
Coward: 9324
EmoWolfWithAGun: 0
Fox: 2458
GordonFreeman: 1019
Gunner: 24
HideyTwitchy: 72
HuddleWolf: 601
Jack: 399
JohnNash: 1366
MoveRandomly: 275
SOS: 506
Shotguneer: 1007
Sokie: 475
StandStill: 230
SunTzu: 135
SuperCoward: 361
ThePriest: 61
Vortigaunt: 112
Waller: 4106
ZombieHater: 12
ZombieRightsActivist: 22
#Run at 03-Aug-2014 17:03:04#
Bee: 26
Cocoon: 1159
Coward: 7796
EmoWolfWithAGun: 0
Fox: 3948
GordonFreeman: 878
Gunner: 3
HideyTwitchy: 17
HuddleWolf: 1490
Jack: 513
JohnNash: 1240
MoveRandomly: 487
SOS: 1460
Shotguneer: 1481
Sokie: 832
StandStill: 457
SunTzu: 8
SuperCoward: 480
ThePriest: 527
Vortigaunt: 171
Waller: 3729
ZombieHater: 30
ZombieRightsActivist: 10