Kezdőoldal » Számítástechnika » Programozás » Sakk óra, hogyan?

Sakk óra, hogyan?

Figyelt kérdés

Elmélet vagy kód vagy hogy pontosan mit nézzek meg, az mind1.


Python 3.6-ról van szó, nézegettem async, meg threades dolgokat, de nekem kissé bonyolultak voltak.

Amivel problémám volt: változó visszaadás és megszakítani a threadet vagy akármit

* global-al ment, de szeretném elkerülni a globalt


Úgy szeretném megcsinálni, hogy folyamatosan írja ki az órát(erre vannak ötleteim), és közben várja az inputot, de ha a user gondolkodása közben lejár az idő, akkor szakítsa meg az input bekérést.


példa kód: [link]



2018. nov. 15. 15:34
 1/7 anonim ***** válasza:
Na fuss neki még egyszer ennek a kérdésnek, mert se füle se farka.
2018. nov. 15. 15:55
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
Amíg egy értelmes kérdést nem tudsz feltenni, addig teljesen kár a gőzért.
2018. nov. 15. 16:01
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:

Ehhez minek thread???

A linken nincs semmi.

2018. nov. 15. 18:32
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:

Vagy kezd egy jó feladat specifikációval, vagy részfeladatokra kérdez rá, amikben elakadtál, de az legyen egy minimális, működő kódrészlet. Az mindig rossz ómen, ha valaki úgy kezdi, hogy hogyan csináljam, hogy csinálnátok, stb. Ez kb. azt jelenti, hogy "csináljátok már meg nekem". Ha tudunk, segítünk, de ezzel így nem lehet mit kezdeni.

A linken amúgy tényleg nincs semmi.

2018. nov. 15. 20:32
Hasznos számodra ez a válasz?
 5/7 Ozmium42 ***** válasza:
Én értem, hogy mit akarsz kérdezni, de csak azért, mert pár hónappal ezelőtt nekem is hasonló dologba tört bele a fejszém. Mivel nekem beletört, ezért nem is tudok megoldást írni, viszont kíváncsi vagyok a válaszokra. Azt gyanítom, hogy konzolban, pusztán inputtal meg szálkezeléssel ezt lehetetlen megoldani. Valószínűleg célszerű grafikus felületen megoldani, illetve a szálkezelést valószínűleg nem úszod meg. Nézz utána a threading modulnak: Condition, notify(), wait_for() vagy esetleg Event, wait(timeout). Kellene egy adatkezelő szál, ami vár egy bizonyos ideig, hogy egy Event megtörténjen, ha ez idő alatt aktiválódik az Event (egy másik, adatbekérő szál megkapja a lépést), akkor tud kezdeni valamit lépés információval, ha pedig úgy jár le a timeout, hogy nem kapta meg az adatot, akkor arra az esetre is csinál valamit. Azt viszont, hogy folyamatosan ki is jelezze az időt... terminálban ez sehogy nem mutatna jól.
2018. nov. 16. 14:06
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:
nah, 2 nap után csak sikerült egy megoldást találni, ronda, nem olyan, mint amit vártam, de legalább működik: [link]
2018. nov. 16. 16:20
 7/7 anonim ***** válasza:

Ez tényleg nem szép, de legalább valami. A valid() függvény mintha még nem lenne kész, és én a print() hívásokat mutex-szel vagy CriticalSection-nel védeném, merthogy ugyanarra a konzolra dolgozik minden szál.

A fő nagy ciklusban az if turn: és az else: után ugyanaz a két-két sor van?

2018. nov. 21. 17:26
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!