|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Nov 2011
Messaggi: 13
|
[Haskell][Gloss] Generare una lista di Picture
Ciao a tutti!
devo implementare della grafica in Haskell usando Gloss. Ho una lista di dati e in base al valore dell'elemento nella lista devo "disegnare" qualcosa di diverso (per esempio dei rettangoli di colore diverso) Questo è il codice che devo implementare: Codice:
drawSystem :: Dati -> Picture Quello che ho scritto per ora è: Codice:
drawSystem :: Dati -> Picture drawSystem dati = Pictures $ lista dati Tuttavia il compilatore ghc mi da errore dicendomi non posso mettere una lista in Pictures. Ogni aiuto è gradito.....
__________________
http://sic-oding.blogspot.com/ |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
dovresti mostrare che codice stai usando o perlomeno quali librerie, altrimenti e' impossibile capire.
Ad esempio quel "Pictures" da dove arriva ?
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Nov 2011
Messaggi: 13
|
Ecco:
Codice:
import Graphics.Gloss
import Graphics.Gloss.Interface.Simulate
drawSystem :: Dati -> Picture
drawSystem dati = Pictures $ listPicture (lista dati)
runVM :: System -> IO ()
runVM s = simulateInWindow "GAME" (700, 560) (50, 50) black 1
s drawSystem (\_ _ s -> step s)
listPicture :: [Dato] -> [Picture]
listPicture [] = Blank
listPicture (s : sc)
| (instruction s) == DAT = (Color white (Line [(fromIntegral (20), -10),
(fromIntegral((20) + 20), -10)])) : (listPicture sc)
| otherwise = Blank + listPicture sc
Sbaglio forse a creare la lista in modo ricorsivo? O altrove?
__________________
http://sic-oding.blogspot.com/ |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Ops, mi era sfuggito che nel titolo menzionavi Gloss...
Riesci a riportare l'errore preciso ?
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Nov 2011
Messaggi: 13
|
Risolto.
Praticamente quando voglio creare una lista di Picture scrivo questo: Codice:
metodo (_ : _) = Pictures[Blank] metodo (head : tail) = Pictures[ "qui va la creazione di un immagine", metodo tail] Spero inoltre che la soluzione da me trovata possa essere d'aiuto a qualcun'altro in futuro.
__________________
http://sic-oding.blogspot.com/ |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:44.



















