第三周学习情况

第三周学习总结

函数声明

返回值 函数名(类型 变量名,类型 变量名…);

函数定义

返回值类型 函数名(类型 变量名,类型 变量名…)
{
函数体;
return 数据;
}

函数的调用

函数(数据1,数据2…)
返回值会在函数执行完成后放置在调用的位置。

五子棋

#include<stdio.h>
#include<stdbool.h>
#include<stdlib.h>
#include<getch.h>
//定义棋盘
char board[15][15];
//定义棋盘坐标
char key_x=7,key_y=7;
//定义角色变量
char role='@';
//初始化棋盘
void init_board(void);
//显示棋盘
void show_board(void);
//落子
void get_key(void);
//检测是否有五子
bool cheak_key(void);
//切换角色
void change_role(void);

int main()
{
	init_board();
	while(true)
	{
		show_board();
		get_key();
		if(cheak_key())
		{
			show_board();
			printf("恭喜%c获得胜利",role);
			break;
		}
		change_role();
	}
}
//定义棋盘
void init_board(void)
{
	for(int i=0;i<15;i++)
	{
		for(int j=0;j<15;j++)
			board[i][j]='*';
	}
}
//显示棋盘
void show_board(void)
{
	system("clear");
	for(int i=0;i<15;i++)
	{
		for(int j=0;j<15;j++)
		{	
			printf("%c ",board[i][j]);
		}
		printf("\n");
	}
}
//落子
void get_key(void)
{/*
	printf("请%c输入坐标:",role);
	scanf("%hhd%hhd",&key_x,&key_y);
	if(key_x<15&&key_x>=0&&key_y<15&&key_y>=0&&board[key_x][key_y]=='*')
	{
		board[key_x][key_y]=role;
	}*/
	while(true)
	{
		printf("\33[%hhd;%hhdH",key_x+1,(key_y+1)*2);
		switch(getch())
		{
			case 183:key_x>0&&key_x--;break;
			case 184:key_x<14&&key_x++;break;
			case 185:key_y<14&&key_y++;break;
			case 186:key_y>0&&key_y--;break;
			case 10:if('*'==board[key_x][key_y])
			{
				board[key_x][key_y]=role;
				return;
			}
		}
	}
}
//切换角色
void change_role(void)
{
	if('@'==role)
	{
		role='#';
	}
	else
	{
		role='@';
	}
}

小结

这周上午考试,所以上午的知识没有充分学习,下午听的有点懵。但是还是有很大的收获,下午我初步掌握了函数的声明,定义以及调用,虽然不是很熟练,但是打开了我对于程序新世界的大门。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值