سورس بازی اتللو (Othello) به زبان C

othello game source code in c 7689 تصویر

سورس بازی اتللو (Othello) به زبان C

در این بخش سورس بازی اتللو (Othello) به زبان C را برای شما آماده کرده ایم که با استفاده از نرم افزار DevC++ نسخه ۵٫۱۱ با زبان برنامه نویسی C نوشته شده است. در ادامه می توانید توضیحات، تصاویر و همچنین فیلمی از نحوه اجرا شدن پروژه را مشاهده کنید.

توضیحات پروژه

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

othello game source code in c 7689 5 تصویر

هر یک از دو بازیکن به نوبت یک حرکت انجام می دهند. بهتر است مهره را جایی قرار دهید که یک یا چنده مهره طرف مقابل را محاصره کند. مهره هایی که محاصره شوند، به رنگ مهره های کسی که حرکت کرده است تبدیل می شود. به این ترتیب بازی ادامه می یابد تا زمانی که کل خانه های زمین بازی پر شود. زمانی بازی تمام می شود که همه خانه های بازی پر شده باشند و آن بازیکنی که مهره های بیشتری داشته باشد، برنده بازی محسوب می شود.

شما با مشاهده سورس کد این پروژه جالب می توانید نحوه کار با آرایه های چند بعدی، جا به جایی نشانگر کنسول و غیره را یاد گرفته و مهارت برنامه نویسی خود را ارتقا دهید. برای جا به جا شدن بین خانه ها از کلید جهت دار صفحه کلید (بالا، پایین، چپ و راست) استفاده می شود. نماد مهره سفید کاراکتر O و مهره سیاه کاراکتر # است.

قسمت های از سورس کد

#include <windows.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
const char empty = ' ';
const char white = 'O';
const char black = '#';
const char khanemojaz = '*';
const int ROW = 8;
const int COL = 8;

struct curr
{
int x;
int y;
};
void gotoxy(int x, int y) ;
int jadval[8][8];
int jadvaltemp[8][8];
struct curr jadvalcur[8][8];
void showjadval(void);
void showmap(void);
void showmojaz();
void initcurrjadval();
void setcurr(int x,int y);
void emptyjadval();
int player_change(int player);
void showrankplayer();
void shownobatplayer(int player);
void showmojazplayer(int player);
void getmojazplayer(int player);
void emptyjadvaltemp();
void findmojaz(int player,int x,int y);
void setjadvaltemp(int i,int j,int value);
int ismojaz(int i,int j);
void getkhaneharif(int player,int x,int y);
int getcountmohre(char mohre);
void showwiner(int id);
int testwiner();
HANDLE console;
COORD CursorPosition;
//=========================
int main()
{
  int x1=0,y1=0,winer=0,k,yy;
  int player = 2;
  int ch1,ch2;
  console = GetStdHandle(STD_OUTPUT_HANDLE);
  emptyjadval();
  initcurrjadval();
  while(1)
  {
	system("cls");
	showjadval();
	showrankplayer();
	shownobatplayer(player);
	getmojazplayer(player);
	showmojazplayer(player);
	showwiner(testwiner());
	setcurr(x1,y1);
	while(1)
	{
	    getmojazplayer(player);
		ch1=_getch();
		if(ch1 == 27)  //ESC code
		  return 0;
		else if(ch1 == 13) // enter code
		  {
			if(ismojaz(x1,y1)== 1) {
                getkhaneharif(player,x1,y1);
			}
			player = player_change(player);
			break;
		 }
		if(ch1== 0 || ch1==224);
		  ch2=_getch();
		if(ch2 == 75 && y1>0) //key left
		 y1--;
		else if(ch2 == 77 && y1<7)  //key right
		 y1++;
		else if(ch2 == 72 && x1>0)  //key up
		 x1--;
		else if(ch2 == 80 && x1<7) //key down
		 x1++;
		setcurr(x1,y1);
	}
  }
  return 0;
}
//------------------------------------------
void setcurr(int x,int y)
{
 gotoxy(jadvalcur[x][y].y,jadvalcur[x][y].x);
}
//------------------------------------------
void gotoxy(int x, int y)
{
CursorPosition.X = x; // Locates column
CursorPosition.Y = y; // Locates Row
SetConsoleCursorPosition(console,CursorPosition);
}

نوشته سورس بازی اتللو (Othello) به زبان C اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.

درباره نویسنده: administrator

ممکن است دوست داشته باشید

دیدگاهتان را بنویسید

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