Giter VIP home page Giter VIP logo

a-khakimov / smarttap Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 684 KB

SmartTap - простая логическая настольная игра для двух соперников.

Home Page: https://a-khakimov.github.io/projects/smarttap/SmartTap.html

License: GNU General Public License v3.0

QML 23.02% QMake 3.84% C++ 72.60% TSQL 0.33% Shell 0.20%
qml android qt5 qt cpp model-view-delegate webassembly

smarttap's Introduction

SmartTap

Об игре

Простая настольная игра для двух соперников. Игровое поле имеет форму квадрата 6x6 в котором расположены плитки с цифрами. Целью игры является набрать наибольшее количество очков выбивая плитки из поля. На данный момент реализовано два режима игры

  • Игра против бота
  • Игра двух соперников друг против друга

drawing

Цель разработки данного проекта

  • Освоить разработку приложений с применением C++/QML и библиотек Qt
    • Разделение логики игры и графики путем использования model/view/delegate
  • Научиться компилировать приложения под Android
  • Научиться компилировать приложения под Webasm (SmartTap)
  • Разобраться с публикацией Android приложений в Play Market (SmartTap)
  • Разобраться с встраиванием рекламы в Android приложение

smarttap's People

Contributors

a-khakimov avatar

Watchers

 avatar  avatar

smarttap's Issues

AI - бот

Должен получить текущую позицию, значения доски и сделать ход.

  • Для начала хотя бы рандомный
  • Потом придумать логику бота

Добавить Style

  • светлая/темная тема
  • подобрать адекватные цвета

Логика игры

Есть один существенный недочет

  • игрок может закончить игру выбрав тайл, после которого в колонке/строке у соперника не останется тайлов для выбора

Для решения думаю есть смысл просуммировать значения всех оставщихся тайлов и вычесть из достижений того игрока, который выбрал тайл.

Добавить multiplayer

  • сервер
  • клиент
  • база данных

Тут на самом деле много вопросов.

  • Какую БД использовать? Postgresql?
  • Как связатся с БД? ORM?
  • Как должен работать сервер? Как обеспечить его устойчивость?

Скомпилить под WebAssembly

Вроде как простой способ сделать это - использовать docker-контейнеры с настроенным окружением для сборки

Запустил этот контейнер: https://hub.docker.com/r/maukalinow/qtwasm_builder

$ docker run -t -i -p 8080:3000 madmanfred/qt-webassembly bash

Сборка проходит успешно. Но в браузере вижу ошибку

Qt for WebAssembly: qweew
Application exit with code -1

А в консоли

root@4be9d2d780b1:/src/docker-wasm-src/qweew/build# emrun --no_browser --hostname 172.17.0.2 --port 3000 qweew.html 
Web server root directory: /src/docker-wasm-src/qweew/build
Now listening at http://172.17.0.2:3000/
The html page you are running is not emrun-capable. Stdout, stderr and exit(returncode) capture will not work. Recompile the application with the --emrun linker flag to enable this, or pass --no_emrun_detect to emrun to hide this check.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.