Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Не могу сделать / 14 сообщений из 14, страница 1 из 1
17.05.2008, 16:46
    #35318790
Sagi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать
Пожалуйста очень важно!! как сделать игру крестики нолики 3*3 на QBASIC
...
Рейтинг: 0 / 0
18.05.2008, 01:46
    #35319084
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать
написать?
...
Рейтинг: 0 / 0
18.05.2008, 19:14
    #35319449
Sagi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать
да!!
...
Рейтинг: 0 / 0
18.05.2008, 19:16
    #35319450
Николай Кальмарский
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать
А в чём проблема?
...
Рейтинг: 0 / 0
18.05.2008, 19:24
    #35319460
Sagi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать
Пожалуйста очень срочно!!!!!
...
Рейтинг: 0 / 0
18.05.2008, 19:31
    #35319469
Sagi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать
я уже нарисовала доску, но не знаю, как сделать, что бы крестики и нолики двигались по доске!!!!! и я ими управляла
...
Рейтинг: 0 / 0
18.05.2008, 21:12
    #35319563
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать
Sagi пишет:
> я уже нарисовала доску, но не знаю, как сделать, что бы крестики и
> нолики двигались по доске!!!!! и я ими управляла

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

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

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

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


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