Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2011, 11:44   #1
Шайен
Новичок
Джуниор
 
Регистрация: 22.05.2011
Сообщений: 5
Восклицание Игра

Помогите найти ошибку!!!

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, jpeg, MPlayer;

type
  TForm1 = class(TForm)
    Button1: TButton;
    RadioGroup1: TRadioGroup;
    Image1: TImage;
    Image2: TImage;
    Label1: TLabel;
    MediaPlayer1: TMediaPlayer;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i,pc:integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var x: integer;
begin
  if RadioGroup1.ItemIndex = -1 then
    ShowMessage('Сначала сделайте свой выбор!')
  else
  begin
    if RadioGroup1.ItemIndex = 0 then
      Image1.Picture.LoadFromFile('stoun.jpg');
    if RadioGroup1.ItemIndex = 1 then
      Image1.Picture.LoadFromFile('nozh.jpg');
    if RadioGroup1.ItemIndex = 2 then
      Image1.Picture.LoadFromFile('paper.jpg');

    x := random(3);
    if x = 0 then
      Image2.Picture.LoadFromFile('stoun.jpg');
    if x = 1 then
      Image2.Picture.LoadFromFile('nozh.jpg');
    if x = 2 then
      Image2.Picture.LoadFromFile('paper.jpg');

    if RadioGroup1.ItemIndex = x then
      Label1.Caption := 'Ничья';
    if (radioGroup1.ItemIndex = 0) and (x = 1) then
    begin
      Label1.Caption := 'Вы выиграли';
      i := i + 1;
    end;
    if (RadioGroup1.ItemIndex = 0) and (x = 2) then
    begin
      Label1.Caption := 'Вы проиграли';
      pc := pc + 1;
    end;
    if (radioGroup1.ItemIndex = 1) and (x = 2) then
    begin
      Label1.Caption := 'Вы выиграли';
      i := i + 1;
      if (RadioGroup1.ItemIndex = 1) and (x = 0) then
      begin
        Label1.Caption := 'Вы проиграли';
        pc := pc + 1;
        if (radioGroup1.ItemIndex = 2) and (x = 0) then
        begin
          Label1.Caption := 'Вы выиграли';
          i := i + 1;
          if (RadioGroup1.ItemIndex = 2) and (x = 1) then
          begin
            Label1.Caption := 'Вы проиграли';
            pc := pc + 1;
          end;

          MediaPlayer1.FileName := 'start.wav';
          MediaPlayer1.Open;
          MediaPlayer1.Play;
        end;
        Label3.Caption := IntToStr(i);
        Label4.Caption := IntToStr(pc);
      end;

      i := 0;
      pc := 0;
      Label1.Caption := 'Делайте ваш выбор';
      Label3.Caption := IntToStr(i);
      Label4.Caption := IntToStr(pc);
      Image1.Picture.LoadFromFile('newgame.jpg');
      Image2.Picture.LoadFromFile('newgame.jpg');
      RadioGroup1.ItemIndex := -1;
    end;
  end;
end;

end.
звуковой эффект не работает и картинки выдаёт неправильные(((и ещё счётчик не пашет.



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 23.05.2011 в 13:27.
Шайен вне форума Ответить с цитированием
Старый 23.05.2011, 12:07   #2
VVM
Форумчанин
 
Аватар для VVM
 
Регистрация: 06.06.2007
Сообщений: 282
По умолчанию

Счетчик не работает, так как идет постоянное его обнуление: i:=0;
pc:=0;
Не важно, как часто вы падаете. Важно, как часто вы поднимаетесь. Винс Ломбарди.
VVM вне форума Ответить с цитированием
Старый 23.05.2011, 12:15   #3
Шайен
Новичок
Джуниор
 
Регистрация: 22.05.2011
Сообщений: 5
По умолчанию

нет в конце его и надо обнулять перед новой игрой.
а вот когда игра идёт, вот там то очки и не начисляются не игроку не компьютеру!
Шайен вне форума Ответить с цитированием
Старый 23.05.2011, 19:59   #4
VVM
Форумчанин
 
Аватар для VVM
 
Регистрация: 06.06.2007
Сообщений: 282
По умолчанию

Решил малость отредактировать код и выложить свое видение этой игры, основанное на вашем коде. Код немного оптимизировал, перелопатил, добавил комменты. Использовал CodeGear Delphi 2009.

З.Ы. Можно еще колодец добавить: Камень-Ножницы-Бумага-Колодец =)
Вложения
Тип файла: rar KNB.rar (427.3 Кб, 10 просмотров)
Не важно, как часто вы падаете. Важно, как часто вы поднимаетесь. Винс Ломбарди.

Последний раз редактировалось VVM; 23.05.2011 в 20:32.
VVM вне форума Ответить с цитированием
Старый 24.05.2011, 16:47   #5
Шайен
Новичок
Джуниор
 
Регистрация: 22.05.2011
Сообщений: 5
По умолчанию

большое спасибо))
Шайен вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра на C# ЧеширскийКот Общие вопросы .NET 3 11.04.2009 11:25