鱼C论坛

 找回密码
 立即注册
查看: 2847|回复: 8

老虎机程序疑难求助

[复制链接]
发表于 2016-10-18 20:34:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 江上客-无类 于 2016-10-21 18:19 编辑

首先感谢 clb929 的分享

原文地址http://bbs.fishc.com/forum.php?mod=viewthread&tid=34808

通过他的实例 基本了解了一下 老虎机的基本构架和实现方法

代码比较简练 大多能看的懂
但对于 temp 这个值的用法存在疑虑 现将源码(考虑太长有适当删减) 贴在下方 求过路大神指点迷津




  1. unit tiger;

  2. interface

  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls, ExtCtrls;

  6. type
  7.   TForm1 = class(TForm)
  8.     Label1: TLabel;
  9.    ...
  10.     procedure Timer1Timer(Sender: TObject);
  11.   private
  12.     { Private declarations }
  13.   public
  14.     { Public declarations }
  15.   end;

  16. var                                //变量基础值和声明
  17.   Form1: TForm1;
  18.   Jifen: Integer = 100;
  19.   Shu: Integer = 0;
  20.   Niu: Integer = 0;
  21.   Hu: Integer = 0;
  22.   Tu: Integer = 0;
  23.   Long: Integer = 0;
  24.   She: Integer = 0;
  25.   Ma: Integer = 0;
  26.   Yang: Integer = 0;
  27.   Hou: Integer = 0;
  28.   Gou: Integer = 0;
  29.   Ji: Integer = 0;
  30.   Zhu: Integer = 0;                //以上为十二个候选位置
  31.   Sign: Integer = 0;                //确定是否在进行中
  32.   Result: Integer = 0;        //确定结果
  33. [b][color=Red][size=5]  Temp: Integer =0;                //不明白是干什么的[/size][/color][/b]
  34.   Time: Integer = 2;

  35. implementation

  36. {$R *.dfm}


  37. procedure TForm1.FormCreate(Sender: TObject);                 //窗口初始化积分
  38. begin
  39.   Label17.Caption:= IntToStr( Jifen );
  40. end;

  41. procedure TForm1.Button2Click(Sender: TObject);         //按下相关按钮开始加注 //共计12个按钮
  42. begin
  43.   if ( Sign = 0 ) and ( Jifen > 0 )
  44.   then
  45.     begin
  46.       Shu:= Shu + 10;
  47.       Jifen:= Jifen - 10;
  48.       Label31.Caption:= IntToStr( Shu );
  49.       Label17.Caption:= IntToStr( Jifen );
  50.     end;
  51. end;
  52. ...

  53. procedure TForm1.Button1Click(Sender: TObject);        //按下开始摇奖按钮
  54. begin
  55.   if ( Sign = 0 ) and ( ( Shu + Niu + Hu + Tu + Long + She + Ma + Yang + Hou + Gou + Ji + Zhu ) <> 0 )
  56.   then
  57.     begin
  58.       Randomize;                       
  59.       Sign:= 1;                                //进入摇奖模式
  60.       Result:= Random( 16 );        //在十二个候选和2个特2个空总计16 个选项中计算出结果
  61.       Timer1.Enabled:= True;        //打开时间控件
  62.     end;
  63. end;

  64. procedure TForm1.Timer1Timer(Sender: TObject);
  65. begin
  66. if ( Temp <= (Result + 16) )   //此处为疑问点,temp并未赋值 初始仅为0 Result的随机值为0~15 加16以后一定是大于Temp 这个判断究竟判断了什么?
  67.   then
  68.     begin
  69.          case ( Temp ) of         //这里就更迷糊了Temp只是0 如何进行case? 并没有随机赋值之类他的0以上的值从那来的呢?
  70.         0,16:  //形成转动效果
  71.           begin
  72.             Label16.Color:= clAqua;
  73.             Label1.Color:= clRed;
  74.           end;
  75. ...
  76.         15,31:
  77. ..
  78.       end;
  79.    Temp:= Temp + 1;  //这个也是一样不知道是计算了个什么?
  80.     end
  81.   else
  82.     begin
  83.       Timer1.Enabled:= False;
  84.       case ( Result ) of
  85.         0: Jifen:= Jifen + Shu * 2 * Time;  //根据结果计算出中奖积分  *Time 是相当于四倍么?比如押了10 中了得40?
  86. ..
  87.         15: Jifen:= Jifen + Zhu * 2 * Time;
  88.       end;
  89.       Label17.Caption:= IntToStr( Jifen ); //获得中奖积分
  90.       Shu:= 0;
  91.   ..
  92.       Zhu:= 0;  
  93.       Sign:= 0;
  94.       Result:= 0; //清零
  95.       Temp:=0; //temp又变成0了。。。
  96.       Label31.Caption:= IntToStr( Shu );
  97.       Label32.Caption:= IntToStr( Niu );
  98.       Label33.Caption:= IntToStr( Hu );
  99.       Label34.Caption:= IntToStr( Tu );
  100.       Label35.Caption:= IntToStr( Long );
  101.       Label36.Caption:= IntToStr( She );
  102.       Label37.Caption:= IntToStr( Ma );
  103.       Label38.Caption:= IntToStr( Yang );
  104.       Label39.Caption:= IntToStr( Hou );
  105.       Label40.Caption:= IntToStr( Gou );
  106.       Label41.Caption:= IntToStr( Ji );
  107.       Label42.Caption:= IntToStr( Zhu );
  108.     end;
  109. end;

  110. end.

复制代码


游客,如果您要查看本帖隐藏内容请回复

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-10-18 20:36:08 | 显示全部楼层
感谢各位大神的回复和帮助~!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-18 23:34:22 | 显示全部楼层
超级玛丽 顶~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-19 03:23:38 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-19 09:23:55 | 显示全部楼层
mark
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-19 11:57:10 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-10-20 10:34:14 | 显示全部楼层
顶顶求关注
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-31 15:05:36 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-31 15:15:10 | 显示全部楼层
temp这个变量一般在C语言里只用于中介   你看过指针吗  你看过C语言吗  你应该好好看下C语言 那是一本好书
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 10:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表