From 0c5f2616cabd791df8693c89fa0ad9f37e91f5e0 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 1 Aug 2023 14:47:28 +0200 Subject: [PATCH] Better search for weakest opponent by IA --- ai.asm | 8 +++++++- constants.asm | 12 +++++------- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 56646 -> 56643 bytes 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/ai.asm b/ai.asm index 4a1ea58..e721bf5 100644 --- a/ai.asm +++ b/ai.asm @@ -452,7 +452,13 @@ ItIsHuman clc adc Energy,y ; if robotank energy=energy+100 (100 or 0 from PreferHumansFlag) cmp temp2 ; lowest - bcs lowestIsLower + bcc lowestIsHigher + ; lower or equal + bne lowestIsLower + ; if equal then select random (of two tanks) + bit RANDOM + bmi lowestIsLower +lowestIsHigher sta temp2 sty temp2+1 ; number of the closest tank mva #0 tempor2 diff --git a/constants.asm b/constants.asm index 804c7fe..3436985 100644 --- a/constants.asm +++ b/constants.asm @@ -628,9 +628,6 @@ CreditsStart dta d"Mario 'Emkay' Krix"^ dta d" "* .ENDIF - dta d"Code Optimization"^ - dta d"Piotr '0xF' Fusik"^ - dta d" "* dta d"Art"^ dta d"Adam Wachowski"^ .IF TARGET = 800 @@ -641,8 +638,9 @@ CreditsStart .ENDIF dta d" "* dta d"Ideas, help and QA"^ + dta d"Piotr '0xF' Fusik, Shanti, Jakub Husak"^ dta d"Bocianu, Probabilitydragon,"^ - dta d"EnderDude, Dracon, Jakub Husak, TDC,"^ + dta d"EnderDude, Dracon, TDC,"^ dta d"Beeblebrox, KrzysRog, lopezpb,"^ dta d"brad-colbert, archon800, nowy80,"^ dta d"Shaggy the Atarian, RetroBorsuk, ZPH" @@ -654,7 +652,7 @@ CreditsStart .ELIF TARGET = 5200 dta d","* dta d"x-usr(1536), Aking, JAC!, phaeron,"^ - dta d"RB5200"^ + dta d"RB5200, Krzysztof 'Kaz' Ziembik"^ .ENDIF dta d" "* dta d"Additional testing"^ @@ -670,9 +668,9 @@ CreditsStart dta d" "* CreditsEnd .IF TARGET = 800 - CreditsLines=41 + 7 ; add 7 for scrollout + CreditsLines=39 + 7 ; add 7 for scrollout .ELIF TARGET = 5200 - CreditsLines=35 + 7; add 7 for scrollout + CreditsLines=33 + 7; add 7 for scrollout .ENDIF .IF TARGET = 5200 diff --git a/scorch.bin b/scorch.bin index 29721b06e01cbaf8f8a5993649dd9f6a25cb93b3..a5fa079af882dece727dae5fcd65ee27a7afd1ea 100644 GIT binary patch delta 6018 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 delta 6084 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 diff --git a/scorch.xex b/scorch.xex index ad0b86717aff879bf2186bf211aa8a4d3b82dbb6..8b5c5f387fa62a052c7aff3b2e7f0dee16bae547 100644 GIT binary patch delta 5974 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 D*_$x) delta 6156 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 vmj03XCEzq`x~s6AQ#e8Z_XOGwC=^BSD-