Мне нужно написать программу "Игровой автомат". Я написал такой код. Но есть проблема. Я не могу вставить строчку else sum:=sum-100; что бы при отсутствии моих комбинаций у меня вычиталось 100$... Мне предложили оператор case...to, но я не смог в нем разобраться. Помоги пожалуйста! То что много begin end, это я фигней страдал.. ) Если посчитаете что они не нужны то будет даже удобнее. Просто программа и так работает, только нужно что бы еще -100$ вычитало 
 
procedure TForm1.Button1Click(Sender: TObject); 
var x,y,z:integer; 
begin 
VK_RETURN; 
randomize; 
x:= random(5)+1; 
y:= random(5)+1; 
z:= random(5)+1; 
begin 
 if ((x=1) and (y=1) and (z=1)) then sum:= sum+100*7; 
 end; 
begin 
 if ((x=1) and (z=1)) then sum:= sum+100*6; 
end; 
begin 
 if ((x=2) and (y=2) and (z=2)) then sum:= sum+100*4; 
end; 
begin 
 if ((x=3) and (y=3) and (z=3)) then sum:= sum+100*10; 
end; 
begin 
 if ((x=3) and (z=3)) then sum:= sum+100*8; 
end; 
begin 
 if ((x=4) and (y=4) and (z=4)) then sum:= sum+100*3; 
end; 
begin 
 if ((x=5) and (y=5) and (z=5)) then sum:= sum+100*2; 
end; 
begin 
 if ((x=2) and (y=4) and (z=5)) then sum:= sum+100*9; 
end;
	
	
	Другие языки программирования и технологии
	
		
		
								
				
								
				
								
				
			
	
		
			Помогите с кодом в Delphi, пожалуйста!
if ((x=1) and (y=1) and (z=1)) then sum:= sum+100*7 
else if ((x=1) and (z=1)) then sum:= sum+100*6
else if ((x=2) and (y=2) and (z=2)) then sum:= sum+100*4
else if ((x=3) and (y=3) and (z=3)) then sum:= sum+100*10
else if ((x=3) and (z=3)) then sum:= sum+100*8
else if ((x=4) and (y=4) and (z=4)) then sum:= sum+100*3
else if ((x=5) and (y=5) and (z=5)) then sum:= sum+100*2
else if ((x=2) and (y=4) and (z=5)) then sum:= sum+100*9
else sum := sum - 100;
				
							else if ((x=1) and (z=1)) then sum:= sum+100*6
else if ((x=2) and (y=2) and (z=2)) then sum:= sum+100*4
else if ((x=3) and (y=3) and (z=3)) then sum:= sum+100*10
else if ((x=3) and (z=3)) then sum:= sum+100*8
else if ((x=4) and (y=4) and (z=4)) then sum:= sum+100*3
else if ((x=5) and (y=5) and (z=5)) then sum:= sum+100*2
else if ((x=2) and (y=4) and (z=5)) then sum:= sum+100*9
else sum := sum - 100;
У вас чето много ендов лишних, убирайте их нафиг. 
if ((x=1) and (y=1) and (z=1)) then
sum:= sum+100*7;
else if ((x=1) and (z=1)) then
sum:= sum+100*6;
else if ((x=2) and (y=2) and (z=2)) then
sum:= sum+100*4;
else ...
else
sum := sum - 100;
 
Хотя ваш код какой-то тяжелый, если честно. Я бы завел массив вида
(зн1, зн2, зн3, флаги, вознагр)
Для вашего:
(1,1,1, fl1+fl2+fl3, 100*6 ),
(1,0,1, fl1+fl3, 100*4 ),
(2,2,2, fl1+fl2+fl3, 100*4 ),
В цикле пробегал бы его, если подходит - то все ок. Если в цикле не нашли - минус сто.
				
							if ((x=1) and (y=1) and (z=1)) then
sum:= sum+100*7;
else if ((x=1) and (z=1)) then
sum:= sum+100*6;
else if ((x=2) and (y=2) and (z=2)) then
sum:= sum+100*4;
else ...
else
sum := sum - 100;
Хотя ваш код какой-то тяжелый, если честно. Я бы завел массив вида
(зн1, зн2, зн3, флаги, вознагр)
Для вашего:
(1,1,1, fl1+fl2+fl3, 100*6 ),
(1,0,1, fl1+fl3, 100*4 ),
(2,2,2, fl1+fl2+fl3, 100*4 ),
В цикле пробегал бы его, если подходит - то все ок. Если в цикле не нашли - минус сто.
// case - это элементарно! 
randomize;
x:= random(5)+1;
y:= random(5)+1;
z:= random(5)+1;
// пусть x-сотни, y - десятки, z - единицы, тогда
N:=100*x+10*y+z;
case N // тип N - ordinal
111:sum+100*7; // аналогично if ((x=1) and (y=1) and (z=1)) then sum:= sum+100*7;
121,131,141,151:sum+100*6; // if ((x=1) and (z=1)) then sum:= sum+100*6;
// и т. д.
else sum:=sum-100;
end;
				
							randomize;
x:= random(5)+1;
y:= random(5)+1;
z:= random(5)+1;
// пусть x-сотни, y - десятки, z - единицы, тогда
N:=100*x+10*y+z;
case N // тип N - ordinal
111:sum+100*7; // аналогично if ((x=1) and (y=1) and (z=1)) then sum:= sum+100*7;
121,131,141,151:sum+100*6; // if ((x=1) and (z=1)) then sum:= sum+100*6;
// и т. д.
else sum:=sum-100;
end;
Похожие вопросы
- Помогите сделать проект по Delphi ПОЖАЛУЙСТА...
- помогите решить задачи в delphi пожалуйста))
- Помогите с экзаменом по Delphi ПОЖАЛУЙСТА !!!
- помогите переделать код программы с++ пожалуйста
- Delphi, переводчик, помогите с кодом!!
- Помогите разобрать код программы чисел Фибоначчи на Delphi
- Помогите с кодом delphi
- Помогите составить задачу в Delphi
- Пожалуйста, помогите с задачкой на Delphi
- программисты помогите срочно задача на Delphi
 
			 
						 
						