بازی دوز Tic Tac Toe با زبان اسمبلی

 

Tic Tac Toe با زبان اسمبلی

قیمت :   ۵۰۰۰ تومان ( پنج هزار تومان)

دسته :

پروژه های برنامه نویسی زبان اسمبلی

نوع فایل:

.asm , .exe

توضیحات:



توضیحات :

دوز همواره یکی از بازیهایی است که در زبانهای برنامه‌نویسی مختلف مورد بررسی قرار گرفته و طراحی می‌شود. بازی دوز در حالت عادی از ۹ خانه (سه ردیف و سه ستون) و دو بازیکن که گاهی یکی از آنها کامپیوتر است، و دو مهره به نام‌های X و O برای هر کدام تشکیل می‌شود. پایان بازی زمانی مشخص می‌شود که سه ردیف یا سه ستون یا دو قطر اصلی و فرعی از مهره‌های هم نام تشکیل شود یا اینکه تمام خانه‌ها پر شده باشند.

برای شروع بازی یکی از طرفین به قید قرعه علامت X یا O را که قبلاً انتخاب کرده در یکی از خانه‌های جدول ۹ خانه‌ای قرار می‌دهد. سپس نفر دوم علامت مربوط به خود را در خانه‌های دیگر که هنوز پر نشده‌اند قرار می‌دهد و پس از آن مجدداً نوبت نفر اول خواهد بود.
نقطه پایان بازی در هر مرحله جایی است که یکی از حریفان بتواند علامتی را که در ابتدای بازی انتخاب کرده در یکی از ردیف‌های افقی، عمودی یا قطری قرار دهد و در طول بازی هر یک از طرفین با قرار دادن علامت خود در مقابل علامت‌های حریف نباید اجازه دهند که حریف یک خط عمودی، افقی یا قطری را با علامت خود پر کند.
نام این بازی در ادبیات انگلیسی می‌باشد.

در این پروژه ما این بازی زیبا و جذاب را با زبان برنامه نویسی اسمبلی پیاده سازی و در اختیار شما قرار داده ایم . 

برای مشاهده تصویر با اندازه اصلی روی آن کلیک کنید

برای مشاهده تصویر با اندازه اصلی روی آن کلیک کنید

======

.MODEL SMALL
.DATA
GMSG DB ‘Computer TIC TAC TOE.’,0DH,0AH
DB ‘User is X, computer is O’,0DH,0AH,0DH,0AH,’$’
BOARD DB ‘123456789’
BTXT DB 0DH,0AH
DB ‘ | | ‘,0DH,0AH
DB ‘———‘,0DH,0AH
DB ‘ | | ‘,0DH,0AH
DB ‘———‘,0DH,0AH
DB ‘ | | ‘,0DH,0AH,0DH,0AH,’$’
BPOS DB 2,6,10,24,28,32,46,50,54
PMSG DB ‘Enter your move (0 to 9): $’
PIM1 DB 0DH,0AH,’That move does not make sense, try again.’,0DH,0AH,’$’
PIM2 DB 0DH,0AH,’That square is occupied, try again.’,0DH,0AH,’$’
CMSG DB ‘I choose square $’
CRLF DB 0DH,0AH,’$’
WINS DW 1,2,3, 4,5,6, 7,8,9
DW 1,4,7, 2,5,8, 3,6,9
DW 1,5,9, 3,5,7
XWIN DB ‘X wins the game!’,0DH,0AH,’$’
OWIN DB ‘O wins the game!’,0DH,0AH,’$’
MTIE DB ‘The game is a tie.’,0DH,0AH,’$’

.CODE
.STARTUP
LEA DX,GMSG
MOV AH,9
INT 21H
CALL SHOWBRD
NEXT: CALL PMOVE
CALL SHOWBRD
CALL CHECK
JZ EXIT
CALL CMOVE
CALL SHOWBRD
CALL CHECK
JZ EXIT
JMP NEXT
EXIT: .EXIT

SHOWBRD PROC NEAR
MOV CX,9
SUB SI,SI
LBC: MOV AL,BPOS[SI]
CBW
MOV DI,AX
MOV AL,BOARD[SI]
MOV BTXT[DI],AL
INC SI
LOOP LBC
LEA DX,BTXT
MOV AH,9
INT 21H
RET
SHOWBRD ENDP

PMOVE PROC NEAR
LEA DX,PMSG
MOV AH,9
INT 21H
MOV AH,1
INT 21H
CMP AL,’1′
JC BPM
CMP AL,’9’+1
JNC BPM
SUB AL,31H
CBW
MOV SI,AX
MOV AL,BOARD[SI]
CMP AL,’X’
JZ PSO
CMP AL,’O’
JZ PSO
MOV BOARD[SI],’X’
LEA DX,CRLF
MOV AH,9
INT 21H
RET
BPM: LEA DX,PIM1
STP: MOV AH,9
INT 21H
JMP PMOVE
PSO: LEA DX,PIM2
JMP STP
RET
PMOVE ENDP

CMOVE PROC NEAR
SUB SI,SI
NCM: MOV AL,BOARD[SI]
CMP AL,’X’
JZ STN
CMP AL,’O’
JZ STN
MOV BOARD[SI],’O’
MOV AX,SI
PUSH AX
LEA DX,CMSG
MOV AH,9
INT 21H
POP DX
ADD DL,31H
MOV AH,2
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
RET
STN: INC SI
JMP NCM
CMOVE ENDP

CHECK PROC NEAR
SUB SI,SI
MOV CX,8
CAT: MOV DI,WINS[SI]
MOV AH,BOARD[DI-1]
MOV DI,WINS[SI+2]
MOV BL,BOARD[DI-1]
MOV DI,WINS[SI+4]
MOV BH,BOARD[DI-1]
ADD SI,6
CMP AH,BL
JNZ NMA
CMP AH,BH
JNZ NMA
CMP AH,’X’
JNZ WIO
LEA DX,XWIN
JMP EXC
WIO: LEA DX,OWIN
JMP EXC
NMA: LOOP CAT
SUB SI,SI
CFB: MOV AL,BOARD[SI]
CMP AL,’X’
JZ IAH
CMP AL,’O’
JZ IAH
RET
IAH: INC SI
LOOP CFB
LEA DX,MTIE

 

بازی دوز Tic Tac Toe با زبان اسمبلی

در تمامی ساعات شبانه روز >> پرداخت آنلاین و دانلود آنی فایل پس از پرداخت. 

پذیرش و انجام سفارشات پروژه های شما
شماره تماس پشتیبانی سایت : ۰۹۳۹۲۷۶۱۶۳۰

بازی دوز Tic Tac Toe با زبان اسمبلی

Related posts

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Translate »