Copyright: Copyright (c)1997 Bjoern Ischo


YA-zee Index

Copyright ©1997 Bjoern Ischo

About YA-zee:

System Requirements:

How to play:

A source code example for programmers

Known Bugs / History:


About YA-zee:

YA-zee was written by me because I felt unhappy with the way most games of this type look like. I decided to make it freeware, although I spend more work with this than I wanted to when I started this. I encountered some smaller problems, with the most interesting one being to find an algorithm that find Straights and the Full House. I have included an excerpt from the source code for those of you interested in programming. Although I am German, I felt no need to include German help, so if any Germans have problem with the language, mail me and I will hopefully be able to answer your questions (as if such a person would understand what I just said <g>).

You may feel free to distribute and copy YA-zee as you wish, but you are not allowed to modify the program or any of it’s support files. If you really love the game, please consider donating a amount of your decision for the development of more games like this one. You can contact me either by e-mailing me at bischo6639@aol.com, visiting my website at http://members.aol.com/bischo6639/index.html or writing to me by snail-mail:

Bjoern Ischo

Friesenstr. 24

D-20097 Hamburg

Germany


System Requirements:

YA-zee requires a screen resolution of at least 800*600 pixels, and looks best with a colour depth of 16 or more bits/pixel, although it’s OK with 256 colours. You need to have the Arial TrueType Font installed, and I guess most of you have because it’s a Windows standard font. Oh, and at least 8 Megs of RAM could be useful (as they are for any other program). I wrote this whole thing on a Pentium 100 with 32 Megs and never encountered any problems, with the SDK, Paint Shop Pro and Word running at the same time, so I guess YA-zee should also run with only 4 Megs. Anyway, there aren’t any more people out there with less than 16 MB, are there????


How to play:

God, I hate this. Coding the whole thing is fun, as well as doing the graphics, but I really find it annoying to write these manuals. First of all, navigating through the game is very simple. There are no menus, pop-ups or something, just buttons you can click on. You can either play alone, with 2 or 3 players. Of course, you can also use the 3 player option for a triple YA-zee game. When in the game, you select which dice to re-roll by clicking them. Click the Roll button when finished. To assign you’re dice after having rolled them 3 times, click the category. E.g. if you want the dice be assigned in the ONES, click ONES. That’s it. All buttons should be rather self-explanatory, so I won’t waste time here explaining all of them. So much for the controls...

The rules, yes... You all know Yatzee, Yacht-Z, Kniffel or whatever you call it, don’t you? For those few who really never heard of it (hey, did you have a childhood??), the basics of the game:

The rules:

You roll 5 dice. Then you decide which you keep, and which will be re-rolled. You can do this 3 times, then you have to assign the dice you rolled to one of 13 things, and you get points for that. The first 6 categories are simply the numbers from 1 to 6. The bonus section will get you (automatically) 30 extra points when you assigned at least 3 three of a kinds to the above mentioned.

The lower categories are a bit like in poker: 3 of a kind, 4 of a kind, Straights (e.g. 1234 for Small Straight, or 12345 for a large one), and the Full House (for example 22333). YA-zee is a 5 of a kind and gives you 100 points. Chance is the sum of all dice you rolled - best used when there’s no better place for them to be assigned to. YOU MAY USE ANY CATEGORY ONLY ONCE PER PLAYER!!

So much about the rules....got it? If not, just try and you will understand....


A source code example for programmers
A source code example for programmers:

A nice little challenge I encountered while coding this was to code a good and fast procedure that finds out if the player has a full house. I saw that most programmers who did a Yatzee or Poker game did this with about 200 simply If...Then or Case instructions. I think my way is rather clever (well, quite nice at least), so I decided to include a sample from the source code here for all who want to do a game like this. Most Pascal or C++ programmers should understand it. It basically works by counting the number of each possible digit (1 to 6), and then writing it to a string. If a 2 and a 3 appear in the string, it must be a full house. Modifying it a bit, this procedure will also work for any other thing were you have to sort things. The variables in the code are as follows: w[1-6]% for the dice (Integer), an integer array with 6 elements, and various other integers that are 0 at the beginning. Test$ is a normal string.

‘being procedure

dim% (6)

whilenot @equ(count%,0)  ‘count

case @equ(count%,w1%): inc wieviele%

case @equ(count%,w2%): inc wieviele%

case @equ(count%,w3%): inc wieviele%

case @equ(count%,w4%): inc wieviele%

case @equ(count%,w5%): inc wieviele%

list% count%=wieviele% ‘list to array

dec count%

let wieviele%=0

wend

‘write to a string

let test$=@add$(@add$(@add$(@add$(@add$(@str$(@list%(1)),@str$(@list%(2))),@str$(@list%(3)))\

,@str$(@list%(4))),@str$(@list%(5))),@str$(@list%(6)))

‘check if 2 and 3 are in the string

case @and(@instr("2",test$),@instr("3",test$): let score%=30

‘end procedure


Known Bugs / History:

Bugs:

The only problem I encountered was that the background colour of the text sometimes changed to white after YA-zee had been minimised. I am not sure why it happens, but will work on it.

History:

Version 1.0 (current Version):

first public release of YA-zee. Fixed the highscore bug.

Version 0.9

first beta release, still had a bug in the highscore display. Added options for 2 and 3 players. Re-arranged buttons.

Version 0.8

first alpha version that I gave to some friends. One player mode only, very bugged highscores.