基于Arduino Mega 2560 和 STM32F103R6 在SSD1306上实现中国古代数独游戏

该代码片段展示了如何在C++中通过函数`showtable`和`gameplay`绘制数独表格并模拟游戏过程,包括初始布局、数字填充和通过虚拟终端接收用户输入。
摘要由CSDN通过智能技术生成

通过绘制表格和数据填写来完成数独盘面的绘制:

void showtable()//画初始表格和棋盘//LONG:128 HIGH:64
{
	int i = 0, j = 0;
	for (i = 0; i < 20; i++)
	{
		for (j = 0; j < 20; j++)
		{
			f[i][j] = 0;
		}
	}
	/*for(int m=0;m<2;m++)//左侧竖线
	{
		display.drawLine (m , 0  ,m, 64 ,WHITE); 
		display.display();
	}*/
	for (int i = 0; i <= 63; i += 16)
	{
		display.drawLine( 32, i, 96, i,WHITE);
		display.display();
	}
	for (int i = 32; i < 97; i += 16)
	{
		display.drawLine(i, 0, i, 64,WHITE);
		display.display();
	}
	display.drawLine(32, 63, 96, 63,WHITE);
	display.display();
	display.drawCircle(aimstartx, aimstarty, 6,WHITE);    //初始光标
	display.display();
}

void gameplay()
{
	if(flag == 0)
	{
	display.setTextSize(1);
	display.setTextColor(WHITE);
	display.setCursor(startx,starty);    // 1\1
	display.println("2");
	display.display();
	startx= startx + k ;

	display.setTextSize(1);
	display.setTextColor(WHITE);
	display.setCursor(startx,starty);		//1\2
	display.println("3");
	display.display();
	startx = startx + k ;

	display.setTextSize(1);
	display.setTextColor(WHITE);
	display.setCursor(startx,starty);      //1\3
	display.println(" ");
	display.display();
	startx = startx + k ;

	display.setTextSize(1);
	display.setTextColor(WHITE);
	display.setCursor(startx,starty);   //1\4
	display.println("4");
	display.display();
	startx = startx - 3*k ;
	starty = starty + k ;

	display.setTextSize(1);
	display.setTextColor(WHITE);
	display.setCursor(startx,starty);         	//2\1
	display.println("4");
	display.display();
	startx= startx + k ;

	display.setTextSize(1);
	display.setTextColor(WHITE);
	display.setCursor(startx,starty);					//2\2
	display.println("1");
	display.display();
	startx = startx + k ;

	display.setTextSize(1);
	display.setTextColor(WHITE);
	display.setCursor(startx,starty);		//2\3
	display.println("3");
	display.display();
	startx = startx + k ;

	display.setTextSize(1);
	display.setTextColor(WHITE);
	display.setCursor(startx,starty);					//2\4
	display.println("2");
	display.display();
	startx = startx - 3*k ;
	starty = starty + k ;

电路图效果为:

yuh
电路图连线

 实现效果为:

通过虚拟终端来检测输入的字符。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值