| Deutsch English Français Italiano |
|
<96401a3aaf714543b12b08e3cf052b95219fd507@i2pn2.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail From: fir <profesor.fir@gmail.com> Newsgroups: comp.lang.c Subject: Re: logically weird loop Date: Thu, 21 Nov 2024 12:01:31 +0100 Organization: i2pn2 (i2pn.org) Message-ID: <96401a3aaf714543b12b08e3cf052b95219fd507@i2pn2.org> References: <0e1c6d2e74d44a715bf7625ca2df022d169f878a@i2pn2.org> <vhl32r$66a2$1@dont-email.me> <vhlspv$ahc9$10@dont-email.me> <vhmilk$hd28$1@dont-email.me> <b54060bee6b2e1997c7f1047c63b975a9d4ca108@i2pn2.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Thu, 21 Nov 2024 11:01:35 -0000 (UTC) Injection-Info: i2pn2.org; logging-data="3478495"; mail-complaints-to="usenet@i2pn2.org"; posting-account="+ydHcGjgSeBt3Wz3WTfKefUptpAWaXduqfw5xdfsuS0"; User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.19 In-Reply-To: <b54060bee6b2e1997c7f1047c63b975a9d4ca108@i2pn2.org> X-Spam-Checker-Version: SpamAssassin 4.0.0 Bytes: 4373 Lines: 73 fir pisze: > Janis Papanagnou pisze: >> On 21.11.2024 00:53, Lawrence D'Oliveiro wrote: >>> On Wed, 20 Nov 2024 17:34:34 +0100, Janis Papanagnou wrote: >>> >>>> [*] A friend of mine just recently implemented the code frame for a >>>> roguelike and followed the suggestion of an event based object-oriented >>>> implementation; it worked well, he told me. >>> >>> The next step would be to use coroutines so the logic of a >>> longer-running >>> task, which has to wait for other events at multiple points, can be >>> written in a single linear stream without having to be fragmented into >>> multiple callbacks. >> >> Yes, indeed. >> >> Actually, if you know Simula, coroutines are inherent part of that >> language, and they based their yet more advanced process-oriented >> model on these. I find it amazing what Simula provided (in 1967!) >> to support such things. Object orientation[*], coroutines, etc., >> all fit together, powerful, and in a neat syntactical form. - But >> "no one" is using Simula, and my friend was using C++; don't know >> what C++ supports in that respect today. I know that he implemented >> the "simulation" parts (queuing, time-model, etc.) in C++ himself. >> >> Janis >> >> [*] It was the language who invented Object Orientation - quite >> naturally a concept from the simulation perspective -, but they >> neither invented nor used the term "OO"; probably because it was >> much more than that what they provided. >> > well i code things myself - no queue just a fileds > > long action, action_start, action_end; > > (where action is pseudoenum describing the action is > doin by bot in a span of action_start to action_end) > > in simply if time raches action_end the action is finalized and new > action is set up.. the arguments to pass i will probably try to be none > i mean tch bot fields would store them) > > i will se how it will be going - thsoe are game design decisions and its > sometimes hard to really know what is best before really coding this..so > experuiance will show > > though im old and tired and i not quite devoted to coding > anyway..only sometimes i try something to kill some time > > > there is a question qhat would be more logical (prone, suitable) here for example it is a movement and say takes 200 mikroturns then logicall would be to not do this as Setup() in turn 0 and finalize(0 in turn 200 but add 1/200 of distance in each turn.. but the rogualike is in discrete space on tiles so i think setup() and finalize() is probably better more yet in things like fight ..say one character was Setuping() a hit which takes like 90 microturns to finalize and the defender could be able to setup() a shield blocking or something or decide to setup a hit too i dont tested it yet but my [previous approach without the actions that spans in time was much simpler and you only eventually check what last action of given bot waas bot not which next or current is some would say tehe simpel would suffice but in fact if soeme want model more nice system you need that spaning action time imo...sadly the division of myriads of this actions on setup() and finalize() is worse to code