/*
实现效果:
1 2 6 7 15
3 5 8 14 16
4 9 13 17 22
10 12 18 21 23
11 19 20 24 25
*/
#include <stdio.h>
#define N 5 //阶数,即N*N的螺旋矩阵
void main()
{
int i, j, num=1, a[N][N];
for(i=0; i<=N/2; i++)
{
for(j=i; j<N-i; j++) a[i][j]=n++;
for(j=i+1; j<N-i; j++) a[j][N-i-1]=n++;
for(j=N-i-2; j>i; j--) a[N-i-1][j]=n++;
for(j=N-i-1; j>i; j--) a[j][i]=n++;
}
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
printf("%2d ",a[i][j]);
printf("\n");
}
}
不知道叫什么,先叫它“回宫图”吧
年初的时候在贴吧瞎逛,看到了一个程序挺有意思,会输出如下的形状:
01 24 23 22 21 20 19
02 25 40 39 38 37 18
03 26 41 48 47 36 17
04 27 42 49 46 35 16
05 28 43 44 45 34 15
06 29 30 31 32 33 14
07 08 09 10 11 12 13
仔细看这个形状,数字是按顺序往里回旋的,觉得很有创意,可是一看源代码头就大了,
每个编程人都知道看别人的代码是很困难的,尤其像这种不知道思路的,所以也就放下
没管了。
昨天上物理课实在是没心思听,就想起这个程序,想了一节课,果然不负有心人,给弄出来了,这个是增强版的,可以输入1-10中的任意个数,然后生成图形。
先看代码,没有注释,所以不好看的懂。
#include<stdio.h>
main()
{
int n,m,i,j,t,k=1;
int a[11][11];
clrscr();
do{
printf("please input a number(1-10):");
scanf("%d",&n);
}while(n<1||n>10);
t=n+1;
for(m=1;m<=t/2;m++)
{
for(i=m;i<=t-m;i++)
{a[i][m]=k;k++;}
for(j=m+1;j<=t-m;j++)
{a[i-1][j]=k;k++;}
for(i=n-m;i>=m;i--)
{a[i][j-1]=k;k++;}
for(j=n-m;j>=m+1;j--)
{a[i+1][j]=k;k++;}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(a[i][j]<=9) printf("0%d ",a[i][j]);
else printf("%d ",a[i][j]); }
printf("\n");
}
getch();
}
就是这样的。
可以更简洁些:
#include<stdio.h>
main()
{
int n,m,i,j,t,k=1;
int a[11][11];
clrscr();
do{
printf("please input a number(1-10):");
scanf("%d",&n);
}while(n<1||n>10);
t=n+1;
for(m=1;m<=t/2;m++)
{
for(i=m;i<=t-m;i++)
a[i][m]=k++;
for(j=m+1;j<=t-m;j++)
a[i-1][j]=k++;
for(i=n-m;i>=m;i--)
a[i][j-1]=k++;
for(j=n-m;j>=m+1;j--)
a[i+1][j]=k++;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(a[i][j]<=9) printf("0%d ",a[i][j]);
else printf("%d ",a[i][j]); }
printf("\n");
}
getch();
}
#include <stdio.h>
#define N 8
main(){
int i,j,n=1,a[N][N];
for(i=0;i<=N/2;i++){
for(j=i;j<N-i;j++)
a[i][j]=n++;
for(j=i+1;j<N-i;j++)
a[j][N-i-1]=n++;
for(j=N-i-2;j>i;j--)
a[N-i-1][j]=n++;
for(j=N-i-1;j>i;j--)
a[j][i]=n++;
}
for(i=0;i<N;i++){
printf("\n\n");
for(j=0;j<N;j++)
printf("%5d",a[i][j]);
}
}
马踏棋盘问题
#include <stdio.h>
#define N 5
void main(){
int x,y;
void horse(int i,int j);
printf("Please input start position:");
scanf("%d%d",&x,&y);
horse(x-1,y-1);
}
void horse(int i,int j){
int a[N][N]={0},start=0,
h[]={1,2,2,1,-1,-2,-2,-1},
v[]={2,1,-1,-2,2,1,-1,-2},
save[N*N]={0},posnum=0,ti,tj,count=0;
int jump(int i,int j,int a[N][N]);
void outplan(int a[N][N]);
a[i][j]=posnum+1;
while(posnum>=0){
ti=i;tj=j;
for(start=save[posnum];start<8;++start){
ti+=h[start];tj+=v[start];
if(jump(ti,tj,a))
break;
ti-=h[start];tj-=v[start];
}
if(start<8){
save[posnum]=start;
a[ti][tj]=++posnum+1;
i=ti;j=tj;save[posnum]=0;
if(posnum==N*N-1){
//outplan(a);
count++;
}
}
else{
a[i][j]=0;
posnum--;
i-=h[save[posnum>;j-=v[save[posnum>;
save[posnum]++;
}
}
printf("%5d",count);
}
int jump(int i,int j,int a[N][N]){
if(i<N&&i>=0&&j<N&&j>=0&&a[i][j]==0)
return 1;
return 0;
}
void outplan(int a[N][N]){
int i,j;
for(i=0;i<N;i++){
for(j=0;j<N;j++)
printf("%3d",a[i][j]);
printf("\n");
}
printf("\n");
//getchar();
}
用回溯法得到所有的解,但效率较低,只能算出5行5列的
var
Form1: TForm1;
MousePos: TPoint;
bet_x : Integer;
bet_y : Integer;
i, j, k, l, r, m, n : integer;// i:大迴圈 J:跑燈迴圈 K:倍數燈 L:倍數燈 M:大小燈 n:比倍迴圈
left_bai, right_bai : Integer; //左邊倍數..右邊倍數
Ti, Tj : Cardinal; //迴圈時間 , 押注連續時間
rb, rd : integer;//加速用定位
score : Integer;//現有分數
take_score : Integer;//得分
bet_ok : Boolean; //押注完成
re_bet : Boolean; //重新押注
bar_bet, seven_bet, star_bet, Watermelon_bet, bell_bet, Lemon_bet, Orange_bet, apple_bet : Integer;
bar_bet_full, seven_bet_full, star_bet_full, Watermelon_bet_full, bell_bet_full, Lemon_bet_full, Orange_bet_full, apple_bet_full : Boolean; //下注全滿
bet_all : Integer;//押注總和
runing : Boolean; //正在跑燈
not_take_score : Boolean;//是否已經取回得分
big_small : Integer; //大小 大:0 小:1
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
if (not AsphyreDevice1.Initialize()) then
begin
Close();
Exit;
end;
Randomize;
Ti := 451; //毫秒
score := 5000;
bet_ok := False;
runing := False;
re_bet := True;
not_take_score := False;
Tj := 50;
PlaySound('R_21',hinstance,SND_ASYNC or SND_RESOURCE);
end;
procedure TForm1.AsphyreDevice1Initialize(Sender: TObject;
var Success: Boolean);
begin
Success:=AsphyreFonts1.LoadFromASDb(ASDb1);
if (Success) then
Success:=AsphyreImages1.LoadFromASDb(ASDB1);
//if (Success) then SoundSystem1.LoadFromASDb(ASDb1);
AsphyreTimer1.Enabled:= Success;
end;
procedure TForm1.AsphyreDevice1Render(Sender: TObject);
begin
AsphyreCanvas1.Draw(AsphyreImages1.Image['23ok1.image'],0,0,0,1); //背景加載
AsphyreFonts1[2].TextOut(format('%6s',[IntToStr(score)]), 232,56, $FF2425FF); //資金顯示( $FF0400FF 正紅 )
AsphyreFonts1[2].TextOut(format('%6s',[IntToStr(take_score)]), 66,56, $FF2425FF); //得分顯示( $FF0400FF 正紅 )
AsphyreFonts1[2].TextOut(format('%2s',[IntToStr(bar_bet)]), 18,523, $FF2425FF); //BAR押注顯示( $FF0400FF 正紅 )
AsphyreFonts1[2].TextOut(format('%2s',[IntToStr(seven_bet)]), 64,523, $FF2425FF); //77押注顯示( $FF0400FF 正紅 )
AsphyreFonts1[2].TextOut(format('%2s',[IntToStr(star_bet)]), 112,523, $FF2425FF); //双星押注顯示( $FF0400FF 正紅 )
AsphyreFonts1[2].TextOut(format('%2s',[IntToStr(Watermelon_bet)]), 159,523, $FF2425FF); //西瓜押注顯示( $FF0400FF 正紅 )
AsphyreFonts1[2].TextOut(format('%2s',[IntToStr(bell_bet)]), 206,523, $FF2425FF); //鈴鐺押注顯示( $FF0400FF 正紅 )
AsphyreFonts1[2].TextOut(format('%2s',[IntToStr(Lemon_bet)]), 253,523, $FF2425FF); //檸檬押注顯示( $FF0400FF 正紅 )
AsphyreFonts1[2].TextOut(format('%2s',[IntToStr(Orange_bet)]), 300,523, $FF2425FF); //橘子押注顯示( $FF0400FF 正紅 )
AsphyreFonts1[2].TextOut(format('%2s',[IntToStr(apple_bet)]), 347,523, $FF2425FF); //蘋果押注顯示( $FF0400FF 正紅 )
//AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 174,90+i,0,1);
Demo;
Form1.FormStyle := fsStayOnTop;
if (bet_x > 267) and (bet_x < 374) and (bet_y > 555) and (bet_y < 588) then AsphyreCanvas1.Draw(AsphyreImages1.Image['start4.image'], 265,555,0,1);
if (bet_x > 24) and (bet_x < 83) and (bet_y > 559) and (bet_y < 587) then AsphyreCanvas1.Draw(AsphyreImages1.Image['big2.image'], 24,559,0,1);
if (bet_x > 89) and (bet_x < 144) and (bet_y > 559) and (bet_y < 587) then AsphyreCanvas1.Draw(AsphyreImages1.Image['small2.image'], 89,559,0,1);
end;
procedure TForm1.AsphyreTimer1Timer(Sender: TObject);
begin
AsphyreDevice1.Render(0,true);
AsphyreDevice1.Flip;
end;
procedure TForm1.Demo(); //選擇性顯示
begin
case j of
1 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 174,90,0,fxMax);
2 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 224,90,0,fxMax);
3 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 276,90,0,fxMax);
4 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 326,90,0,fxMax);
5 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 326,142,0,fxMax);
6 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 326,192,0,fxMax);
7 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 326,244,0,fxMax);
8 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 326,294,0,fxMax);
9 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 326,346,0,fxMax);
10 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 326,398,0,fxMax);
11 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 276,398,0,fxMax);
12 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 224,398,0,fxMax);
13 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 174,398,0,fxMax);
14 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 122,398,0,fxMax);
15 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 71,398,0,fxMax);
16 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 20,398,0,fxMax);
17 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 20,346,0,fxMax);
18 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 20,294,0,fxMax);
19 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 20,244,0,fxMax);
20 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 20,192,0,fxMax);
21 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 20,142,0,fxMax);
22 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 20,90,0,fxMax);
23 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 71,90,0,fxMax);
24 : AsphyreCanvas1.Draw(AsphyreImages1.Image['1.image'], 122,90,0,fxMax);
end;
case k of
1 : AsphyreCanvas1.Draw(AsphyreImages1.Image['-2.image'], 74,454,0,fxMax);
2 : AsphyreCanvas1.Draw(AsphyreImages1.Image['-2.image'], 121,454,0,fxMax);
3 : AsphyreCanvas1.Draw(AsphyreImages1.Image['-2.image'], 167,454,0,fxMax);
end;
case l of
1 : AsphyreCanvas1.Draw(AsphyreImages1.Image['-2.image'], 309,454,0,fxMax);
2 : AsphyreCanvas1.Draw(AsphyreImages1.Image['-2.image'], 261,454,0,fxMax);
3 : AsphyreCanvas1.Draw(AsphyreImages1.Image['-2.image'], 215,454,0,fxMax);
end;
case m of
1 : AsphyreCanvas1.Draw(AsphyreImages1.Image['-1.image'], 123,285,0,fxMax);
2 : AsphyreCanvas1.Draw(AsphyreImages1.Image['-1.image'], 244,285,0,fxMax);
end;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if (x > 267) and (x < 374) and (y > 555) and (y < 588) or //这里是改变鼠标样子的 --開始
(x > 14) and (x < 55) and (y > 492) and (y < 546) or //--BAR
(x > 61) and (x < 101) and (y > 492) and (y < 546) or //--77
(x > 109) and (x < 149) and (y > 492) and (y < 546) or // --双星
(x > 155) and (x < 197) and (y > 492) and (y < 546) or // --西瓜
(x > 203) and (x < 243) and (y > 492) and (y < 546) or // --鈴鐺
(x > 249) and (x < 289) and (y > 492) and (y < 546) or // --檸檬
(x > 297) and (x < 337) and (y > 492) and (y < 546) or // --橘子
(x > 344) and (x < 384) and (y > 492) and (y < 546) or // --蘋果
(x > 24) and (x < 83) and (y > 559) and (y < 587) or // --押大
(x > 89) and (x < 144) and (y > 559) and (y < 587) then // --壓小
begin
form1.Cursor := crHandPoint //进入这个区域,鼠标变成手型
end
else
form1.Cursor := crDefault; //离开时,恢复默认鼠标
GetCursorPos(MousePos);
//Form1.Caption:='相對座標'+IntToStr(x)+','+IntToStr(y) + '絕對座標'+IntToStr(MousePos.X)+','+IntToStr(MousePos.Y);
bet_x := x;
bet_y := y;
end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (x > 267) and (x < 374) and (y > 555) and (y < 588) then // --開始
begin
end;
if (x > 14) and (x < 55) and (y > 492) and (y < 546) then //--BAR 押分
begin
end;
if (x > 109) and (x < 149) and (y > 492) and (y < 546) then //--77 押分
begin
end;
if (x > 109) and (x < 149) and (y > 492) and (y < 546) then // --双星
begin
end;
if (x > 155) and (x < 197) and (y > 492) and (y < 546) then // --西瓜
begin
end;
if (x > 203) and (x < 243) and (y > 492) and (y < 546) then // --鈴鐺
begin
end;
if (x > 249) and (x < 289) and (y > 492) and (y < 546) then // --檸檬
begin
end;
if (x > 297) and (x < 337) and (y > 492) and (y < 546) then // --橘子
begin
end;
if (x > 344) and (x < 384) and (y > 492) and (y < 546) then // --蘋果
begin
end;
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (x > 267) and (x < 374) and (y > 555) and (y < 588) then // --開始壓下檢查
begin
if (not runing) then
begin
if (take_score > 0) then
begin
PlaySound('R_1',hinstance,SND_ASYNC or SND_RESOURCE);
score := take_score + score;
take_score := 0;
end
else
start_key();
end;
end;
if (x > 14) and (x < 55) and (y > 492) and (y < 546) then //--BAR 押分
begin
end;
if (x > 61) and (x < 101) and (y > 492) and (y < 546) then //--77 押分
begin
end;
if (x > 109) and (x < 149) and (y > 492) and (y < 546) then // --双星
begin
end;
if (x > 155) and (x < 197) and (y > 492) and (y < 546) then // --西瓜
begin
end;
if (x > 203) and (x < 243) and (y > 492) and (y < 546) then // --鈴鐺
begin
end;
if (x > 249) and (x < 289) and (y > 492) and (y < 546) then // --檸檬
begin
end;
if (x > 297) and (x < 337) and (y > 492) and (y < 546) then // --橘子
begin
end;
if (x > 344) and (x < 384) and (y > 492) and (y < 546) then // --蘋果
begin
end;
if (x > 24) and (x < 83) and (y > 559) and (y < 587) then // --押大
begin
if (take_score >= 1) then
begin
big_small := 0;
r := random(4);
Timer2.Enabled := True;
end;
end;
if (x > 89) and (x < 144) and (y > 559) and (y < 587) then // --押小
begin
if (take_score >= 1) then
begin
big_small := 1;
r := random(4);
Timer2.Enabled := True;
end;
end;
if (x > 201) and (x < 221) and (y > 54) and (y < 74) then //移動分數
begin
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject); //跑燈
var
ra : integer;//總步數
begin
runing := True;
Timer1.Interval := Ti;
ra := 72;
ra := ra + r;
rb := rb + 1;
i := i + 1;
if (rb < 10) then
begin
Ti := Ti - 50; //加速
PlaySound('R_1',hinstance,SND_ASYNC or SND_RESOURCE);
end;
if (i > ra-12) then
begin
Ti := Ti + 50;//減速
PlaySound('R_1',hinstance,SND_ASYNC or SND_RESOURCE);
end;
j := j + 1;
if (j >= 25) then j := 1;
k := k + 1;
if (k >= 4) then k := 1;
l := l + 1;
if (l >= 4) then l := 1;
{m := m + 1;
if (m >= 3) then m := 1;}
//PlaySound('R_1',hinstance,SND_ASYNC or SND_RESOURCE);
//SoundSystem1.Play('Unti1.wav', False);
Form1.Caption := inttostr(Ti) + '-j:' + inttostr(j) + '-r:' + IntToStr(r) + '-ra:' + IntToStr(ra) + '--rb:' + IntToStr(rb) + '__';
if (i >= ra) then //燈跑完後要做的事
begin
Timer1.Enabled := False;
Ti := 451;
rb := 0;
i := j+1;
take_allscore();
end;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
var
rc : integer;//總步數
begin
runing := True;
Timer2.Interval := Tj;
rc := 12;
rc := rc + r;
rd := rd + 1;
n := 1 + n;
if (n >= rc) then //燈跑完後要做的事
begin
Timer2.Enabled := False;
Tj := 50;
rd := 1;
n := 0;
bi_bai_take_allscore();
end;
if (n > rc-12) then
begin
Tj := Tj + 50;//減速
PlaySound('R_1',hinstance,SND_ASYNC or SND_RESOURCE);
end;
m := m + 1;
if (m >= 3) then m := 1;
end;
procedure TForm1.take_allscore();
begin
case k of
1 : left_bai := 40;
2 : left_bai := 30;
3 : left_bai := 20;
end;
case k of
1 : right_bai := 10;
2 : right_bai := 20;
3 : right_bai := 15;
end;
case j of
1 : begin
if (bar_bet >= 1) then
begin
PlaySound('R_11',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := bar_bet * 100;
end;
end;
2 : begin
if (apple_bet >= 1) then
begin
PlaySound('R_18',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := apple_bet * 5;
end;
end;
3 : begin
if (Lemon_bet >= 1) then
begin
PlaySound('R_16',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := Lemon_bet * 2;
end;
end;
4 : begin
if (Lemon_bet >= 1) then
begin
PlaySound('R_16',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := Lemon_bet * right_bai;
end;
end;
5 : begin
if (Watermelon_bet >= 1) then
begin
PlaySound('R_14',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := Watermelon_bet * left_bai;
end;
end;
6 : begin
if (Watermelon_bet >= 1) then
begin
PlaySound('R_14',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := Watermelon_bet * 2;
end;
end;
7 : begin
take_score := 0;
end;
8 : begin
if (apple_bet >= 1) then
begin
PlaySound('R_18',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := apple_bet * 5;
end;
end;
9 : begin
if (Orange_bet >= 1) then
begin
PlaySound('R_17',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := Orange_bet * 2;
end;
end;
10 : begin
if (Orange_bet >= 1) then
begin
PlaySound('R_17',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := Orange_bet * right_bai;
end;
end;
11 : begin
if (bell_bet >= 1) then
begin
PlaySound('R_15',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := bell_bet * right_bai;
end;
end;
12 : begin
if (bell_bet >= 1) then
begin
PlaySound('R_15',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := bell_bet * 2;
end;
end;
13 : begin
if (seven_bet >= 1) then
begin
PlaySound('R_12',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := seven_bet * left_bai;
end;
end;
14 : begin
if (apple_bet >= 1) then
begin
PlaySound('R_18',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := apple_bet * 5;
end;
end;
15 : begin
if (apple_bet >= 1) then
begin
PlaySound('R_18',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := apple_bet * 2;
end;
end;
16 : begin
if (Lemon_bet >= 1) then
begin
PlaySound('R_16',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := Lemon_bet * right_bai;
end;
end;
17 : begin
if (star_bet >= 1) then
begin
PlaySound('R_13',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := star_bet * left_bai;
end;
end;
18 : begin
if (star_bet >= 1) then
begin
PlaySound('R_13',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := star_bet * 2;
end;
end;
19 : begin
take_score := 0;
end;
20 : begin
if (apple_bet >= 1) then
begin
PlaySound('R_18',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := apple_bet * 5;
end;
end;
21 : begin
if (seven_bet >= 1) then
begin
PlaySound('R_12',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := seven_bet * 2;
end;
end;
22 : begin
if (Orange_bet >= 1) then
begin
PlaySound('R_17',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := Orange_bet * right_bai;
end;
end;
23 : begin
if (bell_bet >= 1) then
begin
PlaySound('R_11',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := bell_bet * right_bai;
end;
end;
24 : begin
if (bar_bet >= 1) then
begin
PlaySound('R_18',hinstance,SND_ASYNC or SND_RESOURCE);
take_score := bar_bet * 50;
end;
end;
end;
runing := False;
bet_ok := False;;
re_bet := True;
bar_bet_full := False;
seven_bet_full := False;
star_bet_full := False;
Watermelon_bet_full := False;
bell_bet_full := False;
Lemon_bet_full := False;
Orange_bet_full := False;
apple_bet_full := False;
end;
procedure TForm1.bi_bai_take_allscore();
begin
case m of
1 : if (big_small = 1) then
begin
take_score := take_score * 2;
PlaySound('R_19',hinstance,SND_ASYNC or SND_RESOURCE);
end
else
begin
take_score := 0;
PlaySound('R_20',hinstance,SND_ASYNC or SND_RESOURCE);
end;
2 : if (big_small = 0) then
begin
take_score := take_score * 2;
PlaySound('R_19',hinstance,SND_ASYNC or SND_RESOURCE);
end
else
begin
take_score := 0;
PlaySound('R_20',hinstance,SND_ASYNC or SND_RESOURCE);
end;
end;
runing := False;
bet_ok := False;;
re_bet := True;
bar_bet_full := False;
seven_bet_full := False;
star_bet_full := False;
Watermelon_bet_full := False;
bell_bet_full := False;
Lemon_bet_full := False;
Orange_bet_full := False;
apple_bet_full := False;
end;
procedure TForm1.start_key();
begin
bet_all := bar_bet + seven_bet + star_bet + Watermelon_bet + bell_bet + Lemon_bet + Orange_bet + apple_bet;
if (not runing) then
begin
if (take_score >= 0) then
begin
score := take_score + score;
take_score := 0;
if (bar_bet >= 1) or (seven_bet >= 1) or (star_bet >= 1) or (Watermelon_bet >= 1) or
(bell_bet >= 1) or (Lemon_bet >= 1) or (Orange_bet >= 1) or (apple_bet >= 1) then
Begin
if re_bet then
begin
if (score >= bet_all) then
begin
score := score - bet_all;
bet_ok := True;
end
else
begin
bet_ok := False;
Exit;
end;
end;
if bet_ok then
begin
r := random(24);
Timer1.Enabled := True;
end;
end;
end;
end;
end;
procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
if (bet_x > 14) and (bet_x < 55) and (bet_y > 492) and (bet_y < 546) then //--BAR 押分
begin
if (not runing) then
begin
if (score >= 1) then
begin
if re_bet then
begin
score := take_score + score;
take_score := 0;
bar_bet := 0;
seven_bet := 0;
star_bet := 0;
Watermelon_bet := 0;
bell_bet := 0;
Lemon_bet := 0;
Orange_bet := 0;
apple_bet := 0;
re_bet := False;
end
else
begin
if (bar_bet >= 99) then
begin
bar_bet_full := True;
end
else
begin
PlaySound('R_2',hinstance,SND_ASYNC or SND_RESOURCE);
score := score - 1;
bar_bet := bar_bet + 1;
bet_ok := True;
end;
end;
end;
end;
end;
if (bet_x > 61) and (bet_x < 101) and (bet_y > 492) and (bet_y < 546) then //--77 押分
begin
if (not runing) then
begin
if (score >= 1) then
begin
if re_bet then
begin
score := take_score + score;
take_score := 0;
bar_bet := 0;
seven_bet := 0;
star_bet := 0;
Watermelon_bet := 0;
bell_bet := 0;
Lemon_bet := 0;
Orange_bet := 0;
apple_bet := 0;
re_bet := False;
end
else
begin
if (seven_bet >= 99) then
begin
seven_bet_full := True;
end
else
begin
PlaySound('R_3',hinstance,SND_ASYNC or SND_RESOURCE);
score := score - 1;
seven_bet := seven_bet + 1;
bet_ok := True;
end;
end;
end;
end;
end;
if (bet_x > 109) and (bet_x < 149) and (bet_y > 492) and (bet_y < 546) then //--star 押分
begin
if (not runing) then
begin
if (score >= 1) then
begin
if re_bet then
begin
score := take_score + score;
take_score := 0;
bar_bet := 0;
seven_bet := 0;
star_bet := 0;
Watermelon_bet := 0;
bell_bet := 0;
Lemon_bet := 0;
Orange_bet := 0;
apple_bet := 0;
re_bet := False;
end
else
begin
if (star_bet >= 99) then
begin
star_bet_full := True;
end
else
begin
PlaySound('R_4',hinstance,SND_ASYNC or SND_RESOURCE);
score := score - 1;
star_bet := star_bet + 1;
bet_ok := True;
end;
end;
end;
end;
end;
if (bet_x > 155) and (bet_x < 197) and (bet_y > 492) and (bet_y < 546) then //--西瓜 押分
begin
if (not runing) then
begin
if (score >= 1) then
begin
if re_bet then
begin
score := take_score + score;
take_score := 0;
bar_bet := 0;
seven_bet := 0;
star_bet := 0;
Watermelon_bet := 0;
bell_bet := 0;
Lemon_bet := 0;
Orange_bet := 0;
apple_bet := 0;
re_bet := False;
end
else
begin
if (Watermelon_bet >= 99) then
begin
watermelon_bet_full := True;
end
else
begin
PlaySound('R_5',hinstance,SND_ASYNC or SND_RESOURCE);
score := score - 1;
watermelon_bet := watermelon_bet + 1;
bet_ok := True;
end;
end;
end;
end;
end;
if (bet_x > 203) and (bet_x < 243) and (bet_y > 492) and (bet_y < 546) then //--鈴鐺 押分
begin
if (not runing) then
begin
if (score >= 1) then
begin
if re_bet then
begin
score := take_score + score;
take_score := 0;
bar_bet := 0;
seven_bet := 0;
star_bet := 0;
Watermelon_bet := 0;
bell_bet := 0;
Lemon_bet := 0;
Orange_bet := 0;
apple_bet := 0;
re_bet := False;
end
else
begin
if (bell_bet >= 99) then
begin
bell_bet_full := True;
end
else
begin
PlaySound('R_6',hinstance,SND_ASYNC or SND_RESOURCE);
score := score - 1;
bell_bet := bell_bet + 1;
bet_ok := True;
end;
end;
end;
end;
end;
if (bet_x > 249) and (bet_x < 289) and (bet_y > 492) and (bet_y < 546) then //--檸檬 押分
begin
if (not runing) then
begin
if (score >= 1) then
begin
if re_bet then
begin
score := take_score + score;
take_score := 0;
bar_bet := 0;
seven_bet := 0;
star_bet := 0;
Watermelon_bet := 0;
bell_bet := 0;
Lemon_bet := 0;
Orange_bet := 0;
apple_bet := 0;
re_bet := False;
end
else
begin
if (lemon_bet >= 99) then
begin
lemon_bet_full := True;
end
else
begin
PlaySound('R_7',hinstance,SND_ASYNC or SND_RESOURCE);
score := score - 1;
lemon_bet := lemon_bet + 1;
bet_ok := True;
end;
end;
end;
end;
end;
if (bet_x > 297) and (bet_x < 337) and (bet_y > 492) and (bet_y < 546) then //--橘子 押分
begin
if (not runing) then
begin
if (score >= 1) then
begin
if re_bet then
begin
score := take_score + score;
take_score := 0;
bar_bet := 0;
seven_bet := 0;
star_bet := 0;
Watermelon_bet := 0;
bell_bet := 0;
Lemon_bet := 0;
Orange_bet := 0;
apple_bet := 0;
re_bet := False;
end
else
begin
if (orange_bet >= 99) then
begin
orange_bet_full := True;
end
else
begin
PlaySound('R_8',hinstance,SND_ASYNC or SND_RESOURCE);
score := score - 1;
orange_bet := orange_bet + 1;
bet_ok := True;
end;
end;
end;
end;
end;
if (bet_x > 344) and (bet_x < 384) and (bet_y > 492) and (bet_y < 546) then //--蘋果 押分
begin
if (not runing) then
begin
if (score >= 1) then
begin
if re_bet then
begin
score := take_score + score;
take_score := 0;
bar_bet := 0;
seven_bet := 0;
star_bet := 0;
Watermelon_bet := 0;
bell_bet := 0;
Lemon_bet := 0;
Orange_bet := 0;
apple_bet := 0;
re_bet := False;
end
else
begin
if (apple_bet >= 99) then
begin
apple_bet_full := True;
end
else
begin
PlaySound('R_9',hinstance,SND_ASYNC or SND_RESOURCE);
score := score - 1;
apple_bet := apple_bet + 1;
bet_ok := True;
end;
end;
end;
end;
end;
if bar_bet_full and seven_bet_full and star_bet_full and Watermelon_bet_full and bell_bet_full and Lemon_bet_full and Orange_bet_full and apple_bet_full then
begin
start_key();
end;
end;
procedure TForm1.FormDblClick(Sender: TObject);
begin
if (not runing) then
begin
if (score >= 1) then
begin
if (score >= 792) then
begin
if re_bet then
begin
score := take_score + score;
take_score := 0;
bar_bet := 0;
seven_bet := 0;
star_bet := 0;
Watermelon_bet := 0;
bell_bet := 0;
Lemon_bet := 0;
Orange_bet := 0;
apple_bet := 0;
re_bet := False;
end
else
&