From 795ca306fe9e725ad0639ced851a8519bc86e1c1 Mon Sep 17 00:00:00 2001 From: Vany Ingenzi <ingenzi@intel16.info.ucl.ac.be> Date: Fri, 10 Dec 2021 18:37:33 +0100 Subject: [PATCH] Working on player OneAfterOne --- GUI.ozf | Bin 0 -> 13378 bytes Input.oz | 13 +- Input.ozf | Bin 0 -> 3105 bytes Main.ozf | Bin 0 -> 41438 bytes Player002Basic.oz | 365 ----------------- Player001Basic.oz => Player020OneAfterOne.oz | 407 +++++++++---------- Player020OneAfterOne.ozf | Bin 0 -> 84862 bytes Player000Basic.oz => Player020Random.oz | 17 +- Player020Random.ozf | Bin 0 -> 88466 bytes PlayerManager.oz | 17 +- PlayerManager.ozf | Bin 0 -> 1240 bytes 11 files changed, 207 insertions(+), 612 deletions(-) create mode 100644 GUI.ozf create mode 100644 Input.ozf create mode 100644 Main.ozf delete mode 100644 Player002Basic.oz rename Player001Basic.oz => Player020OneAfterOne.oz (53%) create mode 100644 Player020OneAfterOne.ozf rename Player000Basic.oz => Player020Random.oz (95%) create mode 100644 Player020Random.ozf create mode 100644 PlayerManager.ozf diff --git a/GUI.ozf b/GUI.ozf new file mode 100644 index 0000000000000000000000000000000000000000..ac1eb604f7c214e0d3ef3be148341c1edc37263b GIT binary patch literal 13378 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 literal 0 HcmV?d00001 diff --git a/Input.oz b/Input.oz index 6d5d915..37eeab1 100644 --- a/Input.oz +++ b/Input.oz @@ -50,6 +50,7 @@ in %%%% Description of the map %%%% +/* NRow = 10 NColumn = 20 Map = [[0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0] @@ -62,12 +63,20 @@ in [0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0] [0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0] [0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0]] +*/ + NRow = 5 + NColumn = 5 + Map = [[0 0 0 0 1] + [0 1 1 0 0] + [0 0 0 1 0] + [0 0 1 0 0] + [0 0 0 0 0]] %%%% Players description %%%% NbPlayers = 3 - Players = [player000basic player001basic player002basic] - Colors = [black c(245 88 203) c(255 102 0)] + Players = [player020oneafterone player020oneafterone player020oneafterone] + Colors = [ black c(245 88 203) c(255 102 0)] %%%% Surface time/turns %%%% diff --git a/Input.ozf b/Input.ozf new file mode 100644 index 0000000000000000000000000000000000000000..2d0dfd331b8ed21c151b951097f0e8a330913dfe GIT binary patch literal 3105 zcmZ{lTWl0n7{_PZ-FDl8E!adfat9F%P_7~(0+ve=h~e@8@-p4d(vjVn&Fn0ciy{aJ ziZOBx5EL)bpgx!oE&*d82uKKukr0BsXbd6x0uMg;V*LHj?%-JBroWl*|3BZEIp;g) zOf4(X-?FR(fBjPg)t;Lp?uTI|TA;~9V~85mo)`@EijsEd=Mi-hwRD?a*0s{9uvEx7 zwAPr^g6#%~lo1)<E0XeOS#;X8Sa&5787{vnstKHoA9N7?sMlAIX&KAys)@%=m_Yn> zIc^z8d|GkUq)A*)mF@9LIjJW#7jpI*CukYl;(Lyr4V{2H{>SEpdc#MGk~!Dd9~zN$ zHFoQ;L`}xemGU0ZyOQZPuTTm{`D=;aG3`!Q!4E>@4#|eF6nKkDLDtSV$hS?Ou+#Nc z&Uf{Yw_=9fg|S^ms_1*B4%?(^%VSoN-Zbf6`%7jP7+Yl|y@md2?psW@_d+zn%|_?l zVzE4dH%xNAJhe>{y%DW$F|@smGyi_xMm075r^!^~^>P=x>%lG?%3b13rps&c>+<+^ z-d^D#UX@dww+r0XEAHVI7gMAeYjj1glbK#oa$6l{NxW7@s-v<}YoxRaexQo1HjV8$ zJF^nC+^AJ{uH>LzHmPA};MiK(Wu~!MC@;lQsoL_!dVz3>(K(kbVYB6}#nMU7&O6)} z8By|FE$l)g+I?SX3nY3J0zcz)lmch;)QRZ%G8_Ii<<0BnX-mG?%^Qz5x0|OO-PX<1 z?w`}m<49VwyLlW~YnHqkuas|hbh2hjR=b`i(rTKr9c^By3e1p9Wplo*#_3YYY|)XJ zCh<_#4;*)e_mWR{^RVYlk4$IDQ}L&o9+lnyoJ5V^{)&^)1E!d^oNrd?S&8}%Hxs(r z=UU^*vQn9xUDTpJBb9D<!|6d_w!kFQY**CNQpt>y(*jJCsBd2rI*Y=<^;V!J$f~3J zeP^V;0|}M<DHDw+8et-pa=3}~y?C-(;V@nJ$f$fzm^LlKKs_~)<uaf*m%41p%Y=T= z)`~FS${IIcnS5WRrtCr?r@7T6xxAO=@-bAyVfYX}f}v`72b#fbckb(8J-iC9!3KC8 zHo_)&12)4J*a~mLHrNht!P~F{YW47epds`Hy+|MU0ZgTD4VQj^k$5x`WF;Pngjybs z#G{B_k$42r7zw2%Bk?ezN}>sRffb2HUi^2IrcwM=OLGH3756%*C%zY%R4PFs6Y7Cy z{SkH5WPXnXU9CHjAhvE-g!MP#Hwg_yulogI{e|FF)-AQ@@nGFl%byi-BQCB>+^h7t zreWL#Eh6dn`9WEKkfqmrk5FB$-{DFm?jSBpFdFMNT#8zLLtNC8e}x460vDnx#7lEN zo^^|?Z{x;IjB|102FBUAaUJ7K+_;AEjf`kgSBZbD4F3cJw7!QQ;CM9JD~Mwfn#W~0 z8ns+Pe5F1Y;39k>@hzN(BND3FIrvQC44j1zB);K^D&G6?(VW6K4PV0{Wu2^K9h5i@ zC*T0W)cY7>e<Y3~_QmJ=6~<nS2R7WEc-9wW?T#BqFm}a_&oFjkJn)<@4eEXP09Hvb zT<Z{o5(nTQ6r&ODM~qX;Uf2g?BzD6d7%j0AcEKp^*!MtZLWO^~av!2B{qOIB!4i7s zDi|bDgb*H!#``2<0!)ObVG=w8li^vI0?)xzcpj#~beI8JyjGYAvtTyNfi{>6FTy;S z4+|Kd4j1D#hk7C2B3KMd@EDvq)7tV&VHvy(%b^d0y?++Q5%-K6V=(IC#%PRm!<A9r z{oIskz4XbK>waoXr*C6Uw3Nn2kV93)wTkMkgl2Qds)>@20+mX&t%WqyL45_~h=vOK z_~=PVdg;@aF#a^-mcO%v)+p!!gJ3WWfuZmO3<Isha2NqkQ46i<NJwg-mDmi5Rdk^O z_KfMs|G#^mO73Iah4QMK?sP2Kw&BxxkAHr(XP>5{hi_u0LBA@!O$E~g^?lP_CsM`H Jcbr-C`v)g7tb+gm literal 0 HcmV?d00001 diff --git a/Main.ozf b/Main.ozf new file mode 100644 index 0000000000000000000000000000000000000000..6779d7228acc45750768b4fbaed54d9f49226030 GIT binary patch literal 41438 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 literal 0 HcmV?d00001 diff --git a/Player002Basic.oz b/Player002Basic.oz deleted file mode 100644 index 9dce76b..0000000 --- a/Player002Basic.oz +++ /dev/null @@ -1,365 +0,0 @@ -functor -import - Input - OS - System -export - portPlayer:StartPlayer -define - StartPlayer - TreatStream - AllDirections = [east west north south surface] - AllWeapons = [missile sonar drone mine] - - fun{NewRec Rec Feature Value} - NewRecord={Record.clone Rec} - in - {List.forAll {Record.arity NewRecord} proc{$ Feat} - if Feat==Feature then NewRecord.Feat=Value - else NewRecord.Feat=Rec.Feat end - end} - NewRecord - end - - fun{ValidPosition X Y History} - if X < 1 orelse X > Input.nRow then - false - elseif Y < 1 orelse Y > Input.nColumn then - false - else - {And {Not {List.nth {List.nth Input.map X} Y}==1} - {Not {List.member pt(x:X y:Y) History}}} - end - end - - fun{GetRandomPosInWater History} - RandomX = ({OS.rand} mod Input.nRow) + 1 - RandomY = ({OS.rand} mod Input.nColumn) + 1 - in - if {Not {ValidPosition RandomX RandomY History}} then - {GetRandomPosInWater History} - else pt(x:RandomX y:RandomY) - end - end - - fun {HandleInitPosition State initPosition(ID Pos)} - RandomPt = {GetRandomPosInWater State.history} - in - ID=State.id Pos=RandomPt - {NewRec {NewRec State pos Pos} history nil} - end - - fun {GetRandomElement L} - Idx=({OS.rand} mod {List.length L}) + 1 - in - {List.nth L Idx} - end - - fun {UpdatePos pt(x:X y:Y) Direction} - case Direction - of east then pt(x:X y:Y+1) - [] west then pt(x:X y:Y-1) - [] south then pt(x:X+1 y:Y) - [] north then pt(x:X-1 y:Y) - [] surface then pt(x:X y:Y) - end - end - - fun {GetPossibleDirections CurrentPos History Directions} - case Directions of nil then nil - [] east|T then - if {ValidPosition CurrentPos.x CurrentPos.y+1 History} then - east|{GetPossibleDirections CurrentPos History T} - else {GetPossibleDirections CurrentPos History T} end - [] west|T then - if {ValidPosition CurrentPos.x CurrentPos.y-1 History} then - west|{GetPossibleDirections CurrentPos History T} - else {GetPossibleDirections CurrentPos History T} end - [] south|T then - if {ValidPosition CurrentPos.x+1 CurrentPos.y History} then - south|{GetPossibleDirections CurrentPos History T} - else {GetPossibleDirections CurrentPos History T} end - [] north|T then - if {ValidPosition CurrentPos.x-1 CurrentPos.y History} then - north|{GetPossibleDirections CurrentPos History T} - else {GetPossibleDirections CurrentPos History T} end - [] surface|T then - surface|{GetPossibleDirections CurrentPos History T} - end - end - - fun {HandleMove State move(ID Pos Direction)} - RandomDirection={GetRandomElement {GetPossibleDirections State.pos State.history AllDirections}} - NewPos={UpdatePos State.pos RandomDirection} - in - ID=State.id Pos=NewPos Direction=RandomDirection - case RandomDirection - of surface then - {NewRec {NewRec State pos NewPos} history nil} - else - {NewRec {NewRec State pos NewPos} history Pos|State.history} - end - end - - fun {GetNewChargeFireItem Item} - case Item - of mine then '#'(fireItem:mine({GetRandomPosInWater nil}) charge:0) - [] missile then '#'(fireItem:missile({GetRandomPosInWater nil}) charge:0) - [] drone then Rdm={GetRandomPosInWater nil} in - if {OS.rand} mod 2 == 0 then '#'(fireItem:drone(row Rdm.x) charge:0) - else '#'(fireItem:drone(column Rdm.y) charge:0) end - [] sonar then '#'(fireItem:sonar charge:0) - end - end - - fun {CheckFireItemReady '#'(fireItem:FireItem charge:NbCharge)} - Input.{Record.label FireItem}==NbCharge - end - - fun{HandleChargeItem State chargeItem(ID Item)} - ToCharge={GetRandomElement State.chargingItems} - AfterCharge={NewRec ToCharge charge ToCharge.charge+1} - NewChargingItems - in - if {CheckFireItemReady AfterCharge} then NewChargingItem={GetNewChargeFireItem {Record.label AfterCharge.fireItem}} in - ID=State.id Item={Record.label AfterCharge.fireItem} - NewChargingItems={List.map State.chargingItems fun{$ Item} - if Item==ToCharge then NewChargingItem - else Item end - end} - {NewRec {NewRec State chargingItems NewChargingItems} chargedItems AfterCharge.fireItem|State.chargedItems} - else - NewChargingItems={List.map State.chargingItems fun{$ Item} - if Item==ToCharge then AfterCharge - else Item end - end} - ID=State.id Item=null - {NewRec State chargingItems NewChargingItems} - end - end - - fun {HandleFireItem State fireItem(ID KindFire)} - case State.chargedItems - of nil then - ID=State.id KindFire=null - State - elseif {OS.rand} mod 2 == 0 then ToFire={GetRandomElement State.chargedItems} in - ID=State.id KindFire=ToFire - case {Record.label KindFire} of mine then - {NewRec {NewRec State chargedItems {List.subtract State.chargedItems ToFire}} placedMines KindFire|State.placedMines} - else - {NewRec State chargedItems {List.subtract State.chargedItems ToFire}} - end - else - ID=State.id KindFire=null - State - end - end - - fun{HandleFireMine State fireMine(ID Mine)} - case State.placedMines - of nil then - ID=State.id Mine=null - State - elseif {OS.rand} mod 5 \= 0 then MineToExplode={GetRandomElement State.placedMines} in - ID=State.id Mine=MineToExplode - {NewRec State placedMines {List.subtract State.placedMines MineToExplode}} - else - ID=State.id Mine=null - State - end - end - - fun {ManhattanDistance Pos1 Pos2} - {Abs Pos1.x-Pos2.x}+{Abs Pos1.y-Pos2.y} - end - - fun {DamageFromExplosion MyPos ExplosionPos} - case {ManhattanDistance MyPos ExplosionPos} - of 0 then 2 - [] 1 then 1 - else 0 end - end - - fun{HandleExplosion State ID Pos Msg} - Damage={DamageFromExplosion State.pos Pos} - in - case Damage - of 0 then - Msg=null - State - else NewLife={Max 0 State.life-Damage} in - case NewLife - of 0 then - Msg=sayDeath(State.id) - {NewRec State life 0} - else - Msg=sayDamageTaken(State.id Damage NewLife) - {NewRec State life NewLife} - end - end - end - - proc{DeadTreatStream Stream State} - case Stream - of initPosition(ID Pos)|T then - ID=null - {DeadTreatStream T State} - [] move(ID Pos Direction)|T then - ID=null - {DeadTreatStream T State} - [] dive|T then %% Ignored - {DeadTreatStream T State} - [] saySurface(ID)|T then %% Ignored - {DeadTreatStream T State} - [] sayMove(ID Direct)|T then %% Ignored - {DeadTreatStream T State} - [] chargeItem(ID Item)|T then - ID=null - {DeadTreatStream T State} - [] isDead(Answer)|T then - Answer=true - {DeadTreatStream T State} - [] fireItem(ID KindFire)|T then - ID=null - {DeadTreatStream T State} - [] fireMine(ID Mine)|T then - ID=null - {DeadTreatStream T State} - [] sayCharge(ID KindItem)|T then %% Ignored - {DeadTreatStream T State} - [] sayMinePlaced(ID)|T then %% Ignored - {DeadTreatStream T State} - [] sayMissileExplode(ID Pos Msg)|T then - Msg=null - {DeadTreatStream T State} - [] sayMineExplode(ID Pos Msg)|T then - Msg=null - {DeadTreatStream T State} - [] sayPassingDrone(drone(row X) ID Answer)|T then - ID=null - {DeadTreatStream T State} - [] sayPassingDrone(drone(column Y) ID Answer)|T then - ID=null - {DeadTreatStream T State} - [] sayAnswerDrone(Drone ID Answer)|T then %% Ignore - {DeadTreatStream T State} - [] sayPassingSonar(ID Resp)|T then - ID=null - {DeadTreatStream T State} - [] sayAnswerSonar(ID Answer)|T then %% Ignore - {DeadTreatStream T State} - [] sayDamageTaken(ID Damage LifeLeft)|T then %% Ignore - {DeadTreatStream T State} - [] sayDeath(ID)|T then %% Ignore - {DeadTreatStream T State} - end - end - - proc{AliveTreatStream Stream State} - case Stream - of initPosition(ID Pos)|T then NewState in - {System.show 'Player'#State.id.id#'received'#initPosition(ID Pos)} - NewState={HandleInitPosition State initPosition(ID Pos)} - {System.show 'Player'#State.id.id#'replied'#initPosition(ID Pos)} - {AliveTreatStream T NewState} - [] move(ID Pos Direction)|T then NewState in - {System.show 'Player'#State.id.id#'received'#move(ID Pos Direction)} - NewState={HandleMove State move(ID Pos Direction)} - {System.show 'Player'#State.id.id#'replied'#move(ID Pos Direction)} - {AliveTreatStream T NewState} - [] dive|T then %% Ignored - {System.show 'Player'#State.id.id#'received'#dive} - {AliveTreatStream T State} - [] saySurface(ID)|T then %% Ignored - {System.show 'Player'#State.id.id#'received'#saySurface(ID)} - {AliveTreatStream T State} - [] sayMove(ID Direct)|T then %% Ignored - {System.show 'Player'#State.id.id#'received'#sayMove(ID Direct)} - {AliveTreatStream T State} - [] isDead(Answer)|T then - Answer=false - {AliveTreatStream T State} - [] chargeItem(ID Item)|T then NewState in - {System.show 'Player'#State.id.id#'received'#chargeItem(ID Item)} - NewState={HandleChargeItem State chargeItem(ID Item)} - {System.show 'Player'#State.id.id#'replied'#chargeItem(ID Item)} - {AliveTreatStream T NewState} - [] fireItem(ID KindFire)|T then NewState in - {System.show 'Player'#State.id.id#'received'#fireItem(ID KindFire)} - NewState={HandleFireItem State fireItem(ID KindFire)} - {System.show 'Player'#State.id.id#'replied'#fireItem(ID KindFire)} - {AliveTreatStream T NewState} - [] fireMine(ID Mine)|T then NewState in - {System.show 'Player'#State.id.id#'received'#fireMine(ID Mine)} - NewState={HandleFireMine State fireMine(ID Mine)} - {System.show 'Player'#State.id.id#'replied'#fireMine(ID Mine)} - {AliveTreatStream T NewState} - [] sayCharge(ID KindItem)|T then %% Ignored - {System.show 'Player'#State.id.id#'received'#sayCharge(ID KindItem)} - {AliveTreatStream T State} - [] sayMinePlaced(ID)|T then %% Ignored - {System.show 'Player'#State.id.id#'received'#sayMinePlaced(ID)} - {AliveTreatStream T State} - [] sayMissileExplode(ID Pos Msg)|T then NewState in - {System.show 'Player'#State.id.id#'received'#sayMissileExplode(ID Pos Msg)} - NewState={HandleExplosion State ID Pos Msg} - {System.show 'Player'#State.id.id#'replied'#sayMissileExplode(ID Pos Msg)} - if NewState.life > 0 then {AliveTreatStream T NewState} - else {DeadTreatStream T NewState} end - [] sayMineExplode(ID Pos Msg)|T then NewState in - {System.show 'Player'#State.id.id#'received'#sayMineExplode(ID Pos Msg)} - NewState={HandleExplosion State ID Pos Msg} - {System.show 'Player'#State.id.id#'replied'#sayMineExplode(ID Pos Msg)} - if NewState.life > 0 then {AliveTreatStream T NewState} - else {DeadTreatStream T NewState} end - [] sayPassingDrone(drone(row X) ID Answer)|T then - {System.show 'Player'#State.id.id#'received'#sayPassingDrone(drone(row X) ID Answer)} - ID=State.id.id - Answer=State.pos.x==X - {System.show 'Player'#State.id.id#'replied'#sayPassingDrone(drone(row X) ID Answer)} - {AliveTreatStream T State} - [] sayPassingDrone(drone(column Y) ID Answer)|T then - {System.show 'Player'#State.id.id#'received'#sayPassingDrone(drone(column Y) ID Answer)} - ID=State.id.id - Answer=State.pos.y==Y - {System.show 'Player'#State.id.id#'replied'#sayPassingDrone(drone(column Y) ID Answer)} - {AliveTreatStream T State} - [] sayAnswerDrone(Drone ID Answer)|T then %% Ignore - {System.show 'Player'#State.id.id#'received'#sayAnswerDrone(Drone ID Answer)} - {AliveTreatStream T State} - [] sayPassingSonar(ID Resp)|T then - ID=State.id.id Resp=pt(x:State.pos.x y:{Max 0 State.pos.y}) - {System.show 'Player'#State.id.id#'received'#sayPassingSonar(ID Resp)} - {AliveTreatStream T State} - [] sayAnswerSonar(ID Answer)|T then %% Ignore - {System.show 'Player'#State.id.id#'received'#sayAnswerSonar(ID Answer)} - {AliveTreatStream T State} - [] sayDamageTaken(ID Damage LifeLeft)|T then %% Ignore - {System.show 'Player'#State.id.id#'received'#sayDamageTaken(ID Damage LifeLeft)} - {AliveTreatStream T State} - [] sayDeath(ID)|T then %% Ignore - {System.show 'Player'#State.id.id#'received'#sayDeath(ID)} - {AliveTreatStream T State} - end - end - - fun{StartPlayer Color ID} - Stream - Port - in - {NewPort Stream Port} - thread - {AliveTreatStream Stream '#'(id:id(id:ID color:Color name:name) - life:Input.maxDamage - pos:pt(x:0 y:0) - chargingItems:[ {GetNewChargeFireItem mine} {GetNewChargeFireItem missile} - {GetNewChargeFireItem sonar} {GetNewChargeFireItem drone} ] - chargedItems:nil - placedMines:nil - history:nil)} - end - Port - end - -end \ No newline at end of file diff --git a/Player001Basic.oz b/Player020OneAfterOne.oz similarity index 53% rename from Player001Basic.oz rename to Player020OneAfterOne.oz index 9dce76b..7af0351 100644 --- a/Player001Basic.oz +++ b/Player020OneAfterOne.oz @@ -9,60 +9,52 @@ define StartPlayer TreatStream AllDirections = [east west north south surface] - AllWeapons = [missile sonar drone mine] - - fun{NewRec Rec Feature Value} - NewRecord={Record.clone Rec} - in - {List.forAll {Record.arity NewRecord} proc{$ Feat} - if Feat==Feature then NewRecord.Feat=Value - else NewRecord.Feat=Rec.Feat end - end} - NewRecord - end - - fun{ValidPosition X Y History} - if X < 1 orelse X > Input.nRow then - false - elseif Y < 1 orelse Y > Input.nColumn then - false - else - {And {Not {List.nth {List.nth Input.map X} Y}==1} - {Not {List.member pt(x:X y:Y) History}}} + AllWeapons = [missile drone] + + fun {GetNewEnemyTarget MyId Dead} + Enemy=({OS.rand} mod Input.nbPlayer) + 1 + in + if {List.length Dead}==Input.nbPlayer then + null + elseif Enemy \= MyId andthen {Not {List.member Enemy Dead}} then + Enemy + else + {GetNewEnemyTarget MyId Dead} end end - fun{GetRandomPosInWater History} - RandomX = ({OS.rand} mod Input.nRow) + 1 - RandomY = ({OS.rand} mod Input.nColumn) + 1 - in - if {Not {ValidPosition RandomX RandomY History}} then - {GetRandomPosInWater History} - else pt(x:RandomX y:RandomY) + fun {GetNewChargeFireItem Item} + case Item + of missile then '#'(fireItem:missile({GetRandomPosInWater nil}) charge:0) + [] drone then Unbound in + if {OS.rand} mod 2 == 0 then '#'(fireItem:drone(row Unbound) charge:0) + else '#'(fireItem:drone(column Unbound) charge:0) end end end - fun {HandleInitPosition State initPosition(ID Pos)} - RandomPt = {GetRandomPosInWater State.history} - in - ID=State.id Pos=RandomPt - {NewRec {NewRec State pos Pos} history nil} - end - - fun {GetRandomElement L} - Idx=({OS.rand} mod {List.length L}) + 1 + fun{StartPlayer Color ID} + Stream + Port in - {List.nth L Idx} - end - - fun {UpdatePos pt(x:X y:Y) Direction} - case Direction - of east then pt(x:X y:Y+1) - [] west then pt(x:X y:Y-1) - [] south then pt(x:X+1 y:Y) - [] north then pt(x:X-1 y:Y) - [] surface then pt(x:X y:Y) + {NewPort Stream Port} + thread + {AliveTreatStream Stream '#'( id:id(id:ID color:Color name:name) + pos:pt(x:0 y:0) + history:nil + dead:nil + chargingItems: [ + {GetNewChargeFireItem drone} {GetNewChargeFireItem drone} + {GetNewChargeFireItem missile} + ] + chargedItems:nil + target:'#'(idNum:{GetNewEnemyTarget ID nil} history:nil confirmedRow:unit confirmedColumn:unit) + life:Input.maxDamage + gaveUpPosition: false + loopDirection: AllDirections + dronesLog:'#'(row:0 column:0) + )} end + Port end fun {GetPossibleDirections CurrentPos History Directions} @@ -88,6 +80,53 @@ define end end + fun {GetRandomElement L} + Idx=({OS.rand} mod {List.length L}) + 1 + in + {List.nth L Idx} + end + + fun{ValidPosition X Y PointsHistory} + if X < 1 orelse X > Input.nRow then + false + elseif Y < 1 orelse Y > Input.nColumn then + false + else + {And {Not {List.nth {List.nth Input.map X} Y}==1} + {Not {List.member pt(x:X y:Y) PointsHistory}}} + end + end + + fun{NewRec Rec Feature Value} + NewRecord={Record.clone Rec} + in + {List.forAll {Record.arity NewRecord} proc{$ Feat} + if Feat==Feature then NewRecord.Feat=Value + else NewRecord.Feat=Rec.Feat end + end} + NewRecord + end + + fun{GetRandomPosInWater History} + RandomX = ({OS.rand} mod Input.nRow) + 1 + RandomY = ({OS.rand} mod Input.nColumn) + 1 + in + if {Not {ValidPosition RandomX RandomY History}} then + {GetRandomPosInWater History} + else pt(x:RandomX y:RandomY) + end + end + + fun {UpdatePos pt(x:X y:Y) Direction} + case Direction + of east then pt(x:X y:Y+1) + [] west then pt(x:X y:Y-1) + [] south then pt(x:X+1 y:Y) + [] north then pt(x:X-1 y:Y) + [] surface then pt(x:X y:Y) + end + end + fun {HandleMove State move(ID Pos Direction)} RandomDirection={GetRandomElement {GetPossibleDirections State.pos State.history AllDirections}} NewPos={UpdatePos State.pos RandomDirection} @@ -98,17 +137,62 @@ define {NewRec {NewRec State pos NewPos} history nil} else {NewRec {NewRec State pos NewPos} history Pos|State.history} + end + end + + fun {HandleInitPosition State initPosition(ID Pos)} + RandomPt = {GetRandomPosInWater State.history} + in + ID=State.id Pos=RandomPt + {NewRec {NewRec State pos Pos} history nil} + end + + fun{InverseUpdatePos pt(x:X y:Y) Direction} + case Direction + of east then pt(x:X y:Y-1) + [] west then pt(x:X y:Y+1) + [] south then pt(x:X-1 y:Y) + [] north then pt(x:X+1 y:Y) + end + end + + fun{PossiblePath pt(x:X y:Y) DirectionsHistory} + case DirectionsHistory of nil then true + [] Direction|T then Origin={InverseUpdatePos pt(x:X y:Y) Direction} in + if {ValidPosition Origin.x Origin.y nil} then + {PossiblePath Origin T} + else + false + end end end - fun {GetNewChargeFireItem Item} - case Item - of mine then '#'(fireItem:mine({GetRandomPosInWater nil}) charge:0) - [] missile then '#'(fireItem:missile({GetRandomPosInWater nil}) charge:0) - [] drone then Rdm={GetRandomPosInWater nil} in - if {OS.rand} mod 2 == 0 then '#'(fireItem:drone(row Rdm.x) charge:0) - else '#'(fireItem:drone(column Rdm.y) charge:0) end - [] sonar then '#'(fireItem:sonar charge:0) + fun {EnemyPossiblePositions NRow NColumn Directions Acc} + if Input.nRow==NRow andthen NColumn==Input.nColumn then Acc + elseif NRow==Input.nRow then + if {ValidPosition NRow NColumn nil} andthen + {PossiblePath pt(x:Input.nRow y:NColumn) Directions} then + {EnemyPossiblePositions 1 NColumn+1 Directions pt(x:Input.nRow y:NColumn)|Acc} + else + {EnemyPossiblePositions 1 NColumn+1 Directions Acc} + end + else + if {ValidPosition NRow NColumn nil} andthen + {PossiblePath pt(x:NRow y:NColumn) Directions} then + {EnemyPossiblePositions NRow+1 NColumn Directions pt(x:NRow y:NColumn)|Acc} + else + {EnemyPossiblePositions NRow+1 NColumn Directions Acc} + end + end + end + + fun {HandleSayMove State sayMove(id(id:EnemyId color:_ name:_) Direction)} + %% MoreComplex + case EnemyId==State.target.idNum + of true then + {NewRec State target '#'(idNum:EnemyId history:Direction|State.target.history)} + else + State end end @@ -138,122 +222,42 @@ define end end - fun {HandleFireItem State fireItem(ID KindFire)} - case State.chargedItems - of nil then - ID=State.id KindFire=null - State - elseif {OS.rand} mod 2 == 0 then ToFire={GetRandomElement State.chargedItems} in - ID=State.id KindFire=ToFire - case {Record.label KindFire} of mine then - {NewRec {NewRec State chargedItems {List.subtract State.chargedItems ToFire}} placedMines KindFire|State.placedMines} - else - {NewRec State chargedItems {List.subtract State.chargedItems ToFire}} + fun {FireSomething State fireItem(ID KindFire)} + case State.chargedItems + of nil then ID=State.id KindFire=null State + else ToFire={GetRandomElement State.chargedItems} in + case ToFire + of drone(column Y) then Y=(State.dronesLog.column mod Input.nColumn)+1 + [] drone(row X) then X=(State.dronesLog.row mod Input.row)+1 end - else - ID=State.id KindFire=null - State + KindFire=ToFire ID=State.id + {NewRec State chargedItems {List.subtract State.chargedItems ToFire}} end end - - fun{HandleFireMine State fireMine(ID Mine)} - case State.placedMines - of nil then - ID=State.id Mine=null - State - elseif {OS.rand} mod 5 \= 0 then MineToExplode={GetRandomElement State.placedMines} in - ID=State.id Mine=MineToExplode - {NewRec State placedMines {List.subtract State.placedMines MineToExplode}} - else - ID=State.id Mine=null - State - end - end - - fun {ManhattanDistance Pos1 Pos2} - {Abs Pos1.x-Pos2.x}+{Abs Pos1.y-Pos2.y} - end - - fun {DamageFromExplosion MyPos ExplosionPos} - case {ManhattanDistance MyPos ExplosionPos} - of 0 then 2 - [] 1 then 1 - else 0 end - end - - fun{HandleExplosion State ID Pos Msg} - Damage={DamageFromExplosion State.pos Pos} + + fun {HandleFireItem State fireItem(ID KindFire)} + Possibilities in - case Damage - of 0 then - Msg=null - State - else NewLife={Max 0 State.life-Damage} in - case NewLife - of 0 then - Msg=sayDeath(State.id) - {NewRec State life 0} - else - Msg=sayDamageTaken(State.id Damage NewLife) - {NewRec State life NewLife} - end - end + if {List.length State.target.history} >= 10 then + Possibilities={EnemyPossiblePositions 1 1 State.target.history nil} + {System.show 'Enemy History'#State.target.history} + else + {FireSomething State fireItem(ID KindFire)} + end end - proc{DeadTreatStream Stream State} - case Stream - of initPosition(ID Pos)|T then - ID=null - {DeadTreatStream T State} - [] move(ID Pos Direction)|T then - ID=null - {DeadTreatStream T State} - [] dive|T then %% Ignored - {DeadTreatStream T State} - [] saySurface(ID)|T then %% Ignored - {DeadTreatStream T State} - [] sayMove(ID Direct)|T then %% Ignored - {DeadTreatStream T State} - [] chargeItem(ID Item)|T then - ID=null - {DeadTreatStream T State} - [] isDead(Answer)|T then - Answer=true - {DeadTreatStream T State} - [] fireItem(ID KindFire)|T then - ID=null - {DeadTreatStream T State} - [] fireMine(ID Mine)|T then - ID=null - {DeadTreatStream T State} - [] sayCharge(ID KindItem)|T then %% Ignored - {DeadTreatStream T State} - [] sayMinePlaced(ID)|T then %% Ignored - {DeadTreatStream T State} - [] sayMissileExplode(ID Pos Msg)|T then - Msg=null - {DeadTreatStream T State} - [] sayMineExplode(ID Pos Msg)|T then - Msg=null - {DeadTreatStream T State} - [] sayPassingDrone(drone(row X) ID Answer)|T then - ID=null - {DeadTreatStream T State} - [] sayPassingDrone(drone(column Y) ID Answer)|T then - ID=null - {DeadTreatStream T State} - [] sayAnswerDrone(Drone ID Answer)|T then %% Ignore - {DeadTreatStream T State} - [] sayPassingSonar(ID Resp)|T then - ID=null - {DeadTreatStream T State} - [] sayAnswerSonar(ID Answer)|T then %% Ignore - {DeadTreatStream T State} - [] sayDamageTaken(ID Damage LifeLeft)|T then %% Ignore - {DeadTreatStream T State} - [] sayDeath(ID)|T then %% Ignore - {DeadTreatStream T State} - end + fun {HandleAnswerDrone State sayAnswerDrone(Drone ID Answer)} + case ID + of id(id:EnemyId color:_ name:_) then + if Answer then + case Drone + of drone(column Y) then + {NewRec State target {NewRec State.target confirmedColumn}} + [] drone(row X) then + + end + else State end + else State end end proc{AliveTreatStream Stream State} @@ -267,19 +271,20 @@ define {System.show 'Player'#State.id.id#'received'#move(ID Pos Direction)} NewState={HandleMove State move(ID Pos Direction)} {System.show 'Player'#State.id.id#'replied'#move(ID Pos Direction)} - {AliveTreatStream T NewState} + {AliveTreatStream T NewState} [] dive|T then %% Ignored {System.show 'Player'#State.id.id#'received'#dive} {AliveTreatStream T State} - [] saySurface(ID)|T then %% Ignored - {System.show 'Player'#State.id.id#'received'#saySurface(ID)} - {AliveTreatStream T State} - [] sayMove(ID Direct)|T then %% Ignored - {System.show 'Player'#State.id.id#'received'#sayMove(ID Direct)} - {AliveTreatStream T State} [] isDead(Answer)|T then Answer=false {AliveTreatStream T State} + [] sayDeath(ID)|T then %% Ignore + {System.show 'Player'#State.id.id#'received'#sayDeath(ID)} + {AliveTreatStream T State} + [] sayMove(ID Direct)|T then NewState in + {System.show 'Player'#State.id.id#'received'#sayMove(ID Direct)} + NewState={HandleSayMove State sayMove(ID Direct)} + {AliveTreatStream T State} [] chargeItem(ID Item)|T then NewState in {System.show 'Player'#State.id.id#'received'#chargeItem(ID Item)} NewState={HandleChargeItem State chargeItem(ID Item)} @@ -290,76 +295,26 @@ define NewState={HandleFireItem State fireItem(ID KindFire)} {System.show 'Player'#State.id.id#'replied'#fireItem(ID KindFire)} {AliveTreatStream T NewState} - [] fireMine(ID Mine)|T then NewState in - {System.show 'Player'#State.id.id#'received'#fireMine(ID Mine)} - NewState={HandleFireMine State fireMine(ID Mine)} - {System.show 'Player'#State.id.id#'replied'#fireMine(ID Mine)} - {AliveTreatStream T NewState} + [] saySurface(ID)|T then %% Ignored + {System.show 'Player'#State.id.id#'received'#saySurface(ID)} + {AliveTreatStream T State} [] sayCharge(ID KindItem)|T then %% Ignored {System.show 'Player'#State.id.id#'received'#sayCharge(ID KindItem)} {AliveTreatStream T State} [] sayMinePlaced(ID)|T then %% Ignored {System.show 'Player'#State.id.id#'received'#sayMinePlaced(ID)} {AliveTreatStream T State} - [] sayMissileExplode(ID Pos Msg)|T then NewState in - {System.show 'Player'#State.id.id#'received'#sayMissileExplode(ID Pos Msg)} - NewState={HandleExplosion State ID Pos Msg} - {System.show 'Player'#State.id.id#'replied'#sayMissileExplode(ID Pos Msg)} - if NewState.life > 0 then {AliveTreatStream T NewState} - else {DeadTreatStream T NewState} end - [] sayMineExplode(ID Pos Msg)|T then NewState in - {System.show 'Player'#State.id.id#'received'#sayMineExplode(ID Pos Msg)} - NewState={HandleExplosion State ID Pos Msg} - {System.show 'Player'#State.id.id#'replied'#sayMineExplode(ID Pos Msg)} - if NewState.life > 0 then {AliveTreatStream T NewState} - else {DeadTreatStream T NewState} end - [] sayPassingDrone(drone(row X) ID Answer)|T then - {System.show 'Player'#State.id.id#'received'#sayPassingDrone(drone(row X) ID Answer)} - ID=State.id.id - Answer=State.pos.x==X - {System.show 'Player'#State.id.id#'replied'#sayPassingDrone(drone(row X) ID Answer)} - {AliveTreatStream T State} [] sayPassingDrone(drone(column Y) ID Answer)|T then {System.show 'Player'#State.id.id#'received'#sayPassingDrone(drone(column Y) ID Answer)} ID=State.id.id Answer=State.pos.y==Y {System.show 'Player'#State.id.id#'replied'#sayPassingDrone(drone(column Y) ID Answer)} {AliveTreatStream T State} - [] sayAnswerDrone(Drone ID Answer)|T then %% Ignore + [] sayAnswerDrone(Drone ID Answer)|T then NewState in %% Ignore {System.show 'Player'#State.id.id#'received'#sayAnswerDrone(Drone ID Answer)} - {AliveTreatStream T State} - [] sayPassingSonar(ID Resp)|T then - ID=State.id.id Resp=pt(x:State.pos.x y:{Max 0 State.pos.y}) - {System.show 'Player'#State.id.id#'received'#sayPassingSonar(ID Resp)} - {AliveTreatStream T State} - [] sayAnswerSonar(ID Answer)|T then %% Ignore - {System.show 'Player'#State.id.id#'received'#sayAnswerSonar(ID Answer)} - {AliveTreatStream T State} - [] sayDamageTaken(ID Damage LifeLeft)|T then %% Ignore - {System.show 'Player'#State.id.id#'received'#sayDamageTaken(ID Damage LifeLeft)} - {AliveTreatStream T State} - [] sayDeath(ID)|T then %% Ignore - {System.show 'Player'#State.id.id#'received'#sayDeath(ID)} + NewState={HandleAnswerDrone State sayAnswerDrone(Drone ID Answer)} {AliveTreatStream T State} end end - fun{StartPlayer Color ID} - Stream - Port - in - {NewPort Stream Port} - thread - {AliveTreatStream Stream '#'(id:id(id:ID color:Color name:name) - life:Input.maxDamage - pos:pt(x:0 y:0) - chargingItems:[ {GetNewChargeFireItem mine} {GetNewChargeFireItem missile} - {GetNewChargeFireItem sonar} {GetNewChargeFireItem drone} ] - chargedItems:nil - placedMines:nil - history:nil)} - end - Port - end - end \ No newline at end of file diff --git a/Player020OneAfterOne.ozf b/Player020OneAfterOne.ozf new file mode 100644 index 0000000000000000000000000000000000000000..4a7a3ed058f92e1930bbce4fabe160b53e8fa369 GIT binary patch literal 84862 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 literal 0 HcmV?d00001 diff --git a/Player000Basic.oz b/Player020Random.oz similarity index 95% rename from Player000Basic.oz rename to Player020Random.oz index 9dce76b..9794921 100644 --- a/Player000Basic.oz +++ b/Player020Random.oz @@ -350,16 +350,15 @@ define in {NewPort Stream Port} thread - {AliveTreatStream Stream '#'(id:id(id:ID color:Color name:name) - life:Input.maxDamage - pos:pt(x:0 y:0) - chargingItems:[ {GetNewChargeFireItem mine} {GetNewChargeFireItem missile} - {GetNewChargeFireItem sonar} {GetNewChargeFireItem drone} ] - chargedItems:nil - placedMines:nil - history:nil)} + {AliveTreatStream Stream '#'( id:id(id:ID color:Color name:name) + life:Input.maxDamage + pos:pt(x:0 y:0) + chargingItems:[ {GetNewChargeFireItem mine} {GetNewChargeFireItem missile} + {GetNewChargeFireItem sonar} {GetNewChargeFireItem drone} ] + chargedItems:nil + placedMines:nil + history:nil)} end Port end - end \ No newline at end of file diff --git a/Player020Random.ozf b/Player020Random.ozf new file mode 100644 index 0000000000000000000000000000000000000000..9623e28a02190b2aa955ee95152b2c6381a605b1 GIT binary patch literal 88466 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 E0Z&_Bg#Z8m literal 0 HcmV?d00001 diff --git a/PlayerManager.oz b/PlayerManager.oz index 4b4d45d..3bccff6 100644 --- a/PlayerManager.oz +++ b/PlayerManager.oz @@ -1,21 +1,18 @@ functor import - Player000Basic - Player001Basic - Player002Basic + Player020Random + Player020OneAfterOne export playerGenerator:PlayerGenerator define PlayerGenerator in - fun{PlayerGenerator Kind Color ID} + fun {PlayerGenerator Kind Color ID} case Kind - of player000basic then - {Player000Basic.portPlayer Color ID} - [] player001basic then - {Player001Basic.portPlayer Color ID} - [] player002basic then - {Player002Basic.portPlayer Color ID} + of player020random then + {Player020Random.portPlayer Color ID} + [] player020oneafterone then + {Player020OneAfterOne.portPlayer Color ID} end end end \ No newline at end of file diff --git a/PlayerManager.ozf b/PlayerManager.ozf new file mode 100644 index 0000000000000000000000000000000000000000..ce5c825a5a66d7a0ee1cc5952e8e53b90ba23328 GIT binary patch literal 1240 zcma)5+ip@(5Zwn3cY1*|t%)gx(l#wLK<OpDmtIKQ2cyx%XOFNkCq0~VvVo)+|G~xw zpEbVdKNw?t_6zz2{RkgiYlD^eB*~gRvu5VZ?3s-a;!Fr(0B0d8d5BY*f$ApY3CStn zvHDU~suj<bR;w!&PVhCx8C8fQhE3duDa&noZBU2$n@wm3)J(_LiTm1U*^UIcM<d+u zoL<|7wyTS;RiN(BGx<ape`LAVE2&D}YjE4T@CLLE{UzINc`(+s(e3*ZMp?(KL0csq zme;<gy3mR=hrOOlS1POPDNrkMh*<r)A^ooHv6Z;8?2fD}rTxo;#yFKF{YBTSI~|r< z)aI2`u5@57@I#^JmeZrtC_&^I5oZH~+rY}{B)dKADob->;KiVy{+Zw$`Kf#Uu`7?c z0G!}w=?uCytEQ<NEr?VaBG&4;4P5M!>m8>rWcj|+r;Ap?S6)LldrFo$$FK=ei9#F# zL0}Kq2M&M?9Sq|L)`1xkt3#rQbBsg|2mo_H7Ko5!GyM2CzzhbZfUO7wn`6caa0+aW zl1CtFKp_Uf_rSKcfgNBMm>-SiUbcV-qtRs$jOIC=xJlhcf9%)l9}C}ZKYhL9EKbEa zq!7oVBsdl{jZ2y$uiG-g8T!%&Y-&NAMX*8b`Tyvb$S`%jsdIxOtgGd8y&81Rh}`fE zjK0hQXpV9o;Qw<0SOk^;-fkIK0g}9W2H=`zfyBQ=H1YP?hfek3W%~V1X7MhW<elfx z1J{t(c>(knf%Vrm#S3s;(_jUrxYBoF6`?mo-(Y%}|4`53WTSix)4&W6Vn1U56B0lY xFiFzO?@<p<_J5Am-_$R@e}4DtOLI2D74iQ31sK78IWIm4o~+H;8GKl}(ckXYhqeF! literal 0 HcmV?d00001 -- GitLab