21
\$\begingroup\$

It's time to choose a for September 2015.

  • Post your challenge as an answer to this question. Feel free to resubmit non-winning ideas from previous months.
  • Vote for those answers which interest you.
  • At the end-of-day on Monday, August 31st, the top-voted post will become the next challenge.

Once the challenge topic is decided, post your solution as a question on the main site and tag it with . The challenge runs throughout September (but nothing stops you from posting an entry later on).

\$\endgroup\$
3
  • 5
    \$\begingroup\$ I'm way behind on the community challenges already... are there enough contributors recently that warrants more challenges, or might it be time to take a little break from them again? \$\endgroup\$
    – Simon Forsberg Mod
    Commented Aug 18, 2015 at 10:31
  • \$\begingroup\$ Maybe they could be quarterly challenges? \$\endgroup\$
    – Edward
    Commented Aug 31, 2015 at 22:23
  • \$\begingroup\$ If we move to quarterly challenges, there's more room to apply the actual improvements and for 'bigger' challenges. Perhaps this topic needs it's own meta. Never feel obligated to complete all challenges by the way. \$\endgroup\$
    – Mast Mod
    Commented Sep 2, 2015 at 16:50

4 Answers 4

19
\$\begingroup\$

An Elevator Management System

A building has \$x\$ number of floors and \$y\$ number of elevators. People create up/down requests to your system, and when they are inside an elevator, command it to go to a floor. Your job is to get them to the floor they want.

If this interests people, we can make a set number of floors/elevators, as these numbers change complexity.

We could also have a standard input for requests, for example the string 1 3 would mean that there is an up request, to floor three (the system doesn't know the destination at the time of the up request, only when it gets to the floor of the request). Then, you could have a file of such strings.

Elevators also have a capacity, although I'm not sure we need to create such scope for ourselves.

Edit: I suppose we will also need to think about time a little, maybe this is too complex?

\$\endgroup\$
5
  • 3
    \$\begingroup\$ I think there's some Stack Overflow related questions about this, for example stackoverflow.com/q/493276/1310566 . Making efficient elevators can be a quite interesting task. \$\endgroup\$
    – Simon Forsberg Mod
    Commented Aug 18, 2015 at 10:33
  • \$\begingroup\$ This is a relatively common interview question, and there are quite a few frills that such a system can have. I'm not sure the time that people can devote to this, but I feel like just having, say, two elevators that go where they are supposed to is probably enough for this challenge. \$\endgroup\$
    – Carl
    Commented Aug 25, 2015 at 14:58
  • \$\begingroup\$ Speaking of this, I do see that this is getting to be a popular idea. Should I refine the rules as I see fit? Maybe create the base input file and expected output? How much responsibility do I have to make sure this runs smoothly? :) \$\endgroup\$
    – Carl
    Commented Aug 25, 2015 at 15:02
  • 4
    \$\begingroup\$ Typically we leave the specs as open-ended as possible, so as to not limit languages, creativity and required skills - basically these "challenges" are merely an inspiration for something to implement and put up for review, nothing with hard specs or anything. \$\endgroup\$
    – Mathieu Guindon Mod
    Commented Aug 25, 2015 at 15:10
  • \$\begingroup\$ I've not been excited about a community challenge for a while. ++ I can't wait to implement something. \$\endgroup\$
    – RubberDuck
    Commented Sep 18, 2015 at 11:32
12
\$\begingroup\$

Learn a new language!

Write anything1 in a language you're completely unfamiliar with.

1. Ideally, something more complicated than "Hello World" and something more interesting than FizzBuzz.

\$\endgroup\$
7
  • 8
    \$\begingroup\$ I've never written LOLCODE before. Are you sure? \$\endgroup\$
    – Mast Mod
    Commented Aug 3, 2015 at 18:18
  • \$\begingroup\$ @Mast Brainfuck seems nice as well. \$\endgroup\$ Commented Aug 3, 2015 at 18:42
  • \$\begingroup\$ @Mast I think he meant swift ;-) \$\endgroup\$
    – Mathieu Guindon Mod
    Commented Aug 3, 2015 at 18:43
  • 2
    \$\begingroup\$ Learning a new language isn't really a challenge of its own. It wouldn't make sense to tag a question with you using a new language as "community-challenge". \$\endgroup\$
    – Simon Forsberg Mod
    Commented Aug 18, 2015 at 10:34
  • \$\begingroup\$ That's an interesting definition of "challenge", @SimonAndréForsberg. I challenge everyone to learn Objective-C or Swift every day. \$\endgroup\$
    – nhgrif
    Commented Aug 18, 2015 at 11:55
  • 1
    \$\begingroup\$ Perhaps you should combine this with another problem. Like Chess in a new language? (I haven't even implemented Chess in a language I'm familiar with...) \$\endgroup\$
    – Justin
    Commented Aug 21, 2015 at 6:36
  • 2
    \$\begingroup\$ @nhgrif I mean "challenge" as in "community-challenge". You can implement any of the already existing community-challenges in a new language. As some of us did already. As Justin said, this would benefit from being combined with another challenge. What should I make in this "new language"? Chess? Project Euler #42? Minesweeper? Tic-Tac-Toe? A Random Name Generator? \$\endgroup\$
    – Simon Forsberg Mod
    Commented Aug 21, 2015 at 13:34
10
\$\begingroup\$

Chess!

Your program must support two human players and enforce all the rules, including En Passant, Castling, move legality, pawn promotion, and everything else.

You must provide at least an ASCII output display for a given command.

Anything above and beyond the basic requirement is welcome.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ Can output be FEN? \$\endgroup\$
    – SirPython
    Commented Aug 8, 2015 at 15:06
  • 1
    \$\begingroup\$ I guess it could, although I would prefer an ASCII board. \$\endgroup\$
    – user34073
    Commented Aug 8, 2015 at 15:17
  • \$\begingroup\$ I'm gonna do this because it sounds awesome. \$\endgroup\$
    – Nic
    Commented Aug 10, 2015 at 17:59
1
\$\begingroup\$

ASCII Art Bicycle Chain

Create an app which draws a bicycle chain vertically and resting on a flat surface in ASCII art by taking the following inputs:

  1. The pitch of a link. (distance between the two pivots)
  2. The number of links in the chain.
  3. The maximum rotation/angle allowed for the links

With certain inputs the chain would form a strict shape, like a circle or rectangle. With others, you'd get a saggy chain.

PS

I have no idea if this would even work.

\$\endgroup\$
2
  • 3
    \$\begingroup\$ Why would it not work? \$\endgroup\$
    – SirPython
    Commented Aug 28, 2015 at 20:26
  • \$\begingroup\$ The idea popped into my head and I haven't validated the whole thing. I think it can be done with some trig and basic physics. But I'm not certain. \$\endgroup\$ Commented Aug 28, 2015 at 20:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .