利用计算机或图形计算器在,利用图形计算器编写趣味数字游戏

利用图形计算器编写趣味数字游戏

陕西省西安市第一中学高三

刘曜、权力

【问题起源】

一些小型电子设备上常会有一些数字游戏,很有趣。例如计算机随机输出1个3位数,但是不予显示,要求玩家在最短的时间内把它猜出,而计算机可以提示玩家你猜的数字中有几位数字在位数上正确,有几个数字和正确数字一样。例如需要猜的数字为256,若第一次猜123,则计算机会告诉玩家猜的数里有0个数字猜对了并且所在位数也正确,有1个数字猜对了但是所在位数不一样。

【关键词】 图形计算器 编程 随机流

【程序实现】

以下就是对这个游戏的程序实现:

程序文件名:[GAME]

注:

1.灰色字体为程序注解,原程序中不出现

2.其中word文本格式中自带的换行符即代表程序的换行符

/---------------------------------------------------------------------------------------------------------/

“=======NUMBER GAME========”

/游戏开始的界面/

“LET’S

GUESS THE NUM!” ◢

Do

0→F

If

F=0

Then

“--------MENU---------”

/游戏的菜单界面/

“1

→ START THE

GAME”

/支持4个菜单选项/

“2

→ HOW TO

PLAY”

“3

→ SCORE”

“4

→ CLEAN

SCORE”

Do

”?→F

LpWhile

F≠1 And F≠2 And F≠3 And F≠4

IfEnd

If

F=2

Then

“----HOW TO PLAY ?----” ◢/进入游戏帮助界面,介绍游戏玩法/

“1.THE

COMPUTER WILL MAKE AN ARBITRARY NUMBER FROM 0 TO 999,And YOU MUST

GUESS IT OUT

” ◢

“2.THE

COMPUTER WILL TELL YOU HOW MANY NUMS YOU INPUT IS RIGHT”

“3.’C:’MEANS HOW MANY NUM IS RIGHT,’U:’HOW MANY NUM

USED,’L:’LAST NUM YOU TRIED.” ◢

“4.EX.IF

THE RIGHT NUM IS

919” ◢

“And YOU

INPUT 909,IT WILL SAY:” ◢

“C:2”

“U:1”

“L:909” ◢

“5.IF YOU

TRIED MORE THAN 6 TIMES,THE COMPUTER WILL LAUGH AT YOU.IF MORE THAN

15 TIMES……”◢

“6.IF YOU

WANT TO GIVE UP And WANT TO KNOW THE RIGHT NUM,PLEASE INPUT

-1” ◢

“7.SCORE

RULE:” ◢

1→3 TIMES:+50

4→6 TIMES:+10

7→10 TIMES:+1

11→15 TIMES:-10

≥16

TIMES:-50” ◢

IfEnd

/---------------------------------------------------------------------------------------------------------/

If

F=3

Then

“-------SCORES-------” ◢/游戏积分系统,暂时只支持记录4位玩家/

“---PLAYER1---”

“TIMES:”:G◢

“SCORE:”:S◢

“---PLAYER2---”

“TIMES:”:H◢

“SCORE:”:T◢

“---PLAYER3---”

“TIMES:”:I◢

“SCORE:”:K◢

“---PLAYER4---”

“TIMES:”:J◢

“SCORE:”:U◢

IfEnd

/---------------------------------------------------------------------------------------------------------/

If

F=4

Then

“--------CLEAN--------”

/游戏初始化设置,玩家输入预设密码即可操作/

“PLEASE

INPUT THE KEY:(INPUT 0 TO EXIT)”

Do

?→L

If

L≠0 And L≠2.718281828

Then “KEY

IS WRONG!”

IfEND

LpWhile

L≠0 And L≠2.718281828

If

L=2.718281828

Then

1000→G

1000→H

1000→I

1000→J

0→S

0→T

0→K

0→U

“ALL

SCORES CLEANED!” ◢

IfEnd

IfEnd

LpWhile

F≠1

/---------------------------------------------------------------------------------------------------------/

Do “---WHO

ARE YOU?---”

/玩家登陆界面,支持4位注册玩家和游客/

“1

→ PLAYER1”

“2

→ PLAYER2”

“3

→ PLAYER3”

“4

→ PLAYER4”

“5

→ GUEST”

Do

?→r

LpWhile

r≠1 And r≠2 And r≠3 And r≠4 And r≠5

If

r=1

/分别输入玩家自己的密码,密码由编者提前在程序中录入/

Then

2.718281828→C

IfEnd

If

r=2

Then

1346852790→C

IfEnd

If

r=3

Then

852456→C

IfEnd

If

r=4

Then

1234567→C

IfEnd

If

r≠5

Then

“PLEASE INPUT KET:”

?→B

If

B=C

Then “KEY

IS PASS!” ◢

Else “KEY

IS WRONG!” ◢

0→r

IfEnd

IfEnd

/---------------------------------------------------------------------------------------------------------/

/以下为游戏主程序/

LpWhile

r≠1 And r≠2 And r≠3 And r≠4 And r≠5

INT

(RAN#×10)→A

/自动生成随机数/

INT

(RAN#×10)→B

INT

(RAN#×10)→C

A×100+B×10+C→E

0→R

Do

Do

“INPUT A

NUM IN[0,999]”

“TIMES:”

(R+1) ◢

/---------------------------------------------------------------------------------------------------------/

?→D

/玩家输入所猜的数字/

0→θ

If

D=3.1415926

/本游戏的隐藏秘籍,输入圆周率可进行作弊,直接胜利,但个人成绩不会更新/

Then

1→θ:E→D

IfEnd

LpWhile

(D-INT D≠0) OR D≥1000

OR D<-1

If

D≠-1

/输入-1认输可看到答案/

Then

INT(D÷100)→M

INT

((D-100×M)÷10)→N

D-100×M-10×N→O

0→P

0→Q

0→V

0→W

If

M=A

Then

P+1→P

Q+1→Q

If

M=N

Then

1→V

IfEnd

If

M=0

Then

1→W

IfEnd

Else If

M=B OR M=C

Then

Q+1→Q

If

M=N

Then

1→V

IfEnd

If

M=O

Then

1→W

IfEnd

IfEnd

IfEnd

If

N=B

Then

P+1→P

If

V≠1

Then

Q+1→Q

IfEnd

If

N=O

Then

1→W

IfEnd

Else If

N=A OR N=C

Then If

V≠1

Then

Q+1→Q

IfEnd

If

N=O

Then

1→W

IfEnd

IfEnd

IfEnd

If

O=C

Then

P+1→P

If

W≠1

Then

Q+1→Q

IfEnd

Else If

O=A OR O=B

Then If

W≠1

Then

Q+1→Q

IfEnd

IfEnd

IfEnd

/---------------------------------------------------------------------------------------------------------/

“C:”

/每猜一次计算机给玩家的线索提示/

P◢

“U:”

Q◢

R+1→R

“L:”

D◢

/---------------------------------------------------------------------------------------------------------/

If D=E

And θ≠1

/游戏结束后的计分系统/

Then If

R≤3

Then

50→Z

Else If

R≤6

Then

10→Z

Else If

R≤10

Then

1→Z

Else If

R≤15

Then

-10→Z

Else

-50→Z

IfEnd

IfEnd

IfEnd

IfEnd

If

r=1

Then

Z+S→S

If

R<G

Then

R→G

IfEnd

IfEnd

If

r=2

Then

Z+T→T

If

R<H

Then

R→H

IfEnd

IfEnd

If

r=3

Then

Z+K→K

If

R<I

Then

R→I

IfEnd

IfEnd

If

r=4

Then

Z+U→U

If

R<J

Then

R→J

IfEnd

IfEnd

IfEnd

LpWhile

D≠E

/---------------------------------------------------------------------------------------------------------/

If

R<9

/游戏结束后的不同结局/

Then

“CONGRATULATIONS!”

“YOU ARE

CLEVER!”

Else If

R≥11

Then If

R≤15

Then “YOU

ARE FOOL!”

Else

“YOU’VE TRIED:”

R

“BECAUSE

YOU ARE TOO STUPID ,SO THE SYSTEM WILL BE CRAZY!”

While

0=0

“FOOL”

FOOL”

WHILEEND

IfEnd

Else “YOU

SHOULD WORK HARDER!”

IfEnd

IfEnd

“YOU’VE

TRIED:”

R◢

“THE RIGHT

NUM IS:”

E◢

Else “OH

NO, YOU LOST!”

“YOU’VE

TRIED:”

R◢

“THE RIGHT

NUM IS:”

E◢

/---------------------------------------------------------------------------------------------------------/

Prog

“[GAME]”

/重新载入游戏/

IfEnd

/---------------------------------------------------------------------------------------------------------/

/程序结束/

【程序小结】

游戏实现了简单的游戏操作和基本的可视化界面。

添加了玩家登陆系统和积分系统,还有重置系统。

另外还添加了游戏秘籍等附加功能。

【小结与反思】

在计算器中实现这种程序非常有限制,存储单元有限,所以程序会略显麻烦。

通过用计算器编程,帮我建立了更为完整和全面的思维体系,对于数学逻辑思维的强化可以使我们把这种思维方式运用到今后更广泛的学习领域去,可以使我受益匪浅!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值