- 注册时间
- 2004-11-27
- 最后登录
- 1970-1-1
|
发表于 2006-1-27 10:14:00
|
显示全部楼层
不是很难,鄙人提供一计
因为排行榜是从高到低的,所以新加入分数是就从高到低比较,碰到比新加入的分数低的原先分数,就把他以及之后的往低移一位,最低的则丢掉.例如:
你在游戏中得到了SCORE分数,你的名字是NAME$,原先的排行榜分数是A(1),A(2),A(3)..A(N),名字是N$(1),N$(2)..N$(N)
那么:新的排行榜应该是
10 DIM N$(N+1),A(N+1):FOR I=1 TO N:IF SC>=A(I) GOTO 30
20 NEXT I:GOTO 101
30 FOR J=N TO I STEP -1:A(J+1)=A(J):N$(J+1)=N$(J):NEXT J:A(I)=SC:N$(I)=NAME$
100 OPEN "HISCORE" FOR OUTPUT AS #1:FOR I=1 TO N:WRITE #1,A(I),N$(I):NEXT I:CLOSE #1
101 END
|
|