#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
#include <stdlib.h>
#include "lcd.h"
#include "bmp.h"
#include "music.h"
#include "touch.h"
#include "word2.h"
#include "WORD.h"
#include "xiangmu.h"
void my_project_bighome()
{
show_pure_color(0xFFFFFF); // 黑色清屏
show_bmp(100, 100, "fengmian.bmp"); // 游戏图标
show_bmp(500, 100, "fengmian2.bmp"); // 游戏图标
Point t;
while (1)
{
get_point(&t);
if (t.x >= 100 && t.x <= 300 && t.y >= 100 && t.y <= 300)//开始游戏
{
my_project_home();
break;
}
if (t.x >= 500 && t.x <= 700 && t.y >= 100 && t.y <= 300)//开始游戏
{
my_project_home2();
break;
}
}
}
void my_project_home2()
{
show_pure_color(0xFFFFFF); // 黑色清屏
show_bmp(0, 0, "zhuomian2.bmp"); // 游戏图标
Point t;
while (1)
{
get_point(&t);
if (t.x >= 0 && t.x <= 800 && t.y >= 0 && t.y <= 480)//开始游戏
{
my_game_ppaa();
break;
}
}
}
void my_game_ppaa()
{
show_pure_color(0xFFFFFF); // 清屏
show_bmp(0, 0, "beijing.bmp"); // 背景图
show_bmp(700, 0, "close.bmp"); // 关闭按钮
show_hanzi(300, 200, 19, 0x000000); // "平"
show_hanzi(340, 200, 19, 0x000000); // "平"
show_hanzi(420, 200, 20, 0x000000); // "安"
show_hanzi(420, 400, 20, 0x000000); // "安"
show_hanzi(300, 400, 1, 0x000000); // "骑"
Point t;
while (1)
{
get_point(&t);
if (t.x >= 420 && t.x <= 450 && t.y >= 400 && t.y <= 430)//回答正确
{
show_bmp(0, 0, "dui.bmp");
sleep(2);
my_game_ggxx();
break;
}
else if(t.x >= 300 && t.x <= 330 && t.y >= 400 && t.y <= 430)//错误
{
show_bmp(0, 0, "cuo.bmp");
sleep(2);
my_game_ppaa();
break;
}
else if (t.x >= 700 && t.x <= 740 && t.y >= 0 && t.y <= 40)//退出
{
my_project_bighome();
break;
}
}
}
void my_game_ggxx()
{
show_pure_color(0xFFFFFF); // 清屏
show_bmp(0, 0, "beijing.bmp"); // 背景图
show_bmp(700, 0, "close.bmp"); // 关闭按钮
show_hanzi(300, 200, 17, 0x000000); // "高"
show_hanzi(340, 200, 17, 0x000000); // "高"
show_hanzi(420, 200, 18, 0x000000); // "兴"
show_hanzi(420, 400, 18, 0x000000); // "兴"
show_hanzi(300, 400, 2, 0x000000); // "虎"
Point t;
while (1)
{
get_point(&t);
if (t.x >= 420 && t.x <= 450 && t.y >= 400 && t.y <= 430)//回答正确
{
show_bmp(0, 0, "dui.bmp");
sleep(2);
my_game_end();
break;
}
else if(t.x >= 300 && t.x <= 330 && t.y >= 400 && t.y <= 430)//错误
{
show_bmp(0, 0, "cuo.bmp");
sleep(2);
my_game_ggxx();
break;
}
else if (t.x >= 700 && t.x <= 740 && t.y >= 0 && t.y <= 40)//退出
{
my_project_bighome();
break;
}
}
}
void my_project_home()
{
show_pure_color(0xFFFFFF); // 黑色清屏
show_bmp(0, 0, "zhuomian.bmp"); // 游戏图标
Point t;
while (1)
{
get_point(&t);
if (t.x >= 0 && t.x <= 800 && t.y >= 0 && t.y <= 480)//开始游戏
{
my_game_qhnx();
break;
}
}
}
void my_game_qhnx()
{
show_pure_color(0xFFFFFF); // 清屏
show_bmp(0, 0, "beijing.bmp"); // 背景图
show_bmp(150, 90, "3.bmp"); // 骑虎难下图片
show_bmp(700, 0, "close.bmp"); // 关闭按钮
show_bmp(700, 150, "xia.bmp"); //下一页
show_hanzi(100, 400, 1, 0x000000); // "骑"
show_hanzi(130, 400, 2, 0x000000); // "虎"
show_hanzi(160, 400, 3, 0x000000); // "难"
show_hanzi(190, 400, 4, 0x000000); // "下"
show_hanzi(600, 400, 2, 0x000000); // "虎"
show_hanzi(630, 400, 15, 0x000000); // "头"
show_hanzi(660, 400, 2, 0x000000); // "虎"
show_hanzi(690, 400, 16, 0x000000); // "脑"
Point t;
while (1)
{
get_point(&t);
if (t.x >= 100 && t.x <= 200 && t.y >= 400 && t.y <= 430)//回答正确
{
show_bmp(0, 0, "dui.bmp");
sleep(2);
my_game_mmhh();
break;
}
else if(t.x >= 600 && t.x <= 700 && t.y >= 400 && t.y <= 430)//错误
{
show_bmp(0, 0, "cuo.bmp");
sleep(2);
//my_game_qhnx();
//break;
}
else if (t.x >= 700 && t.x <= 800 && t.y >= 150 && t.y <= 250)//下一页
{
my_game_mmhh();
break;
}
else if (t.x >= 700 && t.x <= 740 && t.y >= 0 && t.y <= 40)//退出
{
my_project_bighome();
break;
}
}
}
void my_game_mmhh()
{
show_pure_color(0xFFFFFF); // 清屏
show_bmp(0, 0, "beijing.bmp"); // 背景图
show_bmp(150, 90, "4.bmp"); //马马虎虎
show_bmp(700, 0, "close.bmp");
show_bmp(0, 150, "shang.bmp"); // 上一页
show_bmp(700, 150, "xia.bmp"); //下一页
show_hanzi(100, 400, 5, 0x000000); // "马"
show_hanzi(130, 400, 5, 0x000000); // "马"
show_hanzi(160, 400, 2, 0x000000); // "虎"
show_hanzi(190, 400, 2, 0x000000); // "虎"
show_hanzi(600, 400, 0, 0x000000); // "开"
show_hanzi(630, 400, 0, 0x000000); // "开"
show_hanzi(660, 400, 14, 0x000000); // "心"
show_hanzi(690, 400, 14, 0x000000); // "心"
Point t;
while (1)
{
get_point(&t);
if (t.x >= 100 && t.x <= 200 && t.y >= 400 && t.y <= 430)//回答正确
{
show_bmp(0, 0, "dui.bmp");
sleep(2);
my_game_bckr();
break;
}
else if(t.x >= 600 && t.x <= 700 && t.y >= 400 && t.y <= 430)//错误
{
show_bmp(0, 0, "cuo.bmp");
sleep(2);
my_game_mmhh();
break;
}
else if (t.x >= 0 && t.x <= 100 && t.y >= 150 && t.y <= 250)//上一页
{
my_game_qhnx();
break;
}
else if (t.x >= 700 && t.x <= 800 && t.y >= 150 && t.y <= 250)//下一页
{
my_game_bckr();
break;
}
else if (t.x >= 700 && t.x <= 740 && t.y >= 0 && t.y <= 40)//退出
{
my_project_bighome();
break;
}
}
}
void my_game_bckr()
{
show_pure_color(0xFFFFFF); // 清屏
show_bmp(0, 0, "beijing.bmp"); // 背景图
show_bmp(150, 90, "5.bmp"); //病从口入
show_bmp(700, 0, "close.bmp");
show_bmp(0, 150, "shang.bmp"); // 上一页
show_bmp(700, 150, "xia.bmp"); //下一页
show_hanzi(100, 400, 6, 0x000000); // "病"
show_hanzi(130, 400, 7, 0x000000); // "从"
show_hanzi(160, 400, 8, 0x000000); // "口"
show_hanzi(190, 400, 9, 0x000000); // "入"
show_hanzi(600, 400, 19, 0x000000); // "平"
show_hanzi(630, 400, 19, 0x000000); // "平"
show_hanzi(660, 400, 20, 0x000000); // "安"
show_hanzi(690, 400, 20, 0x000000); // "安"
Point t;
while (1)
{
get_point(&t);
if (t.x >= 100 && t.x <= 200 && t.y >= 400 && t.y <= 430)//回答正确
{
show_bmp(0, 0, "dui.bmp");
sleep(2);
my_game_cwbk();
break;
}
else if(t.x >= 600 && t.x <= 700 && t.y >= 400 && t.y <= 430)//错误
{
show_bmp(0, 0, "cuo.bmp");
sleep(2);
my_game_bckr();
break;
}
else if (t.x >= 0 && t.x <= 100 && t.y >= 150 && t.y <= 250)//上一页
{
my_game_mmhh();
break;
}
else if (t.x >= 700 && t.x <= 800 && t.y >= 150 && t.y <= 250)//下一页
{
my_game_cwbk();
break;
}
else if (t.x >= 700 && t.x <= 740 && t.y >= 0 && t.y <= 40)//退出
{
my_project_bighome();
break;
}
}
}
void my_game_cwbk()
{
show_pure_color(0xFFFFFF); // 清屏
show_bmp(0, 0, "beijing.bmp"); // 背景图
show_bmp(150, 90, "6.bmp"); //成王败寇
show_bmp(700, 0, "close.bmp");
show_bmp(0, 150, "shang.bmp"); // 上一页
show_hanzi(100, 400, 10, 0x000000); // "成"
show_hanzi(130, 400, 11, 0x000000); // "王"
show_hanzi(160, 400, 12, 0x000000); // "败"
show_hanzi(190, 400, 13, 0x000000); // "寇"
show_hanzi(600, 400, 17, 0x000000); // "高"
show_hanzi(630, 400, 17, 0x000000); // "高"
show_hanzi(660, 400, 18, 0x000000); // "兴"
show_hanzi(690, 400, 18, 0x000000); // "兴"
Point t;
while (1)
{
get_point(&t);
if (t.x >= 100 && t.x <= 200 && t.y >= 400 && t.y <= 430)//回答正确
{
show_bmp(0, 0, "dui.bmp");
sleep(2);
my_game_end();
break;
}
else if(t.x >= 600 && t.x <= 700 && t.y >= 400 && t.y <= 430)//错误
{
show_bmp(0, 0, "cuo.bmp");
sleep(2);
my_game_cwbk();
break;
}
else if (t.x >= 0 && t.x <= 100 && t.y >= 150 && t.y <= 250)//上一页
{
my_game_bckr();
break;
}
else if (t.x >= 700 && t.x <= 740 && t.y >= 0 && t.y <= 40)//退出
{
my_project_bighome();
break;
}
}
}
void my_game_end()
{
show_pure_color(0xFFFFFF); // 清屏
show_bmp(0, 0, "jieshu.bmp"); // 背景图
sleep(2);
show_hanzi(320, 300, 21, 0xFFFFFF); // "你"
show_hanzi(355, 300, 22, 0xFFFFFF); // "真"
show_hanzi(390, 300, 23, 0xFFFFFF); // "棒"
show_hanzi(420, 300, 24, 0xFFFFFF); // "!"
Point t;
while (1)
{
get_point(&t);
if (t.x >= 0 && t.x <= 800 && t.y >= 0 && t.y <= 480)//退出
{
my_project_bighome();
break;
}
}
}以上是基于C语言的一段代码,但是逻辑上有点不完美,在my_project_home和my_project_home2中,可以尝试加入一个for循环来做到点击xia和shang按钮切换题目界面的功能,同时,在不改变运行效果的情况下,使整体代码变得简洁,请你帮我给出修改后的代码