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