SirVer,
I tried, spend some time, but all those namespaces, classes, virtual functions are too complicated to me. I even failed to identify a place (source file) where such function would logically belong. :( 2014-07-25 22:58 GMT+02:00 Holger Rapp <[email protected]>: > Hooray \o/ !!! > > On 25.07.2014, at 22:23, Tibor Bamhor <[email protected]> wrote: > > I will look at it...and do what I can.. > > > 2014-07-25 22:08 GMT+02:00 Holger Rapp <[email protected]>: > >> Which just strengthens my argument, right? The code there is already copy >> and pasted and if anything changes you have to change it twice. With your >> change we need to change it three times. >> >> You are a good programmer and can do it. If you do not do it you accrue >> technical debt that others have to suffer under later on. >> >> >> On 25.07.2014, at 21:52, Tibor Bamhor <[email protected]> wrote: >> >> similar procedure is used twice in production_program.cc, but both >> istances adds some own woodo-magic I dont fully understand and dont need. >> So there is no count-resources-only algorithm used there so for me it is >> hard to integrate. Maybe for more skilled programmer it would be doable... >> >> >> 2014-07-25 21:35 GMT+02:00 Holger Rapp <[email protected]>: >> >>> >>> On 25.07.2014, at 21:31, Tibor Bamhor <[email protected]> wrote: >>> >>> Hi, >>> >>> In the meantime I looked into particular cc file (I dont remember which >>> one) and in AI I implemented basically the same procedure - AI counts >>> current and starting amount of resources within radius around a mine and >>> calculate the % of exhaustion. >>> >>> >>> That is really bad. We already have enough copy & pasted code in >>> Widelands. Please do not add to this. Pull the common function into a new >>> common header and use it from the AI and the old code, please. >>> >>> Seems it works fine. >>> >>> Also it would be usefull if AI could query&modify ware's target >>> quantities. So far there are no ready-for-AI functions for this it seems. I >>> am considering to write them, but perhaps some more skillfull programmer >>> could do the job. >>> >>> To be consistent with similar functions used by AI, new functions could >>> be: >>> int send_player_get_ware_target(ware) >>> bool send_player_set_ware_target(ware, int) >>> >>> >>> >>> >>> >>> >>> 2014-07-25 21:01 GMT+02:00 Holger Rapp <[email protected]>: >>> >>>> >>>> On 25.07.2014, at 00:04, Tibor Bamhor <[email protected]> wrote: >>>> >>>> well, after some investigation in code it seems that mine is able to >>>> mine some % of resources within some radius. Obviously it does not mine >>>> resources evenly across fields, so to check one (even central) field is not >>>> enough. >>>> >>>> >>>> You could randomize the field that resources are taken from, so that >>>> this happens evenly. >>>> >>>> >>>> Also it seems that there is no avaiable function to query if mineable >>>> resources are mined or not yet. Of course, the mine sends a message ("cant >>>> find any more resources") but I am not sure if AI can easily read them. It >>>> would help much… >>>> >>>> >>>> So there must be a method in the mine that does it already. You can >>>> pull it out and make it available for the AI to use. Something like void >>>> percentage_of_coal_available(field, radius, coal_resource_index, >>>> & total_pieces_of_coal_at_start, &total_pieces_of_coal_now); >>>> >>>> >>>> >>>> >>>> ---------- Forwarded message ---------- >>>> From: Tibor Bamhor <[email protected]> >>>> Date: 2014-07-24 23:05 GMT+02:00 >>>> Subject: can find any more resources >>>> To: [email protected] >>>> >>>> >>>> Hi, >>>> >>>> Please explain to me: >>>> >>>> I am watching a game (testing AI), there is a mine that shows "can't >>>> find any more resources", performance % is 0, it is full of food, yet when >>>> I click on it and click DBG it shows coal: 19/20. >>>> This is coal mine (the first/lowest level of mine). >>>> >>>> Now for AI it is quite relevant question - AI test remaining resource >>>> on the field and if 0, the mine is to be dismounted. But if mine is not >>>> able to mine all resources on a field, then things are getting more >>>> complicated. >>>> >>>> Now I noticed that mines have aihint like mines_percent=30. Does it >>>> mean that this mine can mine only 30% of initial amount 20? 30% of 20 is 6 >>>> so the mine should stuck on remaining resources 14/20, or not? >>>> >>>> Waiting for explanation, thanks! >>>> >>>> Tibor >>>> >>>> >>>> _______________________________________________ >>>> Mailing list: https://launchpad.net/~widelands-dev >>>> Post to : [email protected] >>>> Unsubscribe : https://launchpad.net/~widelands-dev >>>> More help : https://help.launchpad.net/ListHelp >>>> >>>> >>>> >>> _______________________________________________ >>> Mailing list: https://launchpad.net/~widelands-dev >>> Post to : [email protected] >>> Unsubscribe : https://launchpad.net/~widelands-dev >>> More help : https://help.launchpad.net/ListHelp >>> >>> >>> >> >> > >
_______________________________________________ Mailing list: https://launchpad.net/~widelands-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~widelands-dev More help : https://help.launchpad.net/ListHelp

