현재 위치 - 주공해몽공식사이트 - 랜덤 번호 뽑기 점술 - 제비를 뽑을 수 있는 프로그래밍에 대해서.

제비를 뽑을 수 있는 프로그래밍에 대해서.

파스칼 사용

시작

무작위화

Writeln ("축하합니다!" " , 임의 (& ltNumbers > )+ 1, "이겼다!" );

끝내다.

방송할 수 있는 프로그램? 여기는 뱀욕심 프로그램인데, 오리지널이지만, 부그 (게임에 영향을 주지 않음) 가 있는 것 같아요.

프로그램 GReedySNAKE

Crt 사용

Constup = 0;

오른쪽 =1;

Down = 2;;

왼쪽 = 3;

보통 = 0;

보너스 =1;

Shorten = 2;;

유형점 = 레코드

X, y: 정수;

끝;

Tfood 유형 = 레코드

Fpoint: 점;

Ftype:byte;;

대/소문자 바이트

보통: ();

보너스:

(b time:word;;

Bscore: byte);

단축:

(stime:word;;

S length: byte);

끝;

Var cur, bin:point;;

음식: tfood

트랙: 배열의 점 [1... 200];

Ch:char;;

Dir: 바이트;

엉덩이: 부울;

Int, length, score: 정수;

함수 pzero (p: point): 부울;

Var bool: 부울;

시작

(p.x=0) 및 (p.y=0) 인 경우

부울: = 참

기타

Bool:= false;;

Pzero: = bool;

끝;

절차 p write (p: point; Ch: char);

시작

Pzero(p) 가 아니면

시작

Gotoxy(p.x, p.y);

쓰기 (ch);

끝;

끝;

함수 psame(p, p2: point): 부울;

Var bool: 부울;

시작

(p.x=p2.x) 및 (p.y=p2.y) 인 경우

부울: = 참

기타

Bool:= false;;

P same: = bool;

끝;

프로시저 pset (var p: point; X2, y2: 정수);

시작

P.x: = x2;

P.y: = y2;

끝;

프로세스 new food (var s food: t food);

Var int2: 정수;

좋습니다: 부울;

시작

스포드로 만들다

시작

Pwrite(fpoint,'');

Ftype: = random (9);

(ftype=3) 또는 (ftype=4) 인 경우 ftype: =1;

Ftype=5 인 경우 ftype: = 2;

Ftype & gt5 인 경우 ftype:= 0;;

시나리오 유형

보통:;

보너스:

시작

Btime: = (random (3)+4) * 20; {20= 1000/50}

Bscore: = 8-(btime div 20);

끝;

단축:

시작

3> 가 그렇게 길면

Ftype:= 보통

기타

시작

Stime: = (random (3)+4) * 20;

Slength: = random (2)+1;

끝;

끝;

끝;

반복

좋습니다: = 참;

Pset(fpoint, random(78)+2, random (46)+2);

Int:= 1 끝 길이 do 의 경우

Okay:=okay and (not psame(fpoint, track [int]);

Okay:=okay and (비 psame(fpoint, cur)) and (비 psame(fpoint, bin)););

괜찮아질 때까지

시나리오 유형

보통:

시작

Textcolor (밝은 자홍색);

Pwrite(fpoint, # 3);

Textcolor (노란색);

끝;

보너스:

시작

Textbackground (빨간색);

Pwrite(fpoint,' b');

Textbackground (블랙);

끝;

단축:

시작

Textbackground (녹색);

Pwrite(fpoint,' s');

Textbackground (블랙);

끝;

끝;

끝;

끝;

프로그램 newtrack

Varint: integer;

시작

Pwrite(bin,'');

Int:= 1 끝 길이 do 의 경우

Pwrite (트랙 [int], # 219);

Textcolor (밝은 빨간색);

Pwrite(cur, # 2);

Textcolor (노란색);

Gotoxy(cur.x, cur.y);

끝;

시작

무작위화

Check break:= false;;

Textbackground (블랙);

Textcolor (노란색);

Clrscr

Writeln ('탐욕스러운 뱀');

Writeln ('사용', #27#24#25#26,' 키를 사용하여 뱀을 제어합니다.' );

Writeln ('이 버튼 중 하나를 계속 누르면 뱀이 더 빨리 달릴 수 있다.' );

Textcolor (밝은 자홍색);

쓰기 (# 3);

Textcolor (노란색);

Writeln ('보통 음식, 점수+10 을 먹었다.' );

Textbackground (빨간색);

쓰기 ('b');

Textbackground (블랙);

Writeln ('보상 음식, 점수 +40, 60, 80 을 먹으면. "어서 먹어라!" );

Writeln ('먹히면 뱀의 길이가 크게 늘어난다.' );

Writeln ('그래서 가능한 한 이런 음식을 먹어라:');

Textbackground (녹색);

쓰기 ('s');

Textbackground (블랙);

음식으로 뱀의 길이를 줄이다. 빨리! );

Writeln ('뱀의 최대 길이는 20 1 입니다.' );

Writeln ('길이가 정말 20 1 이면 게임이 끝난다.' );

Writeln ('뱀이 벽이나 몸에 부딪치지 않도록 해라!' );

Writeln(' P' 키: 일시 중지, 일시 중지 시 아무 키나 눌러 계속합니다. );

Writeln ('참고: (1) 게임 전에 Alt-Enter 를 누르는 것이 좋습니다 );

Writeln(' (2) 뱀이 너무 빨리 가면 다시 열어봐 );

Writeln ('계속하려면 아무 키나 누르십시오 ...');

Ch: = 리드 키;

Ch=#0 이면 ch:= read key;;

Clrscr

Writeln ('경험에 대해 말하기:');

Writeln('( 1) 연속', #27#24#25#26,' 키 중 하나를 누르면 뱀이 빨라진다,');

Writeln ('이거 조심해요!'' );

Writeln ('음식이 비정상인 경우에만 사용해야 한다.' );

Writeln('(2) 뱀의 길이가 너무 길면');

Writeln ('보상식품을 먹을 기회를 포기하는 것이 좋다.' );

Writeln('(3) 보너스 음식을 반복해서 쫓지 않는 게 좋을 것 같아요! ♫ );

Writeln ('뱀이 몸에 부딪힐지도 모른다.' ♫ );

경험만 이야기하다. 사용하지 마십시오. 이것이 당신의 선택입니다. );

Writeln ('계속하려면 아무 키나 누르십시오 ...');

Ch: = 리드 키;

Ch=#0 이면 ch:= read key;;

Textmode (8060);

Textbackground (블랙);

Clrscr

Textcolor (노란색);

Pset(cur, 1,1);

Int 의 경우: =1끝 100 do

Pset (트랙 [int], 0,0);

Pset(bin, 0, 0);

길이: =1;

점수: = 0;

Dir:= right;;

Textbackground (빨간색);

Gotoxy( 1, 50);

Writeln

Writeln

Textbackground (파란색);

쓰기 ('길이:', 길이+1);

Gotoxy( 1, 49);

쓰기 ('점수:', 점수);

Textbackground (블랙);

Textcolor (빨간색);

Gotoxy( 1,1);

쓰기 (# 2);

Gotoxy( 1,1);

Textcolor (노란색);

뉴푸드 (음식);

Ch: = 리드 키;

Ch=#0 이면 ch:= read key;;

반복

반복

Case food. ft 유형

보통:

시작

Textcolor (밝은 자홍색);

Pwrite(food.fpoint, # 3);

Textcolor (노란색);

끝;

보너스:

시작

Textbackground (빨간색);

Pwrite(food.fpoint,' b');

Textbackground (블랙);

끝;

단축:

시작

Textbackground (녹색);

Pwrite(food.fpoint,' s');

Textbackground (블랙);

끝;

끝;

Gotoxy(food.fpoint.x, food.f point.y);

Psame(cur, food.fpoint) 인 경우

시작

Case food. ft 유형

보통:

시작

Inc (점수);

Inc (길이);

끝;

보너스:

시작

Inc(score, food.bscore * 2);

Inc (길이, trunc (food.bscore * 2.5));

끝;

단축:

시작

For int: =1to food.s length do

시작

Pwrite (트랙 [길이-int+1],'');

Pset (트랙 [길이-int+1], 0,0);

끝;

Dec (길이, 음식, 길이);

끝;

끝;

Textbackground (파란색);

고톡시 (8,49);

쓰기 (점수 *10);

고톡시 (9,50);

Textbackground (빨간색);

클리어

Textbackground (파란색);

쓰기 (길이+1);

Textbackground (블랙);

뉴푸드 (음식);

끝;

지연 (50);

If food.ftype & lt& gt 는 평소와 같습니다

시작

Dec (food.b time);

Food.btime=0 이면

뉴푸드 (음식);

끝;

사례 디렉토리

위로:

시작

Cur.y & gt 라면 1

시작

Bin:= 레일 [길이];

길이< 인 경우 =200

For int:=length downto 1 do

레일 [int+ 1]:= 레일 [int]

기타

For int: =199 down to1do

트랙 [int+1]: = 트랙 [int];

트랙 [1]: = cur;

12 월 (현재 연도);

Newtrack

기타

Hit:= true;;

끝;

왼쪽:

시작

만약 cur.x & gt 라면 1

시작

Bin:= 레일 [길이];

길이< 인 경우 =200

For int: = length-1down to1do

레일 [int+ 1]:= 레일 [int]

기타

For int: =199 down to1do

트랙 [int+1]: = 트랙 [int];

트랙 [1]: = cur;

Dec (cur.x);

Newtrack

기타

Hit:= true;;

끝;

오른쪽:

시작

If cur.x & lt 그럼 80

시작

Bin:= 레일 [길이];

길이< 인 경우 =200

For int: = length-1down to1do

레일 [int+ 1]:= 레일 [int]

기타

For int: =199 down to1do

트랙 [int+1]: = 트랙 [int];

트랙 [1]: = cur;

Inc (cur.x);

Newtrack

기타

Hit:= true;;

끝;

아래로:

시작

If cur.y & lt 그럼 48

시작

Bin:= 레일 [길이];

길이< 인 경우 =200

For int: = length-1down to1do

레일 [int+ 1]:= 레일 [int]

기타

For int: =199 down to1do

트랙 [int+1]: = 트랙 [int];

트랙 [1]: = cur;

Inc (cur.y);

Newtrack

기타

Hit:= true;;

끝;

끝;

Int:= 1 끝 길이 do 의 경우

시작

Hit:=hit 또는 psame(cur, 트랙 [int]);

끝;

길이 & gt=200 인 경우 다음 호출: = true;

키 또는 keystroke 까지;

맞히면

기타

시작

Psame(cur, food.fpoint) 인 경우

시작

Case food. ft 유형

보통:

시작

Inc (점수);

Inc (길이);

끝;

보너스:

시작

Inc(score, food.bscore * 2);

Inc (길이, trunc (food.bscore * 2.5));

끝;

단축:

시작

For int: =1to food.s length do

시작

Pwrite (트랙 [길이-int+1],'');

Pset (트랙 [길이-int+1], 0,0);

끝;

Dec (길이, 음식, 길이);

끝;

끝;

Textbackground (파란색);

고톡시 (8,49);

쓰기 (점수 *10);

고톡시 (9,50);

Textbackground (빨간색);

클리어

Textbackground (파란색);

쓰기 (길이+1);

Textbackground (블랙);

뉴푸드 (음식);

끝;

Ch: = 리드 키;

제 1 상자

#27: 일시 중지;

#0:

시작

Ch: = 리드 키;

제 1 상자

#72:{UP}

시작

If (cur.y > 1) 및 (dir<& gt 아래) 그리고

시작

Bin:= 레일 [길이];

길이< 인 경우 =200

For int: = length-1down to1do

레일 [int+ 1]:= 레일 [int]

기타

For int: =199 down to1do

트랙 [int+1]: = 트랙 [int];

트랙 [1]: = cur;

12 월 (현재 연도);

Newtrack

Dir:= up;;

기타

디렉토리 & lt& gt 에서 다음 전화를 걸면: = true;

끝;

# 75: {왼쪽}

시작

If (cur.x > 1) 및 (dir<& gt 쌍) 그리고

시작

Bin:= 레일 [길이];

길이< 인 경우 =200

For int: = length-1down to1do

레일 [int+ 1]:= 레일 [int]

기타

For int: =199 down to1do

트랙 [int+1]: = 트랙 [int];

트랙 [1]: = cur;

Dec (cur.x);

Newtrack

Dir:= left;;

기타

디렉터리 & lt& gt 가 오른쪽 클릭한 다음: = true;

끝;

#77:{RIGHT}

시작

If (cur.x < 80) 과 (dir<& gt 왼쪽) 그리고

시작

Bin:= 레일 [길이];

길이< 인 경우 =200

For int: = length-1down to1do

레일 [int+ 1]:= 레일 [int]

기타

For int: =199 down to1do

트랙 [int+1]: = 트랙 [int];

트랙 [1]: = cur;

Inc (cur.x);

Newtrack

Dir:= right;;

기타

디렉토리 & lt& gt 가 왼쪽으로 치면: = true;

끝;

# 80:{ 아래로}

시작

If (cur.y < 48) 과 (dir<& gt 위) 그리고

시작

Bin:= 레일 [길이];

길이< 인 경우 =200

For int: = length-1down to1do

레일 [int+ 1]:= 레일 [int]

기타

For int: =199 down to1do

트랙 [int+1]: = 트랙 [int];

트랙 [1]: = cur;

Inc (cur.y);

Newtrack

Dir:= down;;

기타

디렉토리 & lt& gtup then hit:= true;; 인 경우

끝;

끝;

끝;

Else if (ch='P') 또는 (ch='p') then

시작

Ch: = 리드 키;

Ch=#0 이면 ch:= read key;;

끝;

끝;

끝;

맞을 때까지

Textmode (co80);

Textbackground (블랙);

Textcolor (노란색);

Clrscr

쓰기 (# 219 # 219 # 219);

Textcolor (밝은 빨간색);

쓰기 (# 2);

Textcolor (노란색);

Writeln ('게임 종료!' );

Writeln(' Score:', score *10);

쓰기 ('뱀 길이:');

길이 & lt200 다음 writeln (길이+1) 인 경우

Elsewriteln (201);

Writeln(' Press & lt;; 입력> 종료 ...);

Readln

끝내다.