Jump to content

Connect-4 Game Not Working


Rashed

Recommended Posts

this code for connect 4 game doesnt work (buzzen)

 

;Connect-4 Game
;;;;; Menu ;;;;;
menu menubar {
-
Connect-4
.Status
..On { /c4.start | c4info $chan (*) Connect-4 ON (*) | c4info $chan Type !c4play (nick) to play with nick :) }
..Off { /c4.stop | c4info $chan (*) Connect-4 OFF (*) }
.Stop { /c4 off | msg (*) Connect-4 Stopped !! (*) }
-
}
;;;;;; Remotes ;;;;;;
on level7:TEXT:@c4off:#:{ c4 off | /c4.stop | c4info $chan (*) Connect-4 Game is now Off }
on level7:TEXT:@c4on:#:{ /c4.start | c4info $chan (*) Connect-4 Game is now On | c4info $chan Type !c4play (nick) to play with nick :) }
on level7:TEXT:@c4stop:#:{ c4 off | c4info_err $chan connect-4 Stopped }
;;;;;; aliases ;;;;;;
alias c4info { /msg $1 S Comic\bSans\bMS;0 $2- }
alias c4info_err { /msg $1 S eComic\bSans\bMS;0 $2- }
alias c4.init {
%c4.turn = $r(1,2)
%c4.times = 0
%col.a = 0
%col.b = 0
%col.c = 0
%col.d = 0
%col.e = 0
%col.f = 0
%col.g = 0
%c4.a.1 = (E)
%c4.a.2 = (E)
%c4.a.3 = (E)
%c4.a.4 = (E)
%c4.a.5 = (E)
%c4.a.6 = (E)
%c4.b.1 = (E)
%c4.b.2 = (E)
%c4.b.3 = (E)
%c4.b.4 = (E)
%c4.b.5 = (E)
%c4.b.6 = (E)
%c4.c.1 = (E)
%c4.c.2 = (E)
%c4.c.3 = (E)
%c4.c.4 = (E)
%c4.c.5 = (E)
%c4.c.6 = (E)
%c4.d.1 = (E)
%c4.d.2 = (E)
%c4.d.3 = (E)
%c4.d.4 = (E)
%c4.d.5 = (E)
%c4.d.6 = (E)
%c4.e.1 = (E)
%c4.e.2 = (E)
%c4.e.3 = (E)
%c4.e.4 = (E)
%c4.e.5 = (E)
%c4.e.6 = (E)
%c4.f.1 = (E)
%c4.f.2 = (E)
%c4.f.3 = (E)
%c4.f.4 = (E)
%c4.f.5 = (E)
%c4.f.6 = (E)
%c4.g.1 = (E)
%c4.g.2 = (E)
%c4.g.3 = (E)
%c4.g.4 = (E)
%c4.g.5 = (E)
%c4.g.6 = (E)
}
alias c4.start {
enable #c4
set %c4.1 (*)
set %c4.2 (S)
%c4.sep = $chr(124)
c4.init
%hor = 

}
alias c4.stop {
disable #c4
unset %c4*
}
alias c4 {
if ($1 == on) { set %c4.stat on }
else { set %c4.stat off }
}
alias c4_stat { return c4.stat }
alias showc4 {
%c4.line = %hor %c4.sep %c4.a.6 %c4.sep %c4.b.6 %c4.sep %c4.c.6 %c4.sep %c4.d.6 %c4.sep %c4.e.6 %c4.sep %c4.f.6 %c4.sep %c4.g.6 %c4.sep %hor %c4.sep %c4.a.5 %c4.sep %c4.b.5 %c4.sep %c4.c.5 %c4.sep %c4.d.5 %c4.sep %c4.e.5 %c4.sep %c4.f.5 %c4.sep %c4.g.5 %c4.sep %hor %c4.sep %c4.a.4 %c4.sep %c4.b.4 %c4.sep %c4.c.4 %c4.sep %c4.d.4 %c4.sep %c4.e.4 %c4.sep %c4.f.4 %c4.sep %c4.g.4 %c4.sep %hor %c4.sep %c4.a.3 %c4.sep %c4.b.3 %c4.sep %c4.c.3 %c4.sep %c4.d.3 %c4.sep %c4.e.3 %c4.sep %c4.f.3 %c4.sep %c4.g.3 %c4.sep %hor %c4.sep %c4.a.2 %c4.sep %c4.b.2 %c4.sep %c4.c.2 %c4.sep %c4.d.2 %c4.sep %c4.e.2 %c4.sep %c4.f.2 %c4.sep %c4.g.2 %c4.sep %hor %c4.sep %c4.a.1 %c4.sep %c4.b.1 %c4.sep %c4.c.1 %c4.sep %c4.d.1 %c4.sep %c4.e.1 %c4.sep %c4.f.1 %c4.sep %c4.g.1 %c4.sep %hor player with (*) : %c4p.1 - player with (S) : %c4p.2 - Turn : %c4p. [ $+ [ %c4.turn ] ]
msg $chan S Tahoma;0 %hor --[A]------[C]---[D]---[E]---[F]---[G]--
msg $chan S Tahoma;0 %c4.line
}
alias checkplace {
if (%col. [ $+ [ $1 ] ] == 6) { c4info_err $chan There's no place in column $upper($2) $nick !! | halt }
elseif (%col. [ $+ [ $1 ] ] < 6) {
inc %col. [ $+ [ $1 ] ]
set %colnum %col. [ $+ [ $1 ] ]
%c4. [ $+ [ $1 ] $+ . $+ [ %colnum ] ] = %c4. [ $+ [ %c4.turn ] ]
%c4.place = $true
}
return %c4.place
halt
}
alias c4.checknext {
if ($checkwin(%c4. [ $+ [ %c4.turn ] ]) == $true) {
showc4
c4info $chan (*) %c4p. [ $+ [ %c4.turn ] ] won !! (*)
c4 off
halt
}
if (%c4.times == 42) {
c4info $chan Drawn !! (N)
c4 off
halt
}
else {
set %c4.turn $calc(3 - %c4.turn)
showc4
halt
}
}
alias checkwin {
%c4.win = $false
%c4.winline = $str($1,4)
if (%c4.a.6 $+ %c4.b.6 $+ %c4.c.6 $+ %c4.d.6 == %c4.winline) { %c4.win = $true }
if (%c4.a.5 $+ %c4.b.5 $+ %c4.c.5 $+ %c4.d.5 == %c4.winline) { %c4.win = $true }
if (%c4.a.4 $+ %c4.b.4 $+ %c4.c.4 $+ %c4.d.4 == %c4.winline) { %c4.win = $true }
if (%c4.a.3 $+ %c4.b.3 $+ %c4.c.3 $+ %c4.d.3 == %c4.winline) { %c4.win = $true }
if (%c4.a.2 $+ %c4.b.2 $+ %c4.c.2 $+ %c4.d.2 == %c4.winline) { %c4.win = $true }
if (%c4.a.1 $+ %c4.b.1 $+ %c4.c.1 $+ %c4.d.1 == %c4.winline) { %c4.win = $true }
if (%c4.b.6 $+ %c4.c.6 $+ %c4.d.6 $+ %c4.e.6 == %c4.winline) { %c4.win = $true }
if (%c4.b.5 $+ %c4.c.5 $+ %c4.d.5 $+ %c4.e.5 == %c4.winline) { %c4.win = $true }
if (%c4.b.4 $+ %c4.c.4 $+ %c4.d.4 $+ %c4.e.4 == %c4.winline) { %c4.win = $true }
if (%c4.b.3 $+ %c4.c.3 $+ %c4.d.3 $+ %c4.e.3 == %c4.winline) { %c4.win = $true }
if (%c4.b.2 $+ %c4.c.2 $+ %c4.d.2 $+ %c4.e.2 == %c4.winline) { %c4.win = $true }
if (%c4.b.1 $+ %c4.c.1 $+ %c4.d.1 $+ %c4.e.1 == %c4.winline) { %c4.win = $true }
if (%c4.c.6 $+ %c4.d.6 $+ %c4.e.6 $+ %c4.f.6 == %c4.winline) { %c4.win = $true }
if (%c4.c.5 $+ %c4.d.5 $+ %c4.e.5 $+ %c4.f.5 == %c4.winline) { %c4.win = $true }
if (%c4.c.4 $+ %c4.d.4 $+ %c4.e.4 $+ %c4.f.4 == %c4.winline) { %c4.win = $true }
if (%c4.c.3 $+ %c4.d.3 $+ %c4.e.3 $+ %c4.f.3 == %c4.winline) { %c4.win = $true }
if (%c4.c.2 $+ %c4.d.2 $+ %c4.e.2 $+ %c4.f.2 == %c4.winline) { %c4.win = $true }
if (%c4.c.1 $+ %c4.d.1 $+ %c4.e.1 $+ %c4.f.1 == %c4.winline) { %c4.win = $true }
if (%c4.d.6 $+ %c4.e.6 $+ %c4.f.6 $+ %c4.g.6 == %c4.winline) { %c4.win = $true }
if (%c4.d.5 $+ %c4.e.5 $+ %c4.f.5 $+ %c4.g.5 == %c4.winline) { %c4.win = $true }
if (%c4.d.4 $+ %c4.e.4 $+ %c4.f.4 $+ %c4.g.4 == %c4.winline) { %c4.win = $true }
if (%c4.d.3 $+ %c4.e.3 $+ %c4.f.3 $+ %c4.g.3 == %c4.winline) { %c4.win = $true }
if (%c4.d.2 $+ %c4.e.2 $+ %c4.f.2 $+ %c4.g.2 == %c4.winline) { %c4.win = $true }
if (%c4.d.1 $+ %c4.e.1 $+ %c4.f.1 $+ %c4.g.1 == %c4.winline) { %c4.win = $true }
if (%c4.a.1 $+ %c4.a.2 $+ %c4.a.3 $+ %c4.a.4 == %c4.winline) { %c4.win = $true }
if (%c4.b.1 $+ %c4.b.2 $+ %c4.b.3 $+ %c4.b.4 == %c4.winline) { %c4.win = $true }
if (%c4.c.1 $+ %c4.c.2 $+ %c4.c.3 $+ %c4.c.4 == %c4.winline) { %c4.win = $true }
if (%c4.d.1 $+ %c4.d.2 $+ %c4.d.3 $+ %c4.d.4 == %c4.winline) { %c4.win = $true }
if (%c4.e.1 $+ %c4.e.2 $+ %c4.e.3 $+ %c4.e.4 == %c4.winline) { %c4.win = $true }
if (%c4.f.1 $+ %c4.f.2 $+ %c4.f.3 $+ %c4.f.4 == %c4.winline) { %c4.win = $true }
if (%c4.g.1 $+ %c4.g.2 $+ %c4.g.3 $+ %c4.g.4 == %c4.winline) { %c4.win = $true }
if (%c4.a.2 $+ %c4.a.3 $+ %c4.a.4 $+ %c4.a.5 == %c4.winline) { %c4.win = $true }
if (%c4.b.2 $+ %c4.b.3 $+ %c4.b.4 $+ %c4.b.5 == %c4.winline) { %c4.win = $true }
if (%c4.c.2 $+ %c4.c.3 $+ %c4.c.4 $+ %c4.c.5 == %c4.winline) { %c4.win = $true }
if (%c4.d.2 $+ %c4.d.3 $+ %c4.d.4 $+ %c4.d.5 == %c4.winline) { %c4.win = $true }
if (%c4.e.2 $+ %c4.e.3 $+ %c4.e.4 $+ %c4.e.5 == %c4.winline) { %c4.win = $true }
if (%c4.f.2 $+ %c4.f.3 $+ %c4.f.4 $+ %c4.f.5 == %c4.winline) { %c4.win = $true }
if (%c4.g.2 $+ %c4.g.3 $+ %c4.g.4 $+ %c4.g.5 == %c4.winline) { %c4.win = $true }
if (%c4.a.3 $+ %c4.a.4 $+ %c4.a.5 $+ %c4.a.6 == %c4.winline) { %c4.win = $true }
if (%c4.b.3 $+ %c4.b.4 $+ %c4.b.5 $+ %c4.b.6 == %c4.winline) { %c4.win = $true }
if (%c4.c.3 $+ %c4.c.4 $+ %c4.c.5 $+ %c4.c.6 == %c4.winline) { %c4.win = $true }
if (%c4.d.3 $+ %c4.d.4 $+ %c4.d.5 $+ %c4.d.6 == %c4.winline) { %c4.win = $true }
if (%c4.e.3 $+ %c4.e.4 $+ %c4.e.5 $+ %c4.e.6 == %c4.winline) { %c4.win = $true }
if (%c4.f.3 $+ %c4.f.4 $+ %c4.f.5 $+ %c4.f.6 == %c4.winline) { %c4.win = $true }
if (%c4.g.3 $+ %c4.g.4 $+ %c4.g.5 $+ %c4.g.6 == %c4.winline) { %c4.win = $true }
if (%c4.a.1 $+ %c4.b.2 $+ %c4.c.3 $+ %c4.d.4 == %c4.winline) { %c4.win = $true }
if (%c4.a.2 $+ %c4.b.3 $+ %c4.c.4 $+ %c4.d.5 == %c4.winline) { %c4.win = $true }
if (%c4.a.3 $+ %c4.b.4 $+ %c4.c.5 $+ %c4.d.6 == %c4.winline) { %c4.win = $true }
if (%c4.b.1 $+ %c4.c.2 $+ %c4.d.3 $+ %c4.e.4 == %c4.winline) { %c4.win = $true }
if (%c4.b.2 $+ %c4.c.3 $+ %c4.d.4 $+ %c4.e.5 == %c4.winline) { %c4.win = $true }
if (%c4.b.3 $+ %c4.c.4 $+ %c4.d.5 $+ %c4.e.6 == %c4.winline) { %c4.win = $true }
if (%c4.c.1 $+ %c4.d.2 $+ %c4.e.3 $+ %c4.f.4 == %c4.winline) { %c4.win = $true }
if (%c4.c.2 $+ %c4.d.3 $+ %c4.e.4 $+ %c4.f.5 == %c4.winline) { %c4.win = $true }
if (%c4.c.3 $+ %c4.d.4 $+ %c4.e.5 $+ %c4.f.6 == %c4.winline) { %c4.win = $true }
if (%c4.d.1 $+ %c4.e.2 $+ %c4.f.3 $+ %c4.g.4 == %c4.winline) { %c4.win = $true }
if (%c4.d.2 $+ %c4.e.3 $+ %c4.f.4 $+ %c4.g.5 == %c4.winline) { %c4.win = $true }
if (%c4.d.3 $+ %c4.e.4 $+ %c4.f.5 $+ %c4.g.6 == %c4.winline) { %c4.win = $true }
if (%c4.a.4 $+ %c4.b.3 $+ %c4.c.2 $+ %c4.d.1 == %c4.winline) { %c4.win = $true }
if (%c4.a.5 $+ %c4.b.4 $+ %c4.c.3 $+ %c4.d.2 == %c4.winline) { %c4.win = $true }
if (%c4.a.6 $+ %c4.b.5 $+ %c4.c.4 $+ %c4.d.3 == %c4.winline) { %c4.win = $true }
if (%c4.b.4 $+ %c4.c.3 $+ %c4.d.2 $+ %c4.e.1 == %c4.winline) { %c4.win = $true }
if (%c4.b.5 $+ %c4.c.4 $+ %c4.d.3 $+ %c4.e.2 == %c4.winline) { %c4.win = $true }
if (%c4.b.6 $+ %c4.c.5 $+ %c4.d.4 $+ %c4.e.3 == %c4.winline) { %c4.win = $true }
if (%c4.c.4 $+ %c4.d.3 $+ %c4.e.2 $+ %c4.f.1 == %c4.winline) { %c4.win = $true }
if (%c4.c.5 $+ %c4.d.4 $+ %c4.e.3 $+ %c4.f.2 == %c4.winline) { %c4.win = $true }
if (%c4.c.6 $+ %c4.d.5 $+ %c4.e.4 $+ %c4.f.3 == %c4.winline) { %c4.win = $true }
if (%c4.d.4 $+ %c4.e.3 $+ %c4.f.2 $+ %c4.g.1 == %c4.winline) { %c4.win = $true }
if (%c4.d.5 $+ %c4.e.4 $+ %c4.f.3 $+ %c4.g.2 == %c4.winline) { %c4.win = $true }
if (%c4.d.6 $+ %c4.e.5 $+ %c4.f.4 $+ %c4.g.3 == %c4.winline) { %c4.win = $true }
return %c4.win
}
;;;; Code ;;;;
#c4 off
on *:TEXT:!opt:#:{
ctcpreply $nick TIME -=((*))[ Connect-4 Options ]((*))=-
ctcpreply $nick TIME Type !c4play nick to start game with nick
ctcpreply $nick TIME Type !stop to end the game
ctcpreply $nick TIME Type !credit to show the Credits for Connect-4
ctcpreply $nick TIME Type !rules to show Rules of Connect-4
}
on *:TEXT:!stop:#:{
if ($nick !isop #) { c4info_err $chan Only Owners, hosts, or player can stop the game $nick | halt }
}
on *:TEXT:!credit:#:{
ctcpreply $nick TIME -=((*))[ Connect-4 Game for Mirc (Version 1) ]((*))=-
ctcpreply $nick TIME Released : Sun. Jan, 1st 2006
ctcpreply $nick TIME Created By : St-Obnoxious
}
on *:TEXT:!rules:#:{
ctcpreply $nick TIME -=((*))[ Connect-4 Rules ]((*))=-
ctcpreply $nick TIME Connect-4 is a four-in-a-row variation of Tic-tac-toe.
ctcpreply $nick TIME On each turn you drop one piece down any column that is not already filled.
ctcpreply $nick TIME Drop the piece by typing !p then colum letter (A, B, C, D, F, or G) (ex: !p a)
ctcpreply $nick TIME Any piece you drop will drop to the lowest available spaces in the columns.
ctcpreply $nick TIME The winner is the first to get four in a row (any direction, including diagonals).
}
on *:TEXT:!c4play *:#:{
if (%c4.stat == on) { c4info_err $chan There's a game started .. Please wait that one to finish | halt }
if (!$2) { c4info_err $chan You have to choose an opponent $nick ! | halt }
if ($2 == $nick) { c4info_err $chan You can't challange yourself $nick ! | halt }
if ($2 !ison $chan) { c4info_err $chan Can't find $2 ! | halt }
if ($2 == $me) { c4info_err $chan Not me !! try another one :) | halt }
c4info $chan $nick starts a Connect-4 Game with $2 :)
c4info $chan Type \\ $+ !opt $+ // to show your commands !
set %c4p.1 $nick
set %c4p.2 $2
c4.init
c4 on
showc4
}
on *:TEXT:!p*:#:{
if ($nick != %c4p.1) && ($nick != %c4p.2) { c4info_err $chan You're not a player in this game $nick ! | halt }
if ($2 != $chr(97)) && ($2 != $chr(98)) && ($2 != $chr(99)) && ($2 != $chr(100)) && ($2 != $chr(101)) && ($2 != $chr(102)) && ($2 != $chr(103)) { c4info_err $chan Invalid Column !! | halt }
if ($nick == %c4p.1) && (%c4.turn != 1) { c4info_err $chan It's not your turn $nick ! | halt }
if ($nick == %c4p.2) && (%c4.turn != 2) { c4info_err $chan It's not your turn $nick ! | halt }
if ($checkplace($2) == $true) {
inc %c4.times
c4.checknext
}
}
on *:KICK:#:{
if ($knick == %c4p.1) || ($knick == %c4p.2) {
c4 off
c4info_err $chan Connect-4 Stopped due to kicking of $knick
}
}
on *:PART:#:{
if ($nick == %c4p.1) || ($nick == %c4p.2) {
c4 off
c4info_err $chan Connect-4 Stopped due to leaving of $nick
}
}
on *:JOIN:#:{ ctcpreply $nick TIME Check our new game (*)Connect-4(*) by typing !opt :) }
#c4 end
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...