purebasic.info

PureBasic forum
Текущее время: Чт апр 26, 2018 8:18 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 84 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 01, 2013 10:22 pm 
Не в сети
доцент

Зарегистрирован: Вт янв 22, 2013 12:31 am
Сообщений: 46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
kvitaliy писал(а):
Там надо со вторым-третим ходом быстро решение принять. Потому обычно и проигрывают первый раз.


Ну это уже, как говорится, дело техники.

P.S Кто нибудь возмется за серверную часть, в то время как я сделаю клиентскую?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 01, 2013 10:38 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 80 раз.
Пункты репутации: 24
Я возьмусь, если не против. Ты же на PHP сервер планируешь?

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 01, 2013 10:44 pm 
Не в сети
доцент

Зарегистрирован: Вт янв 22, 2013 12:31 am
Сообщений: 46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Мне лично все равно на чем он написать. Главное что бы работал. Так что делай на чем тебе легче.

Думаю использовать бесплатный хостинг (PHP & 2 MySQL базы)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 01, 2013 11:12 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 80 раз.
Пункты репутации: 24
Onny, воспользуемся моим, платным. У меня на нём форум, но людей нет, т.к. инфой не заполняю. Хост Peterhost. Нормальный хостинг, без тормозов.

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 01, 2013 11:15 pm 
Не в сети
доцент

Зарегистрирован: Вт янв 22, 2013 12:31 am
Сообщений: 46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Как хочешь :)

Кстати почти доделал вторую версии кода средней сложности.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 01, 2013 11:17 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 80 раз.
Пункты репутации: 24
Это хорошо. 8) А в игре чат будем делать?

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 01, 2013 11:20 pm 
Не в сети
доцент

Зарегистрирован: Вт янв 22, 2013 12:31 am
Сообщений: 46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Это уже как получится. Сначало нужно саму игру переделать под интернет, а там и чат можно приделать :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 01, 2013 11:59 pm 
Не в сети
доцент

Зарегистрирован: Вт янв 22, 2013 12:31 am
Сообщений: 46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Вот наконец таки доделал. Теперь он помимо зашиты ищет выигрышные ситуации для себя.

Коменты на английском, так как Widnows не русифицированна :(
Код:
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
Enumeration ;Привет
  #Window_0
  #Button_1
  #Button_2
  #Button_3
  #Button_4
  #Button_5
  #Button_6
  #Button_7
  #Button_8
  #Button_9
  #Button_Reset
EndEnumeration
 
Global Player
Global Dim Table.l(9)
 
Procedure DisableGadgets() ; Disable gadgets after the end of the game
  For i = 1 To 9
    DisableGadget(i,1)
  Next
EndProcedure
 
Procedure IsDraw() ; Checks if there is a draw
  For i = 1 To 9
    If Table(i) = 0
      ProcedureReturn 0
    EndIf
  Next
  ProcedureReturn 1
EndProcedure
 
 
Procedure IsWin(a,b,c) ; Uses a,b and c to check if there is a winner here
  If Table(a) = Player And Table(b) = Player And Table(c) = Player    
    DisableGadgets()
    ProcedureReturn 1
  Else
    ProcedureReturn 0
  EndIf
EndProcedure
 
Procedure Check() ; Checks if there is a winner
  If     IsWin(1,2,3):ProcedureReturn Player
  ElseIf IsWin(4,5,6):ProcedureReturn Player
  ElseIf IsWin(7,8,9):ProcedureReturn Player
  ElseIf IsWin(1,4,7):ProcedureReturn Player
  ElseIf IsWin(2,5,8):ProcedureReturn Player
  ElseIf IsWin(3,6,9):ProcedureReturn Player
  ElseIf IsWin(1,5,9):ProcedureReturn Player
  ElseIf IsWin(3,5,7):ProcedureReturn Player
  Else
    ProcedureReturn 0
  EndIf
EndProcedure
 
Procedure CpuAttack(a,b,c) ; Make CPU dessition
  ;--------------------------------------------------------- Attack
  If Table(a)=2 And Table(b)=2 And Table(c) = 0
    Debug "Attack"
    Table(c)=2 : SetGadgetText(c,"O"):DisableGadget(c,1)
    ProcedureReturn 1
  ElseIf Table(a)=2 And Table(c)=2 And Table(b) = 0
    Debug "Attack"
    Table(b)=2 : SetGadgetText(b,"O"):DisableGadget(b,1)
    ProcedureReturn 1
  ElseIf Table(b)=2 And Table(c)=2 And Table(a) = 0
    Debug "Attack"
    Table(a)=2 : SetGadgetText(a,"O"):DisableGadget(a,1)
    ProcedureReturn 1
      Else  
    ProcedureReturn 0
  EndIf
EndProcedure
 
Procedure CpuDefence(a,b,c)
      ;--------------------------------------------------------- Defence
  If Table(a)=1 And Table(b)=1 And Table(c) = 0
    Debug "Defence"
    Table(c)=2 : SetGadgetText(c,"O"):DisableGadget(c,1)
    ProcedureReturn 1
  ElseIf Table(a)=1 And Table(c)=1 And Table(b) = 0
    Debug "Defence"
    Table(b)=2 : SetGadgetText(b,"O"):DisableGadget(b,1)
    ProcedureReturn 1
  ElseIf Table(b)=1 And Table(c)=1 And Table(a) = 0
    Debug "Defence"
    Table(a)=2 : SetGadgetText(a,"O"):DisableGadget(a,1)
    ProcedureReturn 1
  Else  
    ProcedureReturn 0
  EndIf
EndProcedure
 
Procedure CPU()
  Delay(500)
  Debug "CPU"
  If CpuAttack(1,2,3):Debug "1,2,3"
  ElseIf CpuAttack(4,5,6):Debug "4,5,6"
  ElseIf CpuAttack(7,8,9):Debug "7,8,9"
  ElseIf CpuAttack(1,4,7):Debug "1,4,7"
  ElseIf CpuAttack(2,5,8):Debug "2,5,8"
  ElseIf CpuAttack(3,6,9):Debug "3,6,9"
  ElseIf CpuAttack(1,5,9):Debug "1,5,9"
  ElseIf CpuAttack(3,5,7):Debug "3,5,7"
   
  ElseIf CpuDefence(1,2,3):Debug "1,2,3"
  ElseIf CpuDefence(4,5,6):Debug "4,5,6"
  ElseIf CpuDefence(7,8,9):Debug "7,8,9"
  ElseIf CpuDefence(1,4,7):Debug "1,4,7"
  ElseIf CpuDefence(2,5,8):Debug "2,5,8"
  ElseIf CpuDefence(3,6,9):Debug "3,6,9"
  ElseIf CpuDefence(1,5,9):Debug "1,5,9"
  ElseIf CpuDefence(3,5,7):Debug "3,5,7"
   
  Else
    Repeat
      Pos = Random(8)+1
      If Table(Pos) = 0
        Table(Pos) = 2
        SetGadgetText(Pos,"O"):DisableGadget(Pos,1)
        Exit=1
        Debug "Random"
      EndIf
    Until Exit = 1
  EndIf
EndProcedure
 
LoadFont(0, "Arial", 52):SetGadgetFont(#PB_Default, FontID(0))
LoadFont(1, "Arial", 20)
 
OpenWindow(#Window_0, 551, 334, 400, 281, "Tic Tac Toe",  #PB_Window_SystemMenu | #PB_Window_TitleBar )
ButtonGadget(#Button_1, 10, 10,   80, 80, "")
ButtonGadget(#Button_2, 100, 10,  80, 80, "")
ButtonGadget(#Button_3, 190, 10,  80, 80, "")
ButtonGadget(#Button_4, 10,  100, 80, 80, "")
ButtonGadget(#Button_5, 100, 100, 80, 80, "")
ButtonGadget(#Button_6, 190, 100, 80, 80, "")
ButtonGadget(#Button_7, 10,  190, 80, 80, "")
ButtonGadget(#Button_8, 100, 190, 80, 80, "")
ButtonGadget(#Button_9, 190, 190, 80, 80, "")
ButtonGadget(#Button_Reset, 340, 10, 35, 260, "RESET",#PB_Button_MultiLine):SetGadgetFont(#Button_Reset, FontID(1))
 
Player = 1      
 
Repeat
  Event = WindowEvent()
  If Event = #PB_Event_Gadget
    If EventGadget() <> #Button_Reset
      Table(EventGadget()) = 1
      SetGadgetText(EventGadget(),"X"):DisableGadget(EventGadget(),1)
      If Check() = 1
        Debug "Player 1 Win"
      ElseIf IsDraw()
        Debug "Draw"
      Else
        Player+1
        CPU()
        If Check() = 2
          Debug "Player 2 Win"
        ElseIf IsDraw()
          Debug "Draw"
        EndIf
        Player-1
      EndIf
    EndIf
  EndIf
 
 
  If EventGadget() = #Button_Reset
    For i = 1 To 9
      SetGadgetText(i,"")
      DisableGadget(i,0)
      Table(i)=0
    Next
    Player=1
  EndIf
Until Event = #PB_Event_CloseWindow



Последний раз редактировалось Onny Сб фев 02, 2013 3:08 pm, всего редактировалось 2 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб фев 02, 2013 12:42 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11108
Благодарил (а): 4 раз.
Поблагодарили: 395 раз.
Onny писал(а):
Widnows не русифицированна
Если текст в UTF-8, тоже проблема с кириллицей?

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб фев 02, 2013 1:06 am 
Не в сети
доцент

Зарегистрирован: Вт янв 22, 2013 12:31 am
Сообщений: 46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Да. Она и не локализированна. А без прав админа это не исправить.

Вот что с UTF-8

http://s53.radikal.ru/i140/1302/dd/e6ff657a712b.jpg


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб фев 02, 2013 2:31 pm 
Не в сети
доцент

Зарегистрирован: Вт янв 22, 2013 12:31 am
Сообщений: 46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Вот пока скелет программы с чатом. А над способом передачи координат и сообщений нужно еще подумать.

http://upwap.ru/2998116

Опять не могу прикрпить вложение. Пишет "Расширение запрещено администратором" при попытку загрузить обычный zip архив


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб фев 02, 2013 2:44 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 80 раз.
Пункты репутации: 24
Onny писал(а):
Вот наконец таки доделал. Теперь он помимо зашиты ищет выигрышные ситуации для себя
Немного не доделано. Вот картинка:
Изображение

Все фигуры стояли именно так. Он поставил нолик в красную клетку, потому что там угроза. Но если бы он поставил в зелёную клетку, он бы выиграл. А так ничья 8)

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб фев 02, 2013 3:06 pm 
Не в сети
доцент

Зарегистрирован: Вт янв 22, 2013 12:31 am
Сообщений: 46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Блин, почему я сам до этого не додумался :(

Код уже переделал (и Reset теперь должно правильно отображаться)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб фев 02, 2013 3:32 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 80 раз.
Пункты репутации: 24
Теперь всё норм. Но я всё равно выграл :D :D :D

Onny писал(а):
и Reset теперь должно правильно отображаться
Правильно отображается

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб фев 02, 2013 3:44 pm 
Не в сети
доцент

Зарегистрирован: Вт янв 22, 2013 12:31 am
Сообщений: 46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Ну тогда все :)

Теперь можно и за интернетовскую верию взяться.
Как будем информацию передавать?


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 84 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB