END SHSQ:
MJ = sqrs(I)
IF MJ > 15 THEM JCOL = (MJ - 1) MOD 15+1 ELSE JCOL = MJ K=(I\N)*2+2:L=(I MOD M) * 3 + 2 COLOR JCOL: LOCATE K, L: PRINT USING "##"; MJ;
RETURN SWSQRS:
temp% = sqrs(IC): sqrs(IC) = sqrs(JC): sqrs(JC) = tempt RETURN MESHC:
MC = sqrs(M) FOR I = 0 TO M - 2 tempt = sqrs(I) FOR J=I+1TOM-1
IF temp% > sqrs(J) THEN MC = MC + 1 NEXT NEXT RETURN
7.5. ЗАДАЧА «РАССТАВЬ 8 ФЕРЗЕЙ» Файл QUEENS.BAS
DEFINT I-К
SCREEN 13
CLS
COLOR 2
PRINT " Расставьте на шахматной доске 8 ферзей"
PRINT " так, чтобы они не били друг друга."
PRINT "Используйте клавиши со стрелками и <Enter>, а для выхода q."
SLEEP 5
CLS
DRAW "bm50,5" 'построение шахматной доски
FOR j = 1 TO 8
FOR i = 1 ТО 8 GOSUB drawsqr
NEXT i NEXT j
i = 4: j = 4: DRAW "cl4": GOSUB drawghs DO
v$ = ""
DO: v$ = INKEY$: LOOP UNTIL (v$ = "q" OR LEN(v$) > 1 OR v$ = CHR$(13))
IF v$ = "q" THEN EXIT DO 'выход по запросу пользователя
di = 0: dj = О ' выбор действия
SELECT CASE RIGHT$ (v$ , 1) CASE "P": dj = 1 CASE "M": di = 1 CASE "K": di = -1 CASE "H": dj = -1
END SELECT
IF di = 0 AND dj = 0 THEN ' нарисовать фигуру GOSUB drawque