Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
DNLS

pomoc Náhodné pohybování v C#?

Dotaz

Ahoj, dělám teďka ve WF, kde chci udělat nějaký random pohyb hráče. Má jít v podstatě blbouna, který má za úkol jenom chodit po mapě s tím, že když narazí na jídlo, sní ho, pokud za den sní jedno jídlo žije dál, pokud dvě tak se rozmnoží a pokud žádný tak chcípne. Důležitý je zde ale pro mne ten náhodný pohyb hráče, rád bych věděl, jestli by tady někoho nenapadl nějaký v podstatě plynulý pohyb, ten random přes který to řeším není úplně ideální,,

Nyní ho řeším takto:

            int randy = move.Next(-10, 10);
            int randx = move.Next(-10, 10);

            posX = posX+randx;
            posY = posY+randy;

image.png.5ab3ec5cf4b9955524af534f57a31eac.png

Sdílet tento příspěvek


Link to post
Share on other sites

7 odpovědí na tuto otázku

Recommended Posts

  • 1
Guru

Udělej si dvourozměrný vektor s velikostí třeba na hodnotu rychlosti  a ten pak náhodně rotuj o pár stupňů. Pak jen vektor přičteš k pozici a v další iteraci ten stejný vektor znovu zrotuješ.

 

 

 

Sdílet tento příspěvek


Link to post
Share on other sites
  • 1
Moderátor

C# je dobrý v tom, že má na všechno připravené classy, použij https://docs.microsoft.com/cs-cz/dotnet/api/system.numerics.vector2?view=net-5.0 pro lepší přehled.

Sdílet tento příspěvek


Link to post
Share on other sites
  • 0
Moderátor

Ještě to čtu jednou, jeden den = jeden tik =  jeden pohyb, je to tak? To znamená, že za jeden den se pohybuje o jeden posun nějaký náhodným směrem v náhodné vzdálenosti? (V náhodné vzdálenosti aby zůstal v "hracím poli") Ale to by nemohl sníst něco 2x za den. Můžeš trochu popsat jak často se má pohybovat + o jakou vzdálenost? 

Sdílet tento příspěvek


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...