kien_coi_1997's blog

By kien_coi_1997, 9 years ago, In English

I have quite good experience in application development and I like it. Annually, I create a game and post it on Codeforces. This is my third game so I believe that many coders will like it.

 .

In my game, you are a little circle, there is a name which has an additional character. Your goal is to find and correct it. The game will end when the little circle reaches the bottom of the screen.

This is a chance for you to discover quite a large number of red coders (top 200), and know where they are from.

Technical detail:

  • File size: before extracting: 2.0 MB, after extracting: 2.1 MB.
  • Supported platforms: Linux, Windows.
  • Tested on Ubuntu 14.04 and Windows XP.

Hope you interesting.

Link download: https://drive.google.com/file/d/0B97Iu255Omo8aFl5VlVmTnRZNms/view?usp=sharing

Hope you interesting.

Link download: https://drive.google.com/file/d/0B97Iu255Omo8aFl5VlVmTnRZNms/view?usp=sharing

  • Vote: I like it
  • +94
  • Vote: I do not like it

| Write comment?
»
9 years ago, # |
  Vote: I like it +24 Vote: I do not like it

Ha-ha, put an 'O' or '0' there and this level would be impossible!

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Can you share the source code? I'm on Mac, and I can't run the executable file :(

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Of course! It is written in Pascal using Lazarus to compile. If you can build it, please upload it for other people, thanks.

»
9 years ago, # |
Rev. 3   Vote: I like it +3 Vote: I do not like it

Played like 20 rounds, I now feel I've seen every red coder's handle except my own.

That's probably because the game knows I'm really blue inside.

Edit: This game is brilliant sometimes. We really should have handles like heatmore, PacMonster and omeret.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    AloneFox

    In fact, it is uniform distribution.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Is it? I was getting 'tourist' and 'Petr' quite often, definitely more often than coders from second hundred. Another thing I noticed is that it often gives same handles several times in a row, I had 'tourist' and 'Petr' up to three times in a row with different typos.

      • »
        »
        »
        »
        9 years ago, # ^ |
        Rev. 2   Vote: I like it 0 Vote: I do not like it

        Let me talk about some strategy in my game.

        Choosing question

        Assume N is length of the list.

        • i := RandomBetween(1, N);
        • i := RandomBetween(1, i);
        • i := RandomBetween(1, i);

        then i is index of the choosen name.

        Choosing inserting position

        • Position: Random between 0..Length.
        • Character: Random between 'A'..'Z'

        Answer acception

        There can be more than one solution, any of them are accepted.

        PS: I meant inserting positions is uniform distribution, but choosing question.

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

So I got tourist around 40% of the time. :)

»
9 years ago, # |
  Vote: I like it +4 Vote: I do not like it

Mr kien_coi_1997, I am really really keen on application-making but have no ideas about how to build one, I wonder if you could recommend me some sources of self-learning (some web pages or books). I am studying myself, but I believe that you can help me with the best materials. Is it possible? Lastly, I have one inquiry about how you draw your images, I don't think that those beautiful pictures are made by coding. Is it true that you draw them by another tool and just add to the main code? THat is also my biggest problem, could you help me, please?

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    I'm glad you are interested in application development too.

    If you are a beginner, you have to choose a suitable RAD IDE. RAD IDE is an IDE enabling people develop an application rapidly. I'm familiar with Lazarus, only because I learnt it first. Lazarus uses FPC to compile. If you are good at C++, using wxWidget in CodeBlocks is a good choice. You may want to see some tutorials for beginner: http://wiki.freepascal.org/Lazarus_Tutorial

    If you are no longer a beginner, it is hard for me to advise you any documents, The reason is that I learnt app dev by self-learning only. My coding style are affected by the source code of lazarus project. You may want to have a look at this.

    The images in my app are collected from Google :D It took me a short time to find these images. Personally, it seems hard to create any images by myself.

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Love the game... Score :- 990 .... :D :D

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Can You please make the MAC version too? :)

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Sorry, it is difficult for me. If you are able to install Lazarus in Mac, you can try to build this project your self (compile my code). If so, please tell me your mail address, then I will allow you to access the source of this project.

»
9 years ago, # |
  Vote: I like it -8 Vote: I do not like it

Thanks game is fun, with attractive way for select menu items and answers :D

but it isn't lazy strategy for choosing questions ?! :( Can solve duplicating and less shuffling problems ( and still keep more chance for top contestants ) with this strategy ?? :

First we create an array of all contestants respectively ( tourist , Petr , ... )

Then give for all of them a random number between a special range , that this range will be increase on every step . For example:

   1  .tourist -> rand(900,1000)
   2  .Petr    -> rand(897,1000)        // increase size of range by 3 in every step 
   3  .rng_58  -> rand(894,1000)        // ( or any suitable number 1,2,4,5,... )
   4  .WJMZBMR -> rand(891,1000)
   ...
   100.zxqfl   -> rand(603,1000)
   ...
   200.voover  -> rand(303,1000)
   201.?????   -> rand(300,1000)

Then sort them in descending order with paired values ( maybe unstable sort help for more shuffling )

Now we can start questions from number 0 and go forward and be sure that we have not same questions and almost good shuffled :)

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    This game is not necessary to be perfect. I tried my best to develop this game in last days of 2014. Because it is now 2015, there aren't any reasons to keep maintaining this game. In this time, I have to do other necessary things.