-
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!n
peer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media
.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx02.iad01.newshosting.com
!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!atlantis.ne
ws.neostrada.pl!news.neostrada.pl!not-for-mail
From: "slawek" <s...@h...pl>
Newsgroups: pl.comp.programming
Subject: Re: Jaki język?
Date: Mon, 1 Mar 2010 18:35:47 +0100
Organization: TP - http://www.tp.pl/
Lines: 74
Message-ID: <hmgu2e$23d$1@atlantis.news.neostrada.pl>
References: <hlkh9u$9ji$1@nemesis.news.neostrada.pl>
<hmb9gb$jnh$1@nemesis.news.neostrada.pl>
<hmet4e$2pi$1@nemesis.news.neostrada.pl>
<7...@g...googlegroups.com>
<hmgjms$88j$1@atlantis.news.neostrada.pl>
<hmgm9b$e7b$1@atlantis.news.neostrada.pl>
NNTP-Posting-Host: 62.69.202.53
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response
Content-Transfer-Encoding: 8bit
X-Trace: atlantis.news.neostrada.pl 1267465102 2157 62.69.202.53 (1 Mar 2010 17:38:22
GMT)
X-Complaints-To: u...@n...neostrada.pl
NNTP-Posting-Date: Mon, 1 Mar 2010 17:38:22 +0000 (UTC)
In-Reply-To: <hmgm9b$e7b$1@atlantis.news.neostrada.pl>
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 14.0.8089.726
X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8089.726
Xref: news-archive.icm.edu.pl pl.comp.programming:185164
[ ukryj nagłówki ]
Użytkownik "jacem" <j...@1...pl> napisał w wiadomości grup
dyskusyjnych:hmgm9b$e7b$...@a...news.neostrada.pl
...
> Jak myśli człowiek w trakcie takiej gry?
> Sławku, grając w tetris, jaką obierasz strategię?
> To pierwsze, podstawowe założenie.
Ja tam "nie myślę" - tzn. nie stosuję jakiegoś formalnego algorytmu. Więc
raczej blado od tej strony. :)
> Chyba bajbardziej optymalne byłoby dążenie do zapewnienia jak najbardziej
> płaskiej powierzchni.
> I od tego należałoby zacząć.
> Mnie się prędzej nasuwa analogia do gry w kółko i krzyżyk niż szachy.
Kiedyś napisałem program grający w kółko i krzyżyk - algorytm był
jednolinijkowy, do dziś pamiętam:
n = (n + 1) mod 9
Sprawdza się na planszy 3x3, AI zawsze jako druga, numeracja pól jakoś tam
sobie szła. Nie wygra i nie przegra. Czysty minimax.
> Ludzie, którzy na codzień zajmują się tworzeniem gier, na pewno dadzą
> wyczerpującą odpowiedź. Przypuszczam, że tego typu problemy mają już dawno
> rozpracowane.
Zgoda, ale NIE chodzi o to aby ZROBIĆ TO - ale aby zastanowić się JAK DUŻE
TO BYŁOBY WYZWANIE.
I odpowiedź niekoniecznie nieomylna - może algorytm da się streścić w paru
linijkach? A może porządny algorytm to jakieś 10 tysięcy linii kodu? Mnie
nie interesuje, by taki napisać (bo i po co?) - ale aby zorientować się, jak
bardzo ufacie swoim ulubionym językom programowania. Jeżeli ktoś np. pisze,
że PHP jest cool - a potem nie potrafi ocenić, ile musiałby naklepać tego
PHP aby mieć "program rozwiązujący łamigłówkę Tetris" - to czy PHP jest taki
cool? Zamiast PHP podstawcie sobie inne języki, przeiterujcie.
Jeszcze jedno - zakładam że program nie musi być the best - takim "terisowym
mistrzem" - patrz Głęboko Niebieski i gra w szachy. Chodzi tylko o to, by
grał sportowo, uczciwie. Dlatego odpadają programy upuszczające klocki tak
jak są, albo upuszczające je z losowym obrotem i przemieszczeniem. Pewnym
utrudnieniem mogłoby być przesuwanie klocków tak, aby wlazły pod inne
(pozwalamy opaść w pewnym położeniu... i myk w lewo lub prawo gdy będą już
na dole) - więc załóżmy że tego robić nie wolno.
Ja bym próbował np. tak jak poniżej. Nie twierdzę, że to dobre rozwiązanie.
Przesunięć jest może 10, obroty mnożą to przez 4, symetria może zredukować.
Czyli jakieś do 40 pozycji do rozpatrzenia, powiedzmy 2^5. Typów klocków
jest może z 2^4. Stąd przewidywanie jakie przyjdą kolejne dwa (mając już
jeden) i spasowanie ich daje łącznie (2^5)^3 * (2^4)^2 = 2^23 = 8 milionów
kombinacji. To niedużo - jeżeli jeszcze uda nam się ograniczyć trochę
(usunąć te, które są ewidentnie złe, odfiltrować symetryczne). Czyli
wstawiamy klocek tak, aby optymalnie pasował - biorąc pod uwagę kolejne dwa,
których jeszcze nie ma. I od nowa.
Musimy jeszcze jakąś reprezentację mieć planszy, klocków, definicję
"optymalności" - nie mówię że to łatwe i nie jest pracochłonne.
Ale zakładam, że program ma prawo się mylić - tzn. nie musi sprawdzać
wszystkich możliwości, może używać funkcji random (jeżeli to uzasadnione).
Trzebaby pogooglać - może są jacyś entuzjaści tego typu programów. Ale nie
chodzi o sam program - lecz o zagadnienie, które: a. można zaprogramować; b.
nie jest to "typowe" programowanie
kadry-płace-excel-webmastering-cholera-wie-co; c. fajne jakieś takie wyszło.
Moim zdaniem ciekawiej jest porównywać "jak duży ma być program układający
Tetris" - niż programy "Hello, I am Jan... Jan B."
slawek
Następne wpisy z tego wątku
- 01.03.10 17:51 slawek
- 01.03.10 23:07 Arkadiusz Dymek
- 02.03.10 05:08 slawek
- 02.03.10 08:14 jacem
- 02.03.10 09:41 slawek
- 03.03.10 08:52 jacem
- 03.03.10 13:52 slawek
- 03.03.10 14:33 Jędrzej Dudkiewicz
- 03.03.10 17:21 slawek
- 04.03.10 10:10 jacem
- 04.03.10 10:11 jacem
- 04.03.10 10:25 jacem
- 04.03.10 10:57 slawek
- 04.03.10 11:02 slawek
- 04.03.10 13:17 jacem
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-20 huta ruszyla
- 2025-01-20 piece wodorowe
- 2025-01-20 Lublin => Programista Delphi <=
- 2025-01-20 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-20 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-20 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)
- 2025-01-18 znowu kradno i sie nie dzielo
- 2025-01-18 Zieloni oszuchiści
- 2025-01-18 Zielonka => Specjalista ds. public relations <=