Re: [racket-users] Flower Garden: Open Flowers '[1 1]

2015-05-26 Thread Michael Tiedtke
This is a maintenance release. It's on PLaneT, too. But I can't load it ...

http://planet.racket-lang.org/display.ss?package=Open%20Flowers.pltowner=mti

-- 
You received this message because you are subscribed to the Google Groups 
Racket Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Open Flowers.plt
Description: Binary data
 

-- 
You received this message because you are subscribed to the Google Groups 
Racket Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Title: README



README

Table of Contents

1 Open Flowers (Revision '[1 1])
2 Description  Rules
3 NaL (Not a License)
4 Technical Note:
5 Source Tree Layout
6 Sketch: Object Relations / Data Structure
7 Sketch: Class Hierarchy
8 Message Passing (see Open Flowers.rkt)

8.1 Protocol: Game Rules
8.2 Protocol: Other Program Actions (see also Parallel Objects)
8.3 Protocol: Layout 
8.4 Protocol: Stateful Objects


9 Description of the User Interaction
10 Parallel Objects
11 Event Handling
12 Animations
13 Bugs and Maintenance




1 Open Flowers (Revision '[1 1])



This is the message passing approach to the patience solitaire game
Flower Garden.


This is the variant Flower Venus Garden with Laughing Flowers based
on a relaxed ruleset.  You can move only one card at time but from
anywhere to anywhere.  Sequences in the flower beds have to be
build by suit.  The foundations are built from ace to king but
cards can be moved back into the game. You can double click a card
and if possible it will find its place in the foundations. You can
place up to sixteen cards in the bouquet. There is a good chance of
winning the game.


(The layout of the bouquet, i.e. the reserve of cards at the bottom
of the table is done automatically but only after a card has been
moved successfully. Rethinking and correcting this is left as
exercise for the interested player.)




2 Description  Rules



One deck of 52 cards.


 from wikipedia
Thirty-six cards are dealt in to six columns, each containing six
cards. The columns are called the "flower beds" and the entire
tableau is sometimes called "the garden." The sixteen leftover
cards become the reserve, or "the bouquet."


The top cards of each flower-bed and all of the cards in the
bouquet are available for play. Cards can only be moved one at a
time and can be built either on the foundations or on the other
flower beds. The foundations are built up by suit, from Ace to King
(a general idea of the game is to release the aces first). The
cards in the garden, on the other hand, can be built down
regardless of suit and any empty flower bed can be filled with any
card. The cards in the bouquet can be used to aid in building, be
put into the foundations, or fill an empty flower bed.


The game is won when all cards end up in the foundations.
 end from wikipedia





3 NaL (Not a License)



This is free source code - free as in "free like a bird".


This is open source and marketing (which is a little bit like
gardening): if someone gives you a pen at no cost and you have to
refill it to write down you're favourite poem with it and someone
else sings it and the producer of that song makes a whole lot of
money with it then never forget: they could have used any pen to do
the job. Don't break my pencils!






4 Technical Note:



While it is written in a rather traditional way without mixins, traits
or an emphasis on surrogates it might contain ideas, concepts and
terms that go beyond today's message passing "customs". A new message
passing primitive "broadcast" and the term hub for certain classes are
consequences of thinking about the future of message passing, parallel
objects and one new program code abstraction system "to rule them all"
especially when it comes to open source and the user's ability to
adapt and program the shiny some thousand money units worth machine in
front of him. From LISP machines to BSD to Mach message passing
microkernel to NextStep to  but that is far away: for me it was
from QBASIC to RISC assembler to NetBeans to Dr. Racket to whatever
comes in handy.






5 Source Tree Layout



This implementation of Flower Garden started as one file and the one
file approach ended at about 1300 lines of text. Then some parts have
been cut out and are now called sections and the whole was renamed
"Open Flowers". Afterwards with features like the hint system and
additional animations the complexity has risen as have the
prerequisites on the side of the programmer to substantially change
the program.



  /Open Flowers/README.txt
This little text.
 
  /Open FLowers/info.rkt
PLT software package information.
 
  /Open Flowers/Open Flowers.rkt:
Classes: stack and subclasses, garden (program action 

Re: [racket-users] Flower Garden: Open Flowers

2015-05-25 Thread Michael Tiedtke

Il giorno 23/mag/2015, alle ore 19.28, Matthias Felleisen ha scritto:

 
 Why don't you put this into github and register it with the package server? 
 

Well, I tried to download git for my Mac twice. Two times it was interrupted
after half of the 20MB version control monster had been downloaded. So,
there won't be any repository on github because the webmob around G, my
adblocker and ... some years ago downloads tended to fail at 99.99%.

Never mind.

Then I created the package as a plt file and uploaded it to the /planet/ server.
Still it does not appear in the catalog of Dr. Racket's package manager while it
can be found with the web interface. But it doesn't show the nice description
I put into the description field.

-- 
You received this message because you are subscribed to the Google Groups 
Racket Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Flower Garden: Open Flowers

2015-05-25 Thread Alexander D. Knauth
You could also try other options for package sources, which includes things 
like .zip files and .plt files, in addition to github repositories.
http://docs.racket-lang.org/pkg/Package_Concepts.html#%28part._concept~3asource%29

I have no experience with using anything other than a github repository though.

You could also look at these:
https://www.youtube.com/watch?v=jnPf6S0_6Xw
http://con.racket-lang.org/2013/

On May 25, 2015, at 3:30 AM, Michael Tiedtke michael.tied...@o2online.de 
wrote:

 
 Il giorno 23/mag/2015, alle ore 19.28, Matthias Felleisen ha scritto:
 
 
 Why don't you put this into github and register it with the package server? 
 
 
 Well, I tried to download git for my Mac twice. Two times it was interrupted
 after half of the 20MB version control monster had been downloaded. So,
 there won't be any repository on github because the webmob around G, my
 adblocker and ... some years ago downloads tended to fail at 99.99%.
 
 Never mind.
 
 Then I created the package as a plt file and uploaded it to the /planet/ 
 server.
 Still it does not appear in the catalog of Dr. Racket's package manager while 
 it
 can be found with the web interface. But it doesn't show the nice description
 I put into the description field.
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Racket Users group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to racket-users+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
Racket Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Flower Garden: Open Flowers

2015-05-24 Thread Michael Tiedtke

Il giorno 23/mag/2015, alle ore 19.28, Matthias Felleisen ha scritto:

 
 Why don't you put this into github and register it with the package server? 

Thanks for the advice! I was somehow searching for that package repository
right from the start. But I'm going to read the manual first.

-- 
You received this message because you are subscribed to the Google Groups 
Racket Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Flower Garden: Open Flowers

2015-05-23 Thread Michael Tiedtke
This is a feature release for those interested in solitaire card games.

Keywords: message passing, solitaire, stateful objects, parallel objects, hint 
system, Flower Garden

(There is also an integrated window cleaner.) ;-)

-- 
You received this message because you are subscribed to the Google Groups 
Racket Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Open-Flowers.tar.gz
Description: GNU Zip compressed data
  

-- 
You received this message because you are subscribed to the Google Groups 
Racket Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

 Open Flowers

This is the message passing approach to the patience solitaire game
Flower Garden.

This is the variant Flower Venus Garden with Laughing Flowers based
on a relaxed ruleset.  You can move only one card at time but from
anywhere to anywhere.  Sequences in the flower beds have to be
build by suit.  The foundations are built from ace to king but
cards can be moved back into the game. You can double click a card
and if possible it will find its place in the foundations. You can
place up to sixteen cards in the bouquet. There is a good chance of
winning the game.

(The layout of the bouquet, i.e. the reserve of cards at the bottom
of the table is done automatically but only after a card has been
moved successfully. Rethinking and correcting this is left as
exercise for the interested player.)

Description  Rules

One deck of 52 cards.

 from wikipedia
Thirty-six cards are dealt in to six columns, each containing six
cards. The columns are called the flower beds and the entire
tableau is sometimes called the garden. The sixteen leftover
cards become the reserve, or the bouquet.

The top cards of each flower-bed and all of the cards in the
bouquet are available for play. Cards can only be moved one at a
time and can be built either on the foundations or on the other
flower beds. The foundations are built up by suit, from Ace to King
(a general idea of the game is to release the aces first). The
cards in the garden, on the other hand, can be built down
regardless of suit and any empty flower bed can be filled with any
card. The cards in the bouquet can be used to aid in building, be
put into the foundations, or fill an empty flower bed.

The game is won when all cards end up in the foundations.
 end from wikipedia



NaL (Not a License)

This is free source code - free as in free like a bird.

This is open source and marketing (which is a little bit like
gardening): if someone gives you a pen at no cost and you have to
refill it to write down you're favourite poem with it and someone
else sings it and the producer of that song makes a whole lot of
money with it then never forget: they could have used any pen to do
the job. Don't break my pencils!



Technical Note: While it is written in a rather traditional way
without mixins, traits or an emphasis on surrogates it might
contain ideas, concepts and terms that go beyond today's message
passing customs. A new message passing primitive broadcast and
the term hub for certain classes are consequences of thinking about
the future of message passing, parallel objects and one new program
code abstraction system to rule them all especially when it comes
to open source and the user's ability to adapt and program the
shiny some thousand money units worth machine in front of him. From
LISP machines to BSD to Mach message passing microkernel to
NextStep to ... but that is far away: for me it was from QBASIC to
RISC assembler to NetBeans to Dr. Racket to whatever comes in
handy.



Source Tree Layout

This implementation of Flower Garden started as one file and the one
file approach ended at about 1300 lines of text. Then some parts have
been cut out and are now called sections and the whole was renamed
Open Flowers. Afterwards with features like the hint system and
additional animations the complexity has risen as have the
prerequisites on the side of the programmer to substantially change
the program.

 /Open Flowers/README.txt
   This little text.

 /Open Flowers/Open Flowers.rkt:
   Classes: stack and subclasses, garden (program action coordinator),
flower-garden (GUI shell with menu)
   Pseudo classes: flower, flower-garden-table

 /Open Flowers/sections/pretext.rkt (section via include)
   The original pretext with extensions to the Algorithmic Language
   Scheme, Card Logic and debugging/developer utilities.

 /Open Flowers/sections/flower-dialog.rkt (module via require)
   The flower color picker. Class: flower-dialog

 /Open Flowers/sections/layout96l.rkt (section via include)
   The current table and card layout 9 cards wide 6 cards high with
   the foundations on 

Re: [racket-users] Flower Garden: Open Flowers

2015-05-23 Thread Matthias Felleisen

Why don't you put this into github and register it with the package server? 




On May 23, 2015, at 1:22 PM, Michael Tiedtke wrote:

 This is a feature release for those interested in solitaire card games.
 
 Keywords: message passing, solitaire, stateful objects, parallel objects, 
 hint system, Flower Garden
 
 (There is also an integrated window cleaner.) ;-)
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Racket Users group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to racket-users+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.
 Open-Flowers.tar.gz
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Racket Users group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to racket-users+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.
 README.txt

-- 
You received this message because you are subscribed to the Google Groups 
Racket Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.