powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Не могу сделать
14 сообщений из 14, страница 1 из 1
Не могу сделать
    #35318790
Sagi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пожалуйста очень важно!! как сделать игру крестики нолики 3*3 на QBASIC
...
Рейтинг: 0 / 0
Не могу сделать
    #35319084
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
написать?
...
Рейтинг: 0 / 0
Не могу сделать
    #35319449
Sagi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да!!
...
Рейтинг: 0 / 0
Не могу сделать
    #35319450
Фотография Николай Кальмарский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чём проблема?
...
Рейтинг: 0 / 0
Не могу сделать
    #35319460
Sagi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пожалуйста очень срочно!!!!!
...
Рейтинг: 0 / 0
Не могу сделать
    #35319469
Sagi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я уже нарисовала доску, но не знаю, как сделать, что бы крестики и нолики двигались по доске!!!!! и я ими управляла
...
Рейтинг: 0 / 0
Не могу сделать
    #35319563
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sagi пишет:
> я уже нарисовала доску, но не знаю, как сделать, что бы крестики и
> нолики двигались по доске!!!!! и я ими управляла

Эт тебе не шахматы !
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Не могу сделать
    #35319569
Фотография ДмиДми
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я в этой жизни безвозвратно упустил...
С детства знаком и с крестиками, и с ноликами, но никогда (НИКОГДА!!) они не двигались.
Тем более - по доске.
...
Рейтинг: 0 / 0
Не могу сделать
    #35319601
Sagi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите пожалуйста
...
Рейтинг: 0 / 0
Не могу сделать
    #35319606
Sagi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
точнее чтоб я стрелочками могла их ставить на то или иное место!!!
...
Рейтинг: 0 / 0
Не могу сделать
    #35319608
Фотография ДмиДми
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Генуг трепаться.
Где наработки-то?
...
Рейтинг: 0 / 0
Не могу сделать
    #35319719
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Sagi

На сайте клиент-серверных технологий довольно тяжко найти спецов по КуВасику.

Спокойной ночи...

ЗЫ. А где-то далеко в южной стране сидит простой человек и думает: "Сейчас сяду в пирогу и поеду за бананами.
...
Рейтинг: 0 / 0
Не могу сделать
    #35319772
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
DECLARE SUB ProcessKeyExt (Msg AS ANY)
DECLARE SUB MoveCur (Msg AS ANY)
DECLARE SUB PutCross (Msg AS ANY)
DECLARE SUB PutZerro (Msg AS ANY)
DECLARE SUB SetCursor (x AS LONG, y AS LONG)
DECLARE SUB DrawUI ()
DECLARE SUB InitProc ()
DECLARE SUB IdleProc ()
DECLARE SUB ProcessKey (Msg AS ANY)
DECLARE SUB NewMsg (code AS INTEGER, wParam AS LONG, lParam AS LONG, Msg AS ANY)
DECLARE SUB MainLoop ()
DECLARE SUB GetMsg (Msg AS ANY)
DECLARE SUB PutMsg (Msg AS ANY)
TYPE TRect
  x AS LONG
  y AS LONG
END TYPE
TYPE TMsg
  Msg AS INTEGER
  wParam AS LONG
  lParam AS LONG
END TYPE

CONST MsgQueueSize =  100 
CONST UIHeight =  3 
CONST UIWidth =  3 

DIM SHARED UIPict(UIWidth, UIHeight) AS STRING *  1 
DIM SHARED Cur AS TRect
DIM SHARED MsgQueue(MsgQueueSize) AS TMsg
DIM SHARED MsgHead AS INTEGER
DIM SHARED MsgTail AS INTEGER
DIM SHARED OldV AS STRING *  1 


CONST MsgNone =  0 
CONST MsgUp =  1 
CONST MsgDown =  2 
CONST MsgLeft =  3 
CONST MsgRight =  4 
CONST MsgKey =  5 
CONST MsgKeyExt =  6 
CONST MsgDraw =  7 
CONST MsgCross =  8 
CONST MsgZerro =  9 
CONST MsgQuit = - 1 

CALL InitProc
CALL MainLoop







SUB DrawUI
FOR y% =  1  TO UIHeight
  FOR x% =  1  TO UIWidth
    LOCATE y%, x%,  0 
    PRINT UIPict(x%, y%);
  NEXT
NEXT
SetCursor Cur.x, Cur.y
END SUB

SUB GetMsg (Msg AS TMsg)
IF MsgHead <> MsgTail THEN
  Msg = MsgQueue(MsgTail)
  MsgTail = MsgTail +  1 
  IF MsgTail > MsgQueueSize THEN MsgTail =  1 
ELSE
  Msg.Msg = MsgNone

END IF
END SUB

SUB IdleProc
DIM Msg AS TMsg
ch$ = INKEY$
IF LEN(ch$) =  1  THEN
  NewMsg MsgKey, ASC(ch$),  0 , Msg
  CALL PutMsg(Msg)
ELSE
  IF LEN(ch$) =  2  THEN
    NewMsg MsgKeyExt, ASC(MID$(ch$,  2 ,  1 )),  0 , Msg
    CALL PutMsg(Msg)
  END IF
END IF

END SUB

SUB InitProc
DIM Msg AS TMsg
MsgHead =  1 
MsgTail =  1 

FOR y% =  1  TO UIHeight
  FOR x% =  1  TO UIWidth
    UIPict(x%, y%) = "."
  NEXT
NEXT

NewMsg MsgDraw,  0 ,  0 , Msg
PutMsg Msg
Cur.x =  2 
Cur.y =  2 
CLS

END SUB

SUB MainLoop
DIM Msg AS TMsg
cont =  1 
WHILE cont =  1 
  IdleProc
  GetMsg Msg
  SELECT CASE Msg.Msg
  CASE MsgQuit
    cont =  0 
  CASE MsgKey
    ProcessKey Msg
  CASE MsgKeyExt
    ProcessKeyExt Msg
  CASE MsgDraw
    DrawUI
  CASE MsgCross
    PutCross Msg
  CASE MsgZerro
    PutZerro Msg
  CASE MsgUp TO MsgRight
    MoveCur Msg
  END SELECT
WEND




END SUB

SUB MoveCur (Msg AS TMsg)
DIM x AS LONG
DIM y AS LONG
x = Cur.x
y = Cur.y
SELECT CASE Msg.Msg
  CASE MsgUp
    y = y -  1 
  CASE MsgDown
    y = y +  1 
  CASE MsgRight
    x = x +  1 
  CASE MsgLeft
    x = x -  1 
END SELECT
IF x <  1  OR x > UIWidth THEN EXIT SUB
IF y <  1  OR y > UIHeight THEN EXIT SUB
CALL SetCursor(x, y)

END SUB

SUB NewMsg (code AS INTEGER, wParam AS LONG, lParam AS LONG, Msg AS TMsg)
Msg.Msg = code
Msg.wParam = wParam
Msg.lParam = lParam
END SUB

SUB ProcessKey (Msg AS TMsg)
SELECT CASE Msg.wParam
CASE  27 
  NewMsg MsgQuit,  0 ,  0 , Msg
  PutMsg Msg
CASE ASC("x"), ASC("X")
  NewMsg MsgCross, Cur.x, Cur.y, Msg
  PutMsg Msg
CASE ASC("o"), ASC("O"), ASC("0")
  NewMsg MsgZerro, Cur.x, Cur.y, Msg
  PutMsg Msg
END SELECT
  
END SUB

SUB ProcessKeyExt (Msg AS TMsg)
SELECT CASE Msg.wParam
  CASE ASC("M")
    NewMsg MsgRight,  0 ,  0 , Msg
    PutMsg Msg
  CASE ASC("K")
    NewMsg MsgLeft,  0 ,  0 , Msg
    PutMsg Msg
  CASE ASC("H")
    NewMsg MsgUp,  0 ,  0 , Msg
    PutMsg Msg
  CASE ASC("P")
    NewMsg MsgDown,  0 ,  0 , Msg
    PutMsg Msg
END SELECT

END SUB

SUB PutCross (Msg AS TMsg)
x% = Msg.wParam
y% = Msg.lParam
UIPict(x%, y%) = "X"
NewMsg MsgDraw,  0 ,  0 , Msg
PutMsg Msg
END SUB

SUB PutMsg (Msg AS TMsg)
MsgQueue(MsgHead) = Msg
MsgHead = MsgHead +  1 
IF MsgHead > MsgQueueSize THEN MsgHead =  1 
END SUB

SUB PutZerro (Msg AS TMsg)
x% = Msg.wParam
y% = Msg.lParam
UIPict(x%, y%) = "O"
NewMsg MsgDraw,  0 ,  0 , Msg
PutMsg Msg

END SUB

SUB SetCursor (x AS LONG, y AS LONG)
IF x <  1  OR x > UIWidth THEN EXIT SUB
IF y <  1  OR y > UIWidth THEN EXIT SUB
LOCATE y, x,  1 
Cur.x = x
Cur.y = y


END SUB



...
Рейтинг: 0 / 0
Не могу сделать
    #35319801
Sagi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО БОЛЬШОЕ!!!!!!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Не могу сделать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]